Author: mrglavas
Date: Mon Nov 24 20:18:45 2008
New Revision: 720409

URL: http://svn.apache.org/viewvc?rev=720409&view=rev
Log:
Adding a flag to control the mutability of SchemaGrammars.

Modified:
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java?rev=720409&r1=720408&r2=720409&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
 Mon Nov 24 20:18:45 2008
@@ -102,6 +102,9 @@
     // parsers for annotation support
     private SoftReference fSAXParser = null;
     private SoftReference fDOMParser = null;
+    
+    // is this grammar immutable?  (fully constructed and not changeable)
+    private boolean fIsImmutable = false;
 
     //
     // Constructors
@@ -1298,5 +1301,13 @@
         }
         fAnnotations[fNumAnnotations++] = annotation;
     }
+    
+    public void setImmutable(boolean isImmutable) {
+        fIsImmutable = isImmutable;
+    }
+    
+    public boolean isImmutable() {
+        return fIsImmutable;
+    }
 
 } // class SchemaGrammar

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java?rev=720409&r1=720408&r2=720409&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
 Mon Nov 24 20:18:45 2008
@@ -1010,13 +1010,17 @@
     
     private boolean isExistingGrammar(XSDDescription desc) {
         SchemaGrammar sg = 
fGrammarBucket.getGrammar(desc.getTargetNamespace());
-        if(sg == null) {
+        if (sg == null) {
             return findGrammar(desc) != null;
         }
+        else if (sg.isImmutable()) {
+            return true;
+        }
         else {
             try {
                 return 
sg.getDocumentLocations().contains(XMLEntityManager.expandSystemId(desc.getLiteralSystemId(),
 desc.getBaseSystemId(), false));
-            } catch (MalformedURIException e) {
+            } 
+            catch (MalformedURIException e) {
                 return false;
             }
         }



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

Reply via email to