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 {