Author: mrglavas
Date: Sat Apr 22 19:17:51 2006
New Revision: 396203

URL: http://svn.apache.org/viewcvs?rev=396203&view=rev
Log:
Fixing JIRA Issue #1159:
http://issues.apache.org/jira/browse/XERCESJ-1159

An NPE was being thrown when copying annotations from the base
type to a pattern facet with no annotations. Should be fixed now.

Modified:
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java

Modified: 
xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
URL: 
http://svn.apache.org/viewcvs/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java?rev=396203&r1=396202&r2=396203&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java 
Sat Apr 22 19:17:51 2006
@@ -1411,22 +1411,28 @@
                }
                // inherit pattern
                if ( (fBase.fFacetsDefined & FACET_PATTERN) != 0 ) {
-                       if ((fFacetsDefined & FACET_PATTERN) == 0) {
-                               fPattern = fBase.fPattern;
-                               fPatternStr = fBase.fPatternStr;
-                               fFacetsDefined |= FACET_PATTERN;
-                       }
-                       else {
-                               for (int i = fBase.fPattern.size()-1; i >= 0; 
i--) {
-                                       
fPattern.addElement(fBase.fPattern.elementAt(i));
-                                       
fPatternStr.addElement(fBase.fPatternStr.elementAt(i));
-                               }
-                               if (fBase.patternAnnotations != null){
-                                       for (int i = 
fBase.patternAnnotations.getLength()-1;i>=0;i--){
-                                               
patternAnnotations.add(fBase.patternAnnotations.item(i));
-                                       }
-                               }
-                       }
+                   if ((fFacetsDefined & FACET_PATTERN) == 0) {
+                       fFacetsDefined |= FACET_PATTERN;
+                       fPattern = fBase.fPattern;
+                       fPatternStr = fBase.fPatternStr;
+                       patternAnnotations = fBase.patternAnnotations;
+                   }
+                   else {
+                       for (int i = fBase.fPattern.size()-1; i >= 0; --i) {
+                           fPattern.addElement(fBase.fPattern.elementAt(i));
+                           
fPatternStr.addElement(fBase.fPatternStr.elementAt(i));
+                       }
+                       if (fBase.patternAnnotations != null) {
+                           if (patternAnnotations != null) {
+                               for (int i = 
fBase.patternAnnotations.getLength()-1; i >= 0; --i) {
+                                   
patternAnnotations.add(fBase.patternAnnotations.item(i));
+                               }
+                           }
+                           else {
+                               patternAnnotations = fBase.patternAnnotations;
+                           }
+                       }
+                   }
                }
                // inherit whiteSpace
                if ( (fFacetsDefined & FACET_WHITESPACE) == 0 &&  
(fBase.fFacetsDefined & FACET_WHITESPACE) != 0 ) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to