Author: veithen
Date: Sat Jan 22 20:26:58 2011
New Revision: 1062259

URL: http://svn.apache.org/viewvc?rev=1062259&view=rev
Log:
Merged/backported r1062248 to the 1.4 branch.

Added:
    
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/test-resources/knownNamespace.xsd
      - copied unchanged from r1062248, 
webservices/xmlschema/trunk/xmlschema-core/src/test/resources/knownNamespace.xsd
    
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/test-resources/xml.xsd
      - copied unchanged from r1062248, 
webservices/xmlschema/trunk/xmlschema-core/src/test/resources/xml.xsd
Modified:
    webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/main/java/  
 (props changed)
    
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
    webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/java/  
 (props changed)
    
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/java/tests/ImportTest.java
    
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/test-resources/
   (props changed)

Propchange: 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/main/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sat Jan 22 20:26:58 2011
@@ -0,0 +1,3 @@
+/webservices/commons/branches/modules/XmlSchema/1.4.6-site-fix/src/main/java:992771-992797
+/webservices/commons/tags/XmlSchema/XmlSchema-1.4.6/src/main/java:938042-992770
+/webservices/xmlschema/trunk/xmlschema-core/src/main/java:1062248

Modified: 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java?rev=1062259&r1=1062258&r2=1062259&view=diff
==============================================================================
--- 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
 (original)
+++ 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java
 Sat Jan 22 20:26:58 2011
@@ -1600,16 +1600,13 @@ public class SchemaBuilder {
                                }
                        }
                };
-               if ((schemaImport.schemaLocation != null)
-                               && (!schemaImport.schemaLocation.equals(""))) {
-                       if (schema.getSourceURI() != null) {
-                               schemaImport.schema = resolveXmlSchema(uri,
-                                               schemaImport.schemaLocation, 
schema.getSourceURI(),
-                                               validator);
-                       } else {
-                               schemaImport.schema = 
resolveXmlSchema(schemaImport.namespace,
-                                               schemaImport.schemaLocation, 
validator);
-                       }
+               if (schema.getSourceURI() != null) {
+                       schemaImport.schema = resolveXmlSchema(uri,
+                                       schemaImport.schemaLocation, 
schema.getSourceURI(),
+                                       validator);
+               } else {
+                       schemaImport.schema = 
resolveXmlSchema(schemaImport.namespace,
+                                       schemaImport.schemaLocation, validator);
                }
                return schemaImport;
        }

Propchange: 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sat Jan 22 20:26:58 2011
@@ -0,0 +1,3 @@
+/webservices/commons/branches/modules/XmlSchema/1.4.6-site-fix/src/test/java:992771-992797
+/webservices/commons/tags/XmlSchema/XmlSchema-1.4.6/src/test/java:938042-992770
+/webservices/xmlschema/trunk/xmlschema-core/src/test/java:1062248

Modified: 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/java/tests/ImportTest.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/java/tests/ImportTest.java?rev=1062259&r1=1062258&r2=1062259&view=diff
==============================================================================
--- 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/java/tests/ImportTest.java
 (original)
+++ 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/java/tests/ImportTest.java
 Sat Jan 22 20:26:58 2011
@@ -22,7 +22,10 @@ package tests;
 import junit.framework.TestCase;
 import org.apache.ws.commons.schema.XmlSchema;
 import org.apache.ws.commons.schema.XmlSchemaCollection;
+import org.apache.ws.commons.schema.XmlSchemaImport;
+import org.apache.ws.commons.schema.XmlSchemaObjectCollection;
 import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
 
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.namespace.QName;
@@ -86,4 +89,21 @@ public class ImportTest extends TestCase
         assertNotNull(schema.getTypeByName(new 
QName("http://soapinterop.org/xsd2","SOAPStruct";)));
         assertNotNull(schema.getElementByName(new 
QName("http://soapinterop.org/xsd2","SOAPWrapper";)));
     }
+    
+    /**
+     * Tests that imports without <tt>schemaLocation</tt> are resolved if the 
corresponding schemas
+     * have been registered using {@link 
XmlSchemaCollection#getKnownNamespaceMap()}.
+     */
+    public void testImportWithKnownNamespace() {
+        XmlSchemaCollection schemaCol = new XmlSchemaCollection();
+        
schemaCol.getKnownNamespaceMap().put("http://www.w3.org/XML/1998/namespace";,
+                new XmlSchemaCollection().read(new 
InputSource(Resources.asURI("xml.xsd")), null));
+        XmlSchema schema = schemaCol.read(new 
InputSource(Resources.asURI("knownNamespace.xsd")), null);
+        XmlSchemaObjectCollection externals = schema.getIncludes();
+        assertEquals(1, externals.getCount());
+        XmlSchemaImport schemaImport = (XmlSchemaImport)externals.getItem(0);
+        assertEquals("http://www.w3.org/XML/1998/namespace";, 
schemaImport.getNamespace());
+        XmlSchema schema2 = schemaImport.getSchema();
+        assertNotNull(schema2);
+    }
 }

Propchange: 
webservices/commons/branches/modules/XmlSchema/1_4_X_BRANCH/src/test/test-resources/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Sat Jan 22 20:26:58 2011
@@ -0,0 +1,3 @@
+/webservices/commons/branches/modules/XmlSchema/1.4.6-site-fix/src/test/test-resources:992771-992797
+/webservices/commons/tags/XmlSchema/XmlSchema-1.4.6/src/test/test-resources:938042-992770
+/webservices/xmlschema/trunk/xmlschema-core/src/test/resources:1062248


Reply via email to