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