You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2006/04/23 04:17:54 UTC

svn commit: r396203 - /xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java

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: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org