You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ra...@apache.org on 2009/04/01 12:34:17 UTC
svn commit: r760849 -
/tuscany/branches/sca-java-1.x/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java
Author: ramkumar
Date: Wed Apr 1 10:34:16 2009
New Revision: 760849
URL: http://svn.apache.org/viewvc?rev=760849&view=rev
Log:
Fixes for TUSCANY-2945, 2947, 2948
Modified:
tuscany/branches/sca-java-1.x/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java
Modified: tuscany/branches/sca-java-1.x/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java
URL: http://svn.apache.org/viewvc/tuscany/branches/sca-java-1.x/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java?rev=760849&r1=760848&r2=760849&view=diff
==============================================================================
--- tuscany/branches/sca-java-1.x/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java (original)
+++ tuscany/branches/sca-java-1.x/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java Wed Apr 1 10:34:16 2009
@@ -85,24 +85,7 @@
public <T> T resolveModel(Class<T> modelClass, T unresolved) {
XSDefinition definition = (XSDefinition)unresolved;
- String namespace = definition.getNamespace();
- XSDefinition resolved = null;
-
- // Lookup for a definition using the non-sca mechanism
- if (definition.getDocument() != null) {
- try {
- List<XSDefinition> list = new ArrayList<XSDefinition>();
- list.add(definition);
- map.put(namespace, list);
- resolved = aggregate(list);
- // no exception thrown, then its resolved.
- if (resolved != null && !resolved.isUnresolved()) {
- return modelClass.cast(resolved);
- }
- } catch (ContributionRuntimeException e) {
- // do nothing, lookup using sca mechanism
- }
- }
+ String namespace = definition.getNamespace();
// Lookup a definition for the given namespace within the
// current contribution.
@@ -115,7 +98,14 @@
modelXSD = list.get(index);
modelXSD.setDocument(definition.getDocument());
}
- }
+ }
+ if (list == null && definition.getDocument() != null) {
+ // Hit for the 1st time
+ list = new ArrayList<XSDefinition>();
+ list.add(definition);
+ map.put(namespace, list);
+ }
+ XSDefinition resolved = null;
try {
resolved = aggregate(list);
} catch (ContributionRuntimeException e) {
@@ -167,14 +157,6 @@
String uri = null;
if (definition.getLocation() != null) {
uri = definition.getLocation().toString();
- }
- for (XmlSchema d : schemaCollection.getXmlSchemas()) {
- if (d.getSourceURI() != null && d.getSourceURI().equals(uri)) {
- definition.setSchemaCollection(schemaCollection);
- definition.setSchema(d);
- definition.setUnresolved(false);
- return;
- }
}
XmlSchema schema = null;
try {