From b264fae6da998eb032462b7287711d891498cd3e Mon Sep 17 00:00:00 2001 From: rfeng Date: Thu, 16 Jul 2009 06:52:55 +0000 Subject: 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 --- .../apache/tuscany/sca/xsd/xml/XSDModelResolver.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'java/sca/modules/xsd/src') 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); } -- cgit v1.2.3