You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2006/08/29 10:05:08 UTC

svn commit: r438001 - /webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java

Author: dims
Date: Tue Aug 29 01:05:07 2006
New Revision: 438001

URL: http://svn.apache.org/viewvc?rev=438001&view=rev
Log:
prevent NPE's if parentMetaInf is not available

Modified:
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java?rev=438001&r1=438000&r2=438001&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java Tue Aug 29 01:05:07 2006
@@ -571,7 +571,7 @@
             String javaName = makeUniqueJavaClassName(propertyNames, xmlName);
             XSLTUtils.addAttribute(model, "javaname", javaName, property);
 
-            if (metainf.isRestriction() && missingQNames.contains(name)) {
+            if (parentMetaInf != null && metainf.isRestriction() && missingQNames.contains(name)) {
             	javaClassNameForElement = parentMetaInf.getClassNameForQName(name);
             }
             else {
@@ -650,7 +650,7 @@
             XSLTUtils.addAttribute(model, "minOccurs", minOccurs + "", property);
             
             //in the case the original element is an array but the derived one is not.
-            if (metainf.isRestriction() && !missingQNames.contains(name) &&
+            if (parentMetaInf != null && metainf.isRestriction() && !missingQNames.contains(name) &&
                (parentMetaInf.getArrayStatusForQName(name) && !metainf.getArrayStatusForQName(name))) {
             	
             	XSLTUtils.addAttribute(model, "rewrite", "yes", property);
@@ -746,8 +746,8 @@
 
     private void addMissingQNames(BeanWriterMetaInfoHolder metainf, ArrayList qName, ArrayList missingQNames) {
     	
-    	QName[] qNames;
-        QName[] pQNames;
+    	QName[] qNames = null;
+        QName[] pQNames = null;
         
         BeanWriterMetaInfoHolder parentMetaInf = metainf.getParent();
         
@@ -757,14 +757,16 @@
             qNames = metainf.getQNameArray();
         }
         
-        if (parentMetaInf.isOrdered()) {
-            pQNames = parentMetaInf.getOrderedQNameArray();
-        } else {
-            pQNames = parentMetaInf.getQNameArray();
+        if (parentMetaInf != null) {
+            if (parentMetaInf.isOrdered()) {
+                pQNames = parentMetaInf.getOrderedQNameArray();
+            } else {
+                pQNames = parentMetaInf.getQNameArray();
+            }
         }
         
         
-        for (int i=0; i < pQNames.length; i++) {
+        for (int i=0; pQNames != null && i < pQNames.length; i++) {
        		if (qNameNotFound(pQNames[i], metainf)) {
        			missingQNames.add(pQNames[i]);
        		}
@@ -804,7 +806,7 @@
     	
     	BeanWriterMetaInfoHolder parentMetainf = metainf.getParent(); 
         
-    	if (!missingQNames.contains(qname)) {
+    	if (parentMetainf != null && !missingQNames.contains(qname)) {
     		
     		if (parentMetainf.isOrdered()) {
     			pQNames = parentMetainf.getOrderedQNameArray();
@@ -846,7 +848,7 @@
     	
     	BeanWriterMetaInfoHolder parentMetainf = metainf.getParent(); 
         	
-    	if (!missingQNames.contains(qname)) {
+    	if (parentMetainf != null && !missingQNames.contains(qname)) {
     		
     		if (parentMetainf.isOrdered()) {
     			pQNames = parentMetainf.getOrderedQNameArray();
@@ -877,7 +879,7 @@
     	
     	BeanWriterMetaInfoHolder parentMetainf = metainf.getParent();
     	
-    	if (!missingQNames.contains(qname)) {	
+    	if (parentMetainf != null && !missingQNames.contains(qname)) {	
     		if (parentMetainf.isOrdered()) {
     			pQNames = parentMetainf.getOrderedQNameArray();
     		} else {



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