You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2007/05/03 20:56:57 UTC

svn commit: r534960 - /webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/CodeGenerationUtility.java

Author: dims
Date: Thu May  3 11:56:56 2007
New Revision: 534960

URL: http://svn.apache.org/viewvc?view=rev&rev=534960
Log:
don't throw NPE, set the error listener for logging all the problems

Modified:
    webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/CodeGenerationUtility.java

Modified: webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/CodeGenerationUtility.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/CodeGenerationUtility.java?view=diff&rev=534960&r1=534959&r2=534960
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/CodeGenerationUtility.java (original)
+++ webservices/axis2/trunk/java/modules/jaxbri/src/org/apache/axis2/jaxbri/CodeGenerationUtility.java Thu May  3 11:56:56 2007
@@ -18,6 +18,7 @@
 
 import com.sun.codemodel.JCodeModel;
 import com.sun.codemodel.writer.FileCodeWriter;
+import com.sun.tools.xjc.api.ErrorListener;
 import com.sun.tools.xjc.api.Mapping;
 import com.sun.tools.xjc.api.S2JJAXBModel;
 import com.sun.tools.xjc.api.SchemaCompiler;
@@ -28,9 +29,12 @@
 import org.apache.axis2.wsdl.databinding.DefaultTypeMapper;
 import org.apache.axis2.wsdl.databinding.JavaTypeMapper;
 import org.apache.axis2.wsdl.databinding.TypeMapper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.ws.commons.schema.XmlSchema;
 import org.w3c.dom.Element;
 import org.xml.sax.InputSource;
+import org.xml.sax.SAXParseException;
 
 import javax.xml.namespace.QName;
 import java.io.ByteArrayOutputStream;
@@ -43,6 +47,7 @@
 import java.util.Vector;
 
 public class CodeGenerationUtility {
+    private static final Log log = LogFactory.getLog(CodeGenerationUtility.class);
 
     /**
      * @param additionalSchemas
@@ -96,10 +101,31 @@
                 }
                 sc.setDefaultPackageName(pkg);
 
+                sc.setErrorListener(new ErrorListener(){
+                    public void error(SAXParseException saxParseException) {
+                        log.error(saxParseException.getMessage(), saxParseException);
+                    }
+
+                    public void fatalError(SAXParseException saxParseException) {
+                        log.error(saxParseException.getMessage(), saxParseException);
+                    }
+
+                    public void warning(SAXParseException saxParseException) {
+                        log.warn(saxParseException.getMessage(), saxParseException);
+                    }
+
+                    public void info(SAXParseException saxParseException) {
+                        log.info(saxParseException.getMessage(), saxParseException);
+                    }
+                });
                 sc.parseSchema((InputSource)xmlObjectsVector.elementAt(i));
 
                 // Bind the XML
                 S2JJAXBModel jaxbModel = sc.bind();
+
+                if(jaxbModel == null){
+                    throw new RuntimeException("Unable to generate code using jaxbri");
+                }
 
                 // Emit the code artifacts
                 JCodeModel codeModel = jaxbModel.generateCode(null, null);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org