[jboss-svn-commits] JBL Code SVN: r8353 - labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Dec 15 13:00:47 EST 2006


Author: ddegroff
Date: 2006-12-15 13:00:45 -0500 (Fri, 15 Dec 2006)
New Revision: 8353

Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorImpl.java
Log:


Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorImpl.java	2006-12-15 17:06:24 UTC (rev 8352)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/XmlValidatorImpl.java	2006-12-15 18:00:45 UTC (rev 8353)
@@ -67,6 +67,7 @@
     @SuppressWarnings("unused")
 	private InputSource xmlSource, validationSource;
 
+    private String defaultSchema = "etc/schemas/xml/jbossesb-1.0.xsd";
     /**
      * The path separator
       */
@@ -75,16 +76,25 @@
     
     private boolean isValid = true;
     
-		private Collection<String> validationResults = new HashSet();
+    private Collection<String> validationResults = new HashSet();
 
     private Document xmlDocument;
     
-  public XmlValidatorImpl() {
-  }
+    public XmlValidatorImpl() {
+    	File defaultSchemaFile = new File (defaultSchema);
+    	if (defaultSchemaFile.exists()) {
+    		log.warn("defaultSchema "+defaultSchema+" exists");
+    	}
+    }
   
-  public XmlValidatorImpl(InputSource xmlSource) {
+    public XmlValidatorImpl(InputSource xmlSource) {
 		setXMLDocument(xmlSource);		
-  }
+
+		File defaultSchemaFile = new File (defaultSchema);
+    	if (defaultSchemaFile.exists()) {
+    		log.warn("defaultSchema "+defaultSchema+" exists");
+    	}
+    }
   
     /**
      * Validation method used to validate an xml file against a default xsd (jbossesb.xsd).
@@ -93,7 +103,6 @@
      * @throws XmlValidatorException Failure during validation.
      */
 	public boolean validate(InputSource xmlSource) throws XmlValidatorException {
-		String defaultSchema = "jbossesb-1.0.xsd";
 		StreamSource validationInputSource = null;
 		
 		InputStream validationInputStream = this.getClass().getResourceAsStream(defaultSchema);
@@ -130,38 +139,51 @@
     try {
       SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
       if (validationSource == null) {
-		    Source schemaFile = new StreamSource("jbossesb.xsd");
-			  try {
-			  	schema = factory.newSchema(schemaFile);
-    		} catch (SAXException e) {
+		Source schemaFile = new StreamSource(defaultSchema);
+		try {
+			schema = factory.newSchema(schemaFile);
+    	} catch (SAXException e) {
       		log.error("Failed to validate xml",e);
       		isValid = false;
-    		}
     	}
-    	else {
+      }
+      else {
       	schema = factory.newSchema(validationSource);
       }
+      
       // Request validation
       Validator validator = schema.newValidator();
+      
       // Register the error handler
       validator.setErrorHandler(new XmlErrorHandler());
       
+	  DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
+	  builderFactory.setValidating(true);
+	  builderFactory.setNamespaceAware(true);
+	  DocumentBuilder parser = null;
+	  
+	  try {
+		  parser = builderFactory.newDocumentBuilder();
+      } catch (ParserConfigurationException e) {
+	  	  log.error("ParserConfigurationException occurred: " + e.getMessage()); 
+		  isValid = false;
+	  }
+      
       try {
-	      DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
-  	    DocumentBuilder parser = builderFactory.newDocumentBuilder();
-      	xmlDocument = parser.parse(xmlSource); 
-    
-        validator.validate(new DOMSource(xmlDocument));
-      } catch (SAXException e) {
-        log.error("Failed to validate xml",e);
+    	xmlDocument = parser.parse(xmlSource); 
+      } catch (IOException e) {
+    	log.error("parser.parse(): IOException occurred: " + e.getMessage()); 
+    	log.error(e);
   	    isValid = false;
-	    } catch (ParserConfigurationException e) {
-  	    log.error("ParserConfigurationException occurred: " + e.getMessage()); 
-	      isValid = false;
+      }      
+      
+      try {
+    	  validator.validate(new DOMSource(xmlDocument));
       } catch (IOException e) {
-  	    log.error("IOException occurred: " + e.getMessage()); 
-	      isValid = false;
-    	}      
+      	log.error("validator.validate(): IOException occurred: " + e.getMessage()); 
+      	log.error(e);
+    	    isValid = false;
+        }      
     } catch (SAXException e) {
       log.error("SAXException occurred: " + e.getMessage());
       isValid = false;
@@ -193,7 +215,6 @@
   }
 
 	public Collection<String> getValidationResults() {
-		log.error("getValidationResults() = "+validationResults.size());
 		return validationResults;
 	}
 




More information about the jboss-svn-commits mailing list