You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2010/08/05 13:47:57 UTC

svn commit: r982552 - /ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObjectFactory.java

Author: vanto
Date: Thu Aug  5 11:47:57 2010
New Revision: 982552

URL: http://svn.apache.org/viewvc?rev=982552&view=rev
Log:
Logging schema violations as warnings if strict validation is turned off.

Modified:
    ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObjectFactory.java

Modified: ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObjectFactory.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObjectFactory.java?rev=982552&r1=982551&r2=982552&view=diff
==============================================================================
--- ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObjectFactory.java (original)
+++ ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObjectFactory.java Thu Aug  5 11:47:57 2010
@@ -289,6 +289,11 @@ public class BpelObjectFactory {
         private static final Log __log = LogFactory.getLog(BOMSAXErrorHandler.class);
         
     	private boolean ok = true;
+    	private boolean strict = false;
+    	
+    	public BOMSAXErrorHandler(boolean strict) {
+    	    this.strict = strict;
+    	}
     	
     	private String formatException(SAXParseException exception) {
     		return exception.getPublicId() + ":" + exception.getSystemId() + ":" + exception.getLineNumber() + ":" + exception.getColumnNumber() + ":" + exception.getMessage();
@@ -296,13 +301,21 @@ public class BpelObjectFactory {
     	
     	public boolean wasOK() { return ok; }
 		public void error(SAXParseException exception) throws SAXException {
-			ok=false;
-			__log.error(formatException(exception));
+			ok = false;
+			if (strict) {
+			    __log.error(formatException(exception));
+			} else {
+			    __log.warn(formatException(exception));
+			}
 		}
 
 		public void fatalError(SAXParseException exception) throws SAXException {
-			ok=false;
-			__log.fatal(formatException(exception));
+			ok = false;
+			if (strict) {
+			    __log.fatal(formatException(exception));    
+			} else {
+			    __log.warn(formatException(exception));
+			}
 		}
 
 		public void warning(SAXParseException exception) throws SAXException {
@@ -341,10 +354,12 @@ public class BpelObjectFactory {
 		XMLParserUtils.addExternalSchemaURL(_xr, Bpel20QNames.NS_WSBPEL2_0, Bpel20QNames.NS_WSBPEL2_0);
 		XMLParserUtils.addExternalSchemaURL(_xr, Bpel20QNames.NS_WSBPEL2_0_FINAL_EXEC, Bpel20QNames.NS_WSBPEL2_0_FINAL_EXEC);
 		XMLParserUtils.addExternalSchemaURL(_xr, Bpel20QNames.NS_WSBPEL2_0_FINAL_ABSTRACT, Bpel20QNames.NS_WSBPEL2_0_FINAL_ABSTRACT);
-        BOMSAXErrorHandler errorHandler = new BOMSAXErrorHandler();
+        
+		boolean strict = Boolean.parseBoolean(System.getProperty("org.apache.ode.compiler.failOnValidationErrors", "false")); 
+		BOMSAXErrorHandler errorHandler = new BOMSAXErrorHandler(strict);
         _xr.setErrorHandler(errorHandler);
         _xr.parse(isrc);
-        if (Boolean.parseBoolean(System.getProperty("org.apache.ode.compiler.failOnValidationErrors", "false"))) {
+        if (strict) {
 	        if (!errorHandler.wasOK()) {
 	        	throw new SAXException("Validation errors during parsing");
 	        }