diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-07-16 06:52:55 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-07-16 06:52:55 +0000 |
commit | b264fae6da998eb032462b7287711d891498cd3e (patch) | |
tree | 9342de7ff260bba4568f5975e49a4d7b7cd58c80 /java/sca/modules/xsd/src | |
parent | ce9150bd4c4880a4032030213de8626c21764bfd (diff) |
Refactor the OSGi discovery service into node-implementation-osgi
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@794553 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/xsd/src')
-rw-r--r-- | java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java b/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java index 3853873896..f9f91202ba 100644 --- a/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java +++ b/java/sca/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java @@ -20,14 +20,14 @@ package org.apache.tuscany.sca.xsd.xml; import java.io.IOException; -import java.net.URL; import java.net.URI; import java.net.URISyntaxException; +import java.net.URL; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Collections; import org.apache.tuscany.sca.contribution.Artifact; import org.apache.tuscany.sca.contribution.Contribution; @@ -148,14 +148,19 @@ public class XSDModelResolver implements ModelResolver { return; } // Read an XSD document - InputSource xsd = XMLDocumentHelper.getInputSource(definition.getLocation().toURL()); + XmlSchema schema = null; for (XmlSchema d : schemaCollection.getXmlSchemas()) { if (d.getTargetNamespace().equals(definition.getNamespace())) { - if (d.getSourceURI().equals(definition.getLocation().toString())) - return; + if (d.getSourceURI().equals(definition.getLocation().toString())) { + schema = d; + break; + } } } - XmlSchema schema = schemaCollection.read(xsd, null); + if (schema == null) { + InputSource xsd = XMLDocumentHelper.getInputSource(definition.getLocation().toURL()); + schema = schemaCollection.read(xsd, null); + } definition.setSchemaCollection(schemaCollection); definition.setSchema(schema); } |