[jboss-svn-commits] JBoss Common SVN: r2638 - jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 11 22:30:40 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-10-11 22:30:40 -0400 (Thu, 11 Oct 2007)
New Revision: 2638
Modified:
jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/DefaultSchemaResolver.java
Log:
Don't cache a schema binding by namespace if it was located by schemaLocation
Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/DefaultSchemaResolver.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/DefaultSchemaResolver.java 2007-10-11 21:32:07 UTC (rev 2637)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/sunday/unmarshalling/DefaultSchemaResolver.java 2007-10-12 02:30:40 UTC (rev 2638)
@@ -259,6 +259,8 @@
public SchemaBinding resolve(String nsURI, String baseURI, String schemaLocation)
{
boolean trace = log.isTraceEnabled();
+ // Was the schema binding based on the nsURI
+ boolean foundByNS = false;
SchemaBinding schema = schemasByUri.get(nsURI);
if(schema != null)
{
@@ -273,6 +275,8 @@
{
// Next look by namespace
bindingClass = uriToClass.get(nsURI);
+ if(bindingClass != null)
+ foundByNS = true;
}
if (bindingClass != null)
{
@@ -304,6 +308,7 @@
Boolean processAnnotationsBoolean = schemaParseAnnotationsByUri.get(nsURI);
boolean processAnnotations = (processAnnotationsBoolean == null) ? true : processAnnotationsBoolean.booleanValue();
schema = XsdBinder.bind(is.getByteStream(), null, baseURI, processAnnotations);
+ foundByNS = true;
}
}
@@ -316,7 +321,7 @@
schema = sbi.init(schema);
}
- if(schema != null && nsURI.length() > 0 && cacheResolvedSchemas)
+ if(schema != null && nsURI.length() > 0 && cacheResolvedSchemas && foundByNS)
{
if(schemasByUri == Collections.EMPTY_MAP)
{
More information about the jboss-svn-commits
mailing list