You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/07/27 18:31:50 UTC

svn commit: r560306 - in /incubator/tuscany/java/sca/modules: assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ contribution-impl/src/main/java/org/apache/tuscany/sca/contrib...

Author: jsdelfino
Date: Fri Jul 27 09:31:44 2007
New Revision: 560306

URL: http://svn.apache.org/viewvc?view=rev&rev=560306
Log:
Changed the implementation of model type specific model resolvers to handle the model resolution in a model type specific way instead of delegating to the base DefaultModelResolver, for example index models by their qname or namespace. Removed dependency on ClassLoader in these resolvers as it was just dragged from DefaultModelResolver. The new resolvers do not need to extend DefaultModelResolver anymore. Further cleanup will be required when the Java class model resolver is available, as DefaultModelResolver and ExtensibleModelResolver won't have to handle classes as a special case anymore.

Modified:
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestModelResolver.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java
    incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
    incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleArtifactResolverTestCase.java
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java
    incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java
    incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java
    incubator/tuscany/java/sca/modules/distributed/src/test/java/ReadDocumentTestCase.java
    incubator/tuscany/java/sca/modules/distributed/src/test/java/TestModelResolver.java
    incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java
    incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/XSDModelResolver.java
    incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/DefaultWSDLInterfaceIntrospectorTestCase.java
    incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/TestModelResolver.java
    incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLOperationTestCase.java
    incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WrapperStyleOperationTestCase.java
    incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/ReadDocumentTestCase.java
    incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/TestModelResolver.java

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java Fri Jul 27 09:31:44 2007
@@ -19,54 +19,64 @@
 
 package org.apache.tuscany.sca.assembly.xml;
 
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.Import;
 import org.apache.tuscany.sca.contribution.NamespaceImport;
-import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 
 /**
- * An Model Resolver for Composite artifact types.
+ * A Model Resolver for Composite models.
  *
  * @version $Rev: 557916 $ $Date: 2007-07-20 01:04:40 -0700 (Fri, 20 Jul 2007) $
  */
-public class CompositeModelResolver extends DefaultModelResolver {
+public class CompositeModelResolver implements ModelResolver {
 
-    public CompositeModelResolver(ClassLoader cl, Contribution contribution) {
-        super(cl,contribution);
+    private Contribution contribution;
+    private Map<QName, Composite> map = new HashMap<QName, Composite>();
+    
+    public CompositeModelResolver(Contribution contribution) {
+        this.contribution = contribution;
     }
 
-    private Composite resolveImportedModel(Composite unresolved) {
-        Composite resolved = unresolved;
-        String namespace = unresolved.getName().getNamespaceURI();
+    public void addModel(Object resolved) {
+        Composite composite = (Composite)resolved;
+        map.put(composite.getName(), composite);
+    }
+    
+    public Object removeModel(Object resolved) {
+        return map.remove(((Composite)resolved).getName());
+    }
+    
+    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+        
+        // Lookup a definition for the given namespace
+        QName qname = ((Composite)unresolved).getName();
+        Composite resolved = (Composite) map.get(qname);
+        if (resolved != null) {
+            return (T)resolved;
+        }
+        
+        // No definition found, delegate the resolution to the imports
         for (Import import_ : this.contribution.getImports()) {
             if (import_ instanceof NamespaceImport) {
                 NamespaceImport namespaceImport = (NamespaceImport)import_;
-                if (namespaceImport.getNamespace().equals(namespace)) {
+                if (namespaceImport.getNamespace().equals(qname.getNamespaceURI())) {
                     
                     // Delegate the resolution to the import resolver
-                    resolved = namespaceImport.getModelResolver().resolveModel(Composite.class, unresolved);
-                    
-                    // If resolved... then we are done
-                    if(resolved.isUnresolved() == false) {
-                        break;
+                    resolved = namespaceImport.getModelResolver().resolveModel(Composite.class, (Composite)unresolved);
+                    if (!resolved.isUnresolved()) {
+                        return (T)resolved;
                     }
                 }
             }
         }
-        return resolved;
+        return (T)unresolved;
     }
-    
-    @Override
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
-        Composite resolved = (Composite) super.resolveModel(modelClass, unresolved);
-
-        if (resolved.isUnresolved()) {
-            resolved = resolveImportedModel(resolved);
-        }
-        
-        return (T)resolved;
-    }
-    
     
 }

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java Fri Jul 27 09:31:44 2007
@@ -19,54 +19,64 @@
 
 package org.apache.tuscany.sca.assembly.xml;
 
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
 import org.apache.tuscany.sca.assembly.ConstrainingType;
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.Import;
 import org.apache.tuscany.sca.contribution.NamespaceImport;
-import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 
 /**
- * An Model Resolver for ConstrainigType artifact types.
+ * A Model Resolver for ConstrainingType models.
  *
  * @version $Rev: 557916 $ $Date: 2007-07-20 01:04:40 -0700 (Fri, 20 Jul 2007) $
  */
-public class ConstrainingTypeModelResolver extends DefaultModelResolver {
+public class ConstrainingTypeModelResolver implements ModelResolver {
 
-    public ConstrainingTypeModelResolver(ClassLoader cl, Contribution contribution) {
-        super(cl,contribution);
+    private Contribution contribution;
+    private Map<QName, ConstrainingType> map = new HashMap<QName, ConstrainingType>();
+    
+    public ConstrainingTypeModelResolver(Contribution contribution) {
+        this.contribution = contribution;
     }
 
-    private ConstrainingType resolveImportedModel(ConstrainingType unresolved) {
-        ConstrainingType resolved = unresolved;
-        String namespace = unresolved.getName().getNamespaceURI();
+    public void addModel(Object resolved) {
+        ConstrainingType composite = (ConstrainingType)resolved;
+        map.put(composite.getName(), composite);
+    }
+    
+    public Object removeModel(Object resolved) {
+        return map.remove(((ConstrainingType)resolved).getName());
+    }
+    
+    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+        
+        // Lookup a definition for the given namespace
+        QName qname = ((ConstrainingType)unresolved).getName();
+        ConstrainingType resolved = (ConstrainingType) map.get(qname);
+        if (resolved != null) {
+            return (T)resolved;
+        }
+        
+        // No definition found, delegate the resolution to the imports
         for (Import import_ : this.contribution.getImports()) {
             if (import_ instanceof NamespaceImport) {
                 NamespaceImport namespaceImport = (NamespaceImport)import_;
-                if (namespaceImport.getNamespace().equals(namespace)) {
+                if (namespaceImport.getNamespace().equals(qname.getNamespaceURI())) {
                     
                     // Delegate the resolution to the import resolver
-                    resolved = import_.getModelResolver().resolveModel(ConstrainingType.class, unresolved);
-                    
-                    // If resolved... then we are done
-                    if(resolved.isUnresolved() == false) {
-                        break;
+                    resolved = namespaceImport.getModelResolver().resolveModel(ConstrainingType.class, (ConstrainingType)unresolved);
+                    if (!resolved.isUnresolved()) {
+                        return (T)resolved;
                     }
                 }
             }
         }
-        return resolved;
+        return (T)unresolved;
     }
-    
-    @Override
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
-        ConstrainingType resolved = (ConstrainingType) super.resolveModel(modelClass, unresolved);
-
-        if (resolved.isUnresolved()) {
-            resolved = resolveImportedModel(resolved);
-        }
-        
-        return (T)resolved;
-    }
-    
     
 }

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java Fri Jul 27 09:31:44 2007
@@ -72,7 +72,7 @@
         documentProcessors.addArtifactProcessor(new ComponentTypeDocumentProcessor(staxProcessor, inputFactory));
         documentProcessors.addArtifactProcessor(new ConstrainingTypeDocumentProcessor(staxProcessor, inputFactory));
 
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
     }
 
     public void tearDown() throws Exception {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java Fri Jul 27 09:31:44 2007
@@ -60,7 +60,7 @@
         inputFactory = XMLInputFactory.newInstance();
         staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
         staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance());
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
     }
 
     public void tearDown() throws Exception {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestModelResolver.java Fri Jul 27 09:31:44 2007
@@ -35,7 +35,7 @@
     
     private Map<Object, Object> map = new HashMap<Object, Object>();
     
-    public TestModelResolver(ClassLoader classLoader) {
+    public TestModelResolver() {
     }
 
     public <T> T resolveModel(Class<T> modelClass, T unresolved) {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java Fri Jul 27 09:31:44 2007
@@ -61,7 +61,7 @@
         inputFactory = XMLInputFactory.newInstance();
         staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
         staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance());
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
         assemblyFactory = new DefaultAssemblyFactory();
         scaBindingFactory = new DefaultSCABindingFactory();
         policyFactory = new DefaultPolicyFactory();

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java Fri Jul 27 09:31:44 2007
@@ -69,7 +69,7 @@
         staxProcessors.addArtifactProcessor(new CompositeProcessor(assemblyFactory, policyFactory, mapper, staxProcessor));
         staxProcessors.addArtifactProcessor(new ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
         staxProcessors.addArtifactProcessor(new ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
     }
 
     public void tearDown() throws Exception {

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java Fri Jul 27 09:31:44 2007
@@ -264,9 +264,9 @@
         //initialize contribution based on it's metadata if available
         Contribution contribution = readContributionMetadata(locationURL);
         
-        //create contribution model resolver
+        // Create contribution model resolver
         if (modelResolver == null) {
-            modelResolver = new ExtensibleModelResolver(this.modelResolverExtensionPoint, getClass().getClassLoader(), contribution);
+            modelResolver = new ExtensibleModelResolver(contribution, modelResolverExtensionPoint);
         }
         
         //set contribution initial information

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleArtifactResolverTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleArtifactResolverTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleArtifactResolverTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleArtifactResolverTestCase.java Fri Jul 27 09:31:44 2007
@@ -1,4 +1,4 @@
-/*
+ /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -41,7 +41,7 @@
         resolverExtensionPoint = new DefaultModelResolverExtensionPoint();
         resolverExtensionPoint.addResolver(Model.class, DefaultModelResolver.class);
         
-        resolver = new ExtensibleModelResolver(resolverExtensionPoint, getClass().getClassLoader(), null);
+        resolver = new ExtensibleModelResolver(null, resolverExtensionPoint);
 
         factory = new ContributionFactoryImpl();
     }

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java Fri Jul 27 09:31:44 2007
@@ -25,81 +25,133 @@
 
 import org.apache.tuscany.sca.contribution.Contribution;
 
-public class ExtensibleModelResolver extends DefaultModelResolver implements ModelResolver {
-    private final ModelResolverExtensionPoint resolverRegistry;
+/**
+ * An implementation of an extensible model resolver which delegates to the
+ * proper resolver extension based on the class of the model to resolve.
+ *
+ * @version $Rev: $ $Date: $
+ */
+public class ExtensibleModelResolver implements ModelResolver {
+    private final ModelResolverExtensionPoint resolvers;
+    private final Contribution contribution;
     private final Map<Class<?>, ModelResolver> resolverInstances = new HashMap<Class<?>, ModelResolver>();
-    
+    private Map<Object, Object> map = new HashMap<Object, Object>();
 
-    public ExtensibleModelResolver(ModelResolverExtensionPoint resolverRegistry, ClassLoader cl, Contribution contribution) {
-        super(cl, contribution);
-        this.resolverRegistry = resolverRegistry; 
-        initializeModelResolverInstances();
+    /**
+     * Constructs an extensible model resolver
+     * @param resolvers
+     * @param contribution
+     */
+    public ExtensibleModelResolver(Contribution contribution, ModelResolverExtensionPoint resolvers) {
+        this.contribution = contribution;
+        this.resolvers = resolvers;
     }
     
     /**
-     * Finds the proper resolver instance based on the interfaces of the model
+     * Returns the proper resolver instance based on the interfaces of the model
      * @param modelType
      * @return
      */
-    private ModelResolver getResolverInstance(Class<?> modelType) {
+    private ModelResolver getModelResolverInstance(Class<?> modelType) {
         Class<?>[] classes = modelType.getInterfaces();
         for (Class<?> c : classes) {
+            
+            // Look up a model resolver instance for the model class
             ModelResolver resolverInstance = resolverInstances.get(c);
             if (resolverInstance != null) {
                 return resolverInstance;
             }
-        }
-        
-        
-        
-        return resolverInstances.get(modelType);
-    }
-    
-    private void initializeModelResolverInstances() {
-        for (Class<?> resolverType : resolverRegistry.getResolverTypes()) {
-            Class<? extends ModelResolver> resolverInstanceType = resolverRegistry.getResolver(resolverType);
-            
-            ModelResolver resolverInstance = null;
-            try {
-                Constructor constructor = resolverInstanceType.getConstructor(new Class[]{ClassLoader.class, Contribution.class});
-                if (constructor != null) {
-                    resolverInstance = (ModelResolver) constructor.newInstance(this.classLoader.get(), this.contribution);
-                } else {
-                    resolverInstance = (ModelResolver) resolverInstanceType.newInstance();
-                }
-            } catch(Exception ex) {
-                //ignore, will use default resolver
-            } 
-            
-            resolverInstances.put(resolverType,  resolverInstance);
             
+            // We don't have an instance, lookup a model resolver class
+            // and instantiate it
+            Class<? extends ModelResolver> resolverClass = resolvers.getResolver(c);
+            if (resolverClass != null) {
+                try {
+                    Constructor<? extends ModelResolver> constructor = resolverClass.getConstructor(new Class[]{Contribution.class});
+                    if (constructor != null) {
+                        
+                        // Construct the model resolver instance and cache it
+                        resolverInstance = constructor.newInstance(this.contribution);
+                        resolverInstances.put(c, resolverInstance);
+                        return resolverInstance;
+                    }
+                } catch (Exception e) {
+                    throw new IllegalStateException(e);
+                } 
+            }
         }
+        return null;
     }
     
     public void addModel(Object resolved) {
-        ModelResolver resolver = getResolverInstance(resolved.getClass());
+        ModelResolver resolver = getModelResolverInstance(resolved.getClass());
         if (resolver != null) {
             resolver.addModel(resolved);
         } else {
-            super.addModel(resolved);
+            map.put(resolved, resolved);
         }
     }
 
     public Object removeModel(Object resolved) {
-        ModelResolver resolver = getResolverInstance(resolved.getClass());
+        ModelResolver resolver = getModelResolverInstance(resolved.getClass());
         if (resolver != null) {
             return resolver.removeModel(resolved);
         } else {
-            return super.removeModel(resolved);
+            return map.remove(resolved);
         }
     }
     
+    //FIXME Replace this by a simple map lookup when the
+    // Java resolver is in place
+    public <T> T tempResolveModel(Class<T> modelClass, T unresolved) {
+        Object resolved = map.get(unresolved);
+        if (resolved != null) {
+            
+            // Return the resolved object
+            return modelClass.cast(resolved);
+            
+        } else if (unresolved instanceof ClassReference) {
+            
+            // Load a class on demand
+            ClassReference classReference = (ClassReference)unresolved;
+            Class clazz;
+            try {
+                clazz = Class.forName(classReference.getClassName(), true, Thread.currentThread().getContextClassLoader());
+            } catch (ClassNotFoundException e) {
+                
+                // Return the unresolved object
+                return unresolved;
+            }
+            
+            // Store a new ClassReference wrappering the loaded class
+            resolved = new ClassReference(clazz);
+            map.put(resolved, resolved);
+            
+            // Return the resolved ClassReference
+            return modelClass.cast(resolved);
+                
+        } else {
+            
+            // Return the unresolved object
+            return unresolved;
+        }
+    }
+
+    
     public <T> T resolveModel(Class<T> modelClass, T unresolved) {
-        ModelResolver resolver = getResolverInstance(unresolved.getClass());
+        ModelResolver resolver = getModelResolverInstance(unresolved.getClass());
         if (resolver != null) {
             return resolver.resolveModel(modelClass, unresolved);
         } else {
-            return super.resolveModel(modelClass, unresolved);
+            //FIXME Replace this by a simple map lookup when the
+            // Java resolver is in place
+            Object resolved = tempResolveModel(modelClass, unresolved);
+            if (resolved != null) {
+                // Return the resolved object
+                return modelClass.cast(resolved);
+            } else {
+                return unresolved;
+            }
         }
     }
 }

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java Fri Jul 27 09:31:44 2007
@@ -19,7 +19,6 @@
 
 package org.apache.tuscany.sca.contribution.resolver;
 
-import java.util.Collection;
 
 /**
  * An extension point for Model Resolvers
@@ -50,11 +49,4 @@
      * @return The model resolver Class
      */
     Class <? extends ModelResolver> getResolver(Class<?> modelType);
-    
-    /**
-     * Retrieve a list registered Model Resolvers Classes
-     * 
-     * @return The list of registered Model Resolvers Class
-     */
-    Collection<Class<?>> getResolverTypes();
 }

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java Fri Jul 27 09:31:44 2007
@@ -58,7 +58,7 @@
         assertFalse(inited);
         ImportSDO importSDO = loader.read(reader);
         assertNotNull(importSDO);
-        loader.resolve(importSDO, new TestModelResolver(getClass().getClassLoader()));
+        loader.resolve(importSDO, new TestModelResolver());
         assertTrue(inited);
     }
 

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java Fri Jul 27 09:31:44 2007
@@ -35,7 +35,7 @@
     
     private Map<Object, Object> map = new HashMap<Object, Object>();
     
-    public TestModelResolver(ClassLoader classLoader) {
+    public TestModelResolver() {
     }
 
     public <T> T resolveModel(Class<T> modelClass, T unresolved) {

Modified: incubator/tuscany/java/sca/modules/distributed/src/test/java/ReadDocumentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/distributed/src/test/java/ReadDocumentTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/distributed/src/test/java/ReadDocumentTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/distributed/src/test/java/ReadDocumentTestCase.java Fri Jul 27 09:31:44 2007
@@ -26,11 +26,9 @@
 
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.ConstrainingType;
 import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
 import org.apache.tuscany.sca.assembly.xml.ComponentTypeDocumentProcessor;
 import org.apache.tuscany.sca.assembly.xml.ComponentTypeProcessor;
-import org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor;
 import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
 import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeDocumentProcessor;
 import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeProcessor;
@@ -76,7 +74,7 @@
         documentProcessors.addArtifactProcessor(new ComponentTypeDocumentProcessor(staxProcessor, inputFactory));
         documentProcessors.addArtifactProcessor(new ConstrainingTypeDocumentProcessor(staxProcessor, inputFactory));
 
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
     }
 
     public void tearDown() throws Exception {

Modified: incubator/tuscany/java/sca/modules/distributed/src/test/java/TestModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/distributed/src/test/java/TestModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/distributed/src/test/java/TestModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/distributed/src/test/java/TestModelResolver.java Fri Jul 27 09:31:44 2007
@@ -16,7 +16,7 @@
     
     private Map<Object, Object> map = new HashMap<Object, Object>();
     
-    public TestModelResolver(ClassLoader classLoader) {
+    public TestModelResolver() {
     }
 
     public <T> T resolveModel(Class<T> modelClass, T unresolved) {

Modified: incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java Fri Jul 27 09:31:44 2007
@@ -19,53 +19,61 @@
 
 package org.apache.tuscany.sca.interfacedef.wsdl.xml;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.Import;
 import org.apache.tuscany.sca.contribution.NamespaceImport;
-import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
 
 /**
- * An Model Resolver for WSDL artifact types.
+ * A Model Resolver for WSDL models.
  *
  * @version $Rev: 557916 $ $Date: 2007-07-20 01:04:40 -0700 (Fri, 20 Jul 2007) $
  */
-public class WSDLModelResolver extends DefaultModelResolver {
-
-    public WSDLModelResolver(ClassLoader cl, Contribution contribution) {
-        super(cl,contribution);
+public class WSDLModelResolver implements ModelResolver {
+    private Contribution contribution;
+    private Map<String, WSDLDefinition> map = new HashMap<String, WSDLDefinition>();
+    
+    public WSDLModelResolver(Contribution contribution) {
+        this.contribution = contribution;
     }
 
-    private WSDLDefinition resolveImportedModel(WSDLDefinition unresolved) {
-        WSDLDefinition resolved = unresolved;
-        String namespace = unresolved.getNamespace();
+    public void addModel(Object resolved) {
+        WSDLDefinition definition = (WSDLDefinition)resolved;
+        map.put(definition.getNamespace(), definition);
+    }
+    
+    public Object removeModel(Object resolved) {
+        return map.remove(((WSDLDefinition)resolved).getNamespace());
+    }
+    
+    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+        
+        // Lookup a definition for the given namespace
+        String namespace = ((WSDLDefinition)unresolved).getNamespace();
+        WSDLDefinition resolved = (WSDLDefinition) map.get(namespace);
+        if (resolved != null) {
+            return (T)resolved;
+        }
+        
+        // No definition found, delegate the resolution to the imports
         for (Import import_ : this.contribution.getImports()) {
             if (import_ instanceof NamespaceImport) {
                 NamespaceImport namespaceImport = (NamespaceImport)import_;
                 if (namespaceImport.getNamespace().equals(namespace)) {
                     
                     // Delegate the resolution to the import resolver
-                    resolved = namespaceImport.getModelResolver().resolveModel(WSDLDefinition.class, unresolved);
-                    
-                    // If resolved... then we are done
-                    if (resolved.isUnresolved() == false) {
-                        break;
+                    resolved = namespaceImport.getModelResolver().resolveModel(WSDLDefinition.class, (WSDLDefinition)unresolved);
+                    if (!resolved.isUnresolved()) {
+                        return (T)resolved;
                     }
                 }
             }
         }
-        return resolved;
-    }
-    
-    @Override
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
-        WSDLDefinition resolved = (WSDLDefinition) super.resolveModel(modelClass, unresolved);
-
-        if (resolved.isUnresolved()) {
-            resolved = resolveImportedModel(resolved);
-        }
-        
-        return (T)resolved;
+        return (T)unresolved;
     }
     
 }

Modified: incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/XSDModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/XSDModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/XSDModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/XSDModelResolver.java Fri Jul 27 09:31:44 2007
@@ -19,55 +19,61 @@
 
 package org.apache.tuscany.sca.interfacedef.wsdl.xml;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.Import;
 import org.apache.tuscany.sca.contribution.NamespaceImport;
-import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver;
-import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.interfacedef.wsdl.XSDefinition;
 
 /**
- * An Model Resolver for WSDL artifact types.
+ * A Model Resolver for XSD models.
  *
  * @version $Rev: 557916 $ $Date: 2007-07-20 01:04:40 -0700 (Fri, 20 Jul 2007) $
  */
-public class XSDModelResolver extends DefaultModelResolver {
-
-    public XSDModelResolver(ClassLoader cl, Contribution contribution) {
-        super(cl,contribution);
+public class XSDModelResolver implements ModelResolver {
+    private Contribution contribution;
+    private Map<String, XSDefinition> map = new HashMap<String, XSDefinition>();
+    
+    public XSDModelResolver(Contribution contribution) {
+        this.contribution = contribution;
     }
 
-    private XSDefinition resolveImportedModel(XSDefinition unresolved) {
-        XSDefinition resolved = unresolved;
-        String namespace = unresolved.getNamespace();
+    public void addModel(Object resolved) {
+        XSDefinition definition = (XSDefinition)resolved;
+        map.put(definition.getNamespace(), definition);
+    }
+    
+    public Object removeModel(Object resolved) {
+        return map.remove(((XSDefinition)resolved).getNamespace());
+    }
+    
+    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+        
+        // Lookup a definition for the given namespace
+        String namespace = ((XSDefinition)unresolved).getNamespace();
+        XSDefinition resolved = (XSDefinition) map.get(namespace);
+        if (resolved != null) {
+            return (T)resolved;
+        }
+        
+        // No definition found, delegate the resolution to the imports
         for (Import import_ : this.contribution.getImports()) {
             if (import_ instanceof NamespaceImport) {
                 NamespaceImport namespaceImport = (NamespaceImport)import_;
                 if (namespaceImport.getNamespace().equals(namespace)) {
                     
                     // Delegate the resolution to the import resolver
-                    resolved = namespaceImport.getModelResolver().resolveModel(XSDefinition.class, unresolved);
-                    
-                    // If resolved... then we are done
-                    if(resolved.isUnresolved() == false) {
-                        break;
+                    resolved = namespaceImport.getModelResolver().resolveModel(XSDefinition.class, (XSDefinition)unresolved);
+                    if (!resolved.isUnresolved()) {
+                        return (T)resolved;
                     }
                 }
             }
         }
-        return resolved;
+        return (T)unresolved;
     }
-    
-    @Override
-    public <T> T resolveModel(Class<T> modelClass, T unresolved) {
-        XSDefinition resolved = (XSDefinition) super.resolveModel(modelClass, unresolved);
-
-        if (resolved.isUnresolved()) {
-            resolved = resolveImportedModel(resolved);
-        }
-        
-        return (T)resolved;
-    }
-    
     
 }

Modified: incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/DefaultWSDLInterfaceIntrospectorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/DefaultWSDLInterfaceIntrospectorTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/DefaultWSDLInterfaceIntrospectorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/DefaultWSDLInterfaceIntrospectorTestCase.java Fri Jul 27 09:31:44 2007
@@ -56,7 +56,7 @@
     protected void setUp() throws Exception {
         super.setUp();
         registry = new WSDLDocumentProcessor(new DefaultWSDLFactory(), null);
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
         URL url = getClass().getResource("../xml/stockquote.wsdl");
         definition = registry.read(null, new URI("stockquote.wsdl"), url);
         portType = definition.getDefinition().getPortType(PORTTYPE_NAME);

Modified: incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/TestModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/TestModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/TestModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/TestModelResolver.java Fri Jul 27 09:31:44 2007
@@ -35,7 +35,7 @@
     
     private Map<Object, Object> map = new HashMap<Object, Object>();
     
-    public TestModelResolver(ClassLoader classLoader) {
+    public TestModelResolver() {
     }
 
     public <T> T resolveModel(Class<T> modelClass, T unresolved) {

Modified: incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLOperationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLOperationTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLOperationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLOperationTestCase.java Fri Jul 27 09:31:44 2007
@@ -55,7 +55,7 @@
     protected void setUp() throws Exception {
         super.setUp();
         processor = new WSDLDocumentProcessor(new DefaultWSDLFactory(), null);
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
         wsdlFactory = new DefaultWSDLFactory();
     }
 

Modified: incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WrapperStyleOperationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WrapperStyleOperationTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WrapperStyleOperationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WrapperStyleOperationTestCase.java Fri Jul 27 09:31:44 2007
@@ -51,7 +51,7 @@
     protected void setUp() throws Exception {
         super.setUp();
         registry = new WSDLDocumentProcessor(new DefaultWSDLFactory(), null);
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
         wsdlFactory = new DefaultWSDLFactory();
     }
 

Modified: incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/ReadDocumentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/ReadDocumentTestCase.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/ReadDocumentTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/ReadDocumentTestCase.java Fri Jul 27 09:31:44 2007
@@ -27,26 +27,17 @@
 import junit.framework.TestCase;
 
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
-import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
-import org.apache.tuscany.sca.assembly.xml.ComponentTypeDocumentProcessor;
-import org.apache.tuscany.sca.assembly.xml.ComponentTypeProcessor;
-import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeDocumentProcessor;
-import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeProcessor;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
-import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
-import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
-import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.topology.Component;
 import org.apache.tuscany.sca.topology.DefaultTopologyFactory;
 import org.apache.tuscany.sca.topology.Node;
 import org.apache.tuscany.sca.topology.Runtime;
 import org.apache.tuscany.sca.topology.Scheme;
-import org.apache.tuscany.sca.topology.Component;
 import org.apache.tuscany.sca.topology.TopologyFactory;
 
 /**
@@ -75,7 +66,7 @@
         XMLInputFactory inputFactory = XMLInputFactory.newInstance(); 
         documentProcessors.addArtifactProcessor(new TopologyDocumentProcessor(staxProcessor, inputFactory));
 
-        resolver = new TestModelResolver(getClass().getClassLoader());
+        resolver = new TestModelResolver();
     }
 
     public void tearDown() throws Exception {

Modified: incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/TestModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/TestModelResolver.java?view=diff&rev=560306&r1=560305&r2=560306
==============================================================================
--- incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/TestModelResolver.java (original)
+++ incubator/tuscany/java/sca/modules/topology-xml/src/test/java/org/apache/tuscany/sca/topology/xml/TestModelResolver.java Fri Jul 27 09:31:44 2007
@@ -35,7 +35,7 @@
     
     private Map<Object, Object> map = new HashMap<Object, Object>();
     
-    public TestModelResolver(ClassLoader classLoader) {
+    public TestModelResolver() {
     }
 
     public <T> T resolveModel(Class<T> modelClass, T unresolved) {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org