summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/xsd/src
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-07-16 06:52:55 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-07-16 06:52:55 +0000
commitb264fae6da998eb032462b7287711d891498cd3e (patch)
tree9342de7ff260bba4568f5975e49a4d7b7cd58c80 /java/sca/modules/xsd/src
parentce9150bd4c4880a4032030213de8626c21764bfd (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.java17
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);
}