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/04/10 08:21:45 UTC

svn commit: r527042 - in /incubator/tuscany/java/sca/modules: assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ contribution/src/main/java/org/apache/tuscany/services/spi/contribution/

Author: jsdelfino
Date: Mon Apr  9 23:21:44 2007
New Revision: 527042

URL: http://svn.apache.org/viewvc?view=rev&rev=527042
Log:
Simplified the assembly artifact processors a little. Added lazy resolution of interfaces and implementations.

Modified:
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/BaseArtifactProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeDocumentProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeDocumentProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeDocumentProcessor.java
    incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeProcessor.java
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/BaseArtifactProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/BaseArtifactProcessor.java?view=diff&rev=527042&r1=527041&r2=527042
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/BaseArtifactProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/BaseArtifactProcessor.java Mon Apr  9 23:21:44 2007
@@ -46,6 +46,7 @@
 import org.apache.tuscany.assembly.ComponentType;
 import org.apache.tuscany.assembly.ConstrainingType;
 import org.apache.tuscany.assembly.Contract;
+import org.apache.tuscany.assembly.Implementation;
 import org.apache.tuscany.assembly.Multiplicity;
 import org.apache.tuscany.assembly.Property;
 import org.apache.tuscany.assembly.xml.Constants;
@@ -58,6 +59,8 @@
 import org.apache.tuscany.policy.PolicySetAttachPoint;
 import org.apache.tuscany.services.spi.contribution.ArtifactResolver;
 import org.apache.tuscany.services.spi.contribution.ContributionReadException;
+import org.apache.tuscany.services.spi.contribution.ContributionResolveException;
+import org.apache.tuscany.services.spi.contribution.StAXArtifactProcessor;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -70,8 +73,9 @@
  */
 abstract class BaseArtifactProcessor implements Constants {
 
-    private AssemblyFactory factory;
-    private PolicyFactory policyFactory;
+    protected AssemblyFactory factory;
+    protected PolicyFactory policyFactory;
+    protected StAXArtifactProcessor<Object> extensionProcessor;
 
     private static final DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
     static {
@@ -89,9 +93,11 @@
      * @param factory
      * @param policyFactory
      */
-    BaseArtifactProcessor(AssemblyFactory factory, PolicyFactory policyFactory) {
+    @SuppressWarnings("unchecked")
+    BaseArtifactProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor extensionProcessor) {
         this.factory = factory;
         this.policyFactory = policyFactory;
+        this.extensionProcessor = (StAXArtifactProcessor<Object>)extensionProcessor;
     }
 
     /**
@@ -347,23 +353,61 @@
             }
         }
     }
+    
+    /**
+     * Resolve an interface.
+     * @param interfaze
+     * @param resolver
+     * @return
+     * @throws ContributionResolveException
+     */
+    protected Interface resolveInterface(Interface interfaze, ArtifactResolver resolver) throws ContributionResolveException {
+        if (interfaze != null) {
+            interfaze = resolver.resolve(Interface.class, interfaze);
+            if (interfaze.isUnresolved()) {
+                extensionProcessor.resolve(interfaze, resolver);
+                interfaze.setUnresolved(false);
+                resolver.add(interfaze);
+            }
+        }
+        return interfaze;
+    }
+
+    /**
+     * Resolve an implementation.
+     * @param implementation
+     * @param resolver
+     * @return
+     * @throws ContributionResolveException
+     */
+    protected Implementation resolveImplementation(Implementation implementation, ArtifactResolver resolver) throws ContributionResolveException {
+        if (implementation != null) {
+            implementation = resolver.resolve(Implementation.class, implementation);
+            if (implementation.isUnresolved()) {
+                extensionProcessor.resolve(implementation, resolver);
+                implementation.setUnresolved(false);
+                resolver.add(implementation);
+            }
+        }
+        return implementation;
+    }
 
     /**
      * Resolve interface, callback interface and bindings on a list of contracts.
      * @param contracts the list of contracts
      * @param resolver the resolver to use to resolve models
      */
-    protected <C extends Contract> void resolveContract(List<C> contracts, ArtifactResolver resolver) {
+    protected <C extends Contract> void resolveContracts(List<C> contracts, ArtifactResolver resolver) throws ContributionResolveException {
         for (Contract contract: contracts) {
             
             // Resolve interface
             Interface callInterface = contract.getInterface();
-            callInterface = resolver.resolve(Interface.class, callInterface);
+            callInterface = resolveInterface(callInterface, resolver);
             contract.setInterface(callInterface);
     
             // Resolve callback interface 
             Interface callbackInterface = contract.getCallbackInterface();
-            callbackInterface = resolver.resolve(Interface.class, callbackInterface);
+            callbackInterface = resolveInterface(callbackInterface, resolver);
             contract.setCallbackInterface(callbackInterface);
     
             // Resolve bindings
@@ -380,7 +424,7 @@
      * @param contracts the list of contracts
      * @param resolver the resolver to use to resolve models
      */
-    protected <C extends AbstractContract> void resolveAbstractContract(List<C> contracts, ArtifactResolver resolver) {
+    protected <C extends AbstractContract> void resolveAbstractContracts(List<C> contracts, ArtifactResolver resolver) {
         for (AbstractContract contract: contracts) {
             
             // Resolve interface

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeDocumentProcessor.java?view=diff&rev=527042&r1=527041&r2=527042
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeDocumentProcessor.java Mon Apr  9 23:21:44 2007
@@ -46,7 +46,6 @@
  * @version $Rev$ $Date$
  */
 public class ComponentTypeDocumentProcessor extends BaseArtifactProcessor implements URLArtifactProcessor<ComponentType> {
-    private StAXArtifactProcessor<Object> staxProcessor;
     private XMLInputFactory inputFactory;
     
     /**
@@ -55,9 +54,8 @@
      * @param policyFactory
      * @param registry
      */
-    public ComponentTypeDocumentProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor<Object> staxProcessor, XMLInputFactory inputFactory) {
-        super(factory, policyFactory);
-        this.staxProcessor = staxProcessor;
+    public ComponentTypeDocumentProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor staxProcessor, XMLInputFactory inputFactory) {
+        super(factory, policyFactory, staxProcessor);
         this.inputFactory = inputFactory;
     }
     
@@ -65,7 +63,7 @@
      * Constructs a new componentType processor.
      * @param registry
      */
-    public ComponentTypeDocumentProcessor(StAXArtifactProcessor<Object> staxProcessor) {
+    public ComponentTypeDocumentProcessor(StAXArtifactProcessor staxProcessor) {
         this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(), staxProcessor, XMLInputFactory.newInstance());
     }
     
@@ -75,7 +73,7 @@
             urlStream = url.openStream();
             XMLStreamReader reader = inputFactory.createXMLStreamReader(urlStream);
             reader.nextTag();
-            ComponentType componentType = (ComponentType)staxProcessor.read(reader);
+            ComponentType componentType = (ComponentType)extensionProcessor.read(reader);
             return componentType;
             
         } catch (XMLStreamException e) {
@@ -100,11 +98,11 @@
     }
     
     public void resolve(ComponentType componentType, ArtifactResolver resolver) throws ContributionResolveException {
-        staxProcessor.resolve(componentType, resolver);
+        extensionProcessor.resolve(componentType, resolver);
     }
     
     public void wire(ComponentType componentType) throws ContributionWireException {
-        staxProcessor.wire(componentType);
+        extensionProcessor.wire(componentType);
     }
     
     public String getArtifactType() {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeProcessor.java?view=diff&rev=527042&r1=527041&r2=527042
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ComponentTypeProcessor.java Mon Apr  9 23:21:44 2007
@@ -55,8 +55,6 @@
  * @version $Rev$ $Date$
  */
 public class ComponentTypeProcessor extends BaseArtifactProcessor implements StAXArtifactProcessor<ComponentType> {
-    private AssemblyFactory factory;
-    private StAXArtifactProcessor<Object> extensionProcessor;
     
     /**
      * Constructs a new componentType processor.
@@ -64,17 +62,15 @@
      * @param policyFactory
      * @param registry
      */
-    public ComponentTypeProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor<Object> extensionProcessor) {
-        super(factory, policyFactory);
-        this.factory = factory;
-        this.extensionProcessor = extensionProcessor;
+    public ComponentTypeProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor extensionProcessor) {
+        super(factory, policyFactory, extensionProcessor);
     }
     
     /**
      * Constructs a new componentType processor.
      * @param extensionProcessor
      */
-    public ComponentTypeProcessor(StAXArtifactProcessor<Object> extensionProcessor) {
+    public ComponentTypeProcessor(StAXArtifactProcessor extensionProcessor) {
         this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(), extensionProcessor);
     }
     
@@ -263,8 +259,8 @@
     public void resolve(ComponentType componentType, ArtifactResolver resolver) throws ContributionResolveException {
 
         // Resolve component type services and references
-        resolveContract(componentType.getServices(), resolver);
-        resolveContract(componentType.getReferences(), resolver);
+        resolveContracts(componentType.getServices(), resolver);
+        resolveContracts(componentType.getReferences(), resolver);
     }
     
     public void wire(ComponentType model) throws ContributionWireException {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeDocumentProcessor.java?view=diff&rev=527042&r1=527041&r2=527042
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeDocumentProcessor.java Mon Apr  9 23:21:44 2007
@@ -46,7 +46,6 @@
  * @version $Rev$ $Date$
  */
 public class CompositeDocumentProcessor extends BaseArtifactProcessor implements URLArtifactProcessor<Composite> {
-    private StAXArtifactProcessor<Object> staxProcessor;
     private XMLInputFactory inputFactory;
 
     /**
@@ -55,9 +54,8 @@
      * @param policyFactory
      * @param staxProcessor
      */
-    public CompositeDocumentProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor<Object> staxProcessor, XMLInputFactory inputFactory) {
-        super(factory, policyFactory);
-        this.staxProcessor = staxProcessor;
+    public CompositeDocumentProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor staxProcessor, XMLInputFactory inputFactory) {
+        super(factory, policyFactory, staxProcessor);
         this.inputFactory = inputFactory;
     }
 
@@ -65,7 +63,7 @@
      * Construct a new composite processor.
      * @param staxProcessor
      */
-    public CompositeDocumentProcessor(StAXArtifactProcessor<Object> staxProcessor) {
+    public CompositeDocumentProcessor(StAXArtifactProcessor staxProcessor) {
         this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(), staxProcessor, XMLInputFactory.newInstance());
     }
 
@@ -75,7 +73,7 @@
             urlStream = url.openStream();
             XMLStreamReader reader = inputFactory.createXMLStreamReader(urlStream);
             reader.nextTag();
-            Composite composite = (Composite)staxProcessor.read(reader);
+            Composite composite = (Composite)extensionProcessor.read(reader);
             return composite;
             
         } catch (XMLStreamException e) {
@@ -100,11 +98,11 @@
     }
     
     public void resolve(Composite composite, ArtifactResolver resolver) throws ContributionResolveException {
-        staxProcessor.resolve(composite, resolver);
+        extensionProcessor.resolve(composite, resolver);
     }
 
     public void wire(Composite composite) throws ContributionWireException {
-        staxProcessor.wire(composite);
+        extensionProcessor.wire(composite);
     }
 
     public String getArtifactType() {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeProcessor.java?view=diff&rev=527042&r1=527041&r2=527042
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/CompositeProcessor.java Mon Apr  9 23:21:44 2007
@@ -64,8 +64,6 @@
  * @version $Rev$ $Date$
  */
 public class CompositeProcessor extends BaseArtifactProcessor implements StAXArtifactProcessor<Composite> {
-    private AssemblyFactory factory;
-    private StAXArtifactProcessor<Object> extensionProcessor;
 
     /**
      * Construct a new composite processor
@@ -73,17 +71,15 @@
      * @param policyFactory
      * @param extensionProcessor
      */
-    public CompositeProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor<Object> extensionProcessor) {
-        super(factory, policyFactory);
-        this.factory = factory;
-        this.extensionProcessor = extensionProcessor;
+    public CompositeProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor extensionProcessor) {
+        super(factory, policyFactory, extensionProcessor);
     }
 
     /**
      * Construct a new composite processor.
      * @param extensionProcessor
      */
-    public CompositeProcessor(StAXArtifactProcessor<Object> extensionProcessor) {
+    public CompositeProcessor(StAXArtifactProcessor extensionProcessor) {
         this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(), extensionProcessor);
     }
 
@@ -476,25 +472,16 @@
             component.setConstrainingType(constrainingType);
 
             Implementation implementation = component.getImplementation();
-            implementation = resolver.resolve(Implementation.class, implementation);
-            if (implementation.isUnresolved()) {
-                
-                // TODO we need to find a better way to do this
-                // Lazily resolve the implementation
-                extensionProcessor.resolve(implementation, resolver);
-                implementation.setUnresolved(false);
-                resolver.add(implementation);
-            } else {
-                component.setImplementation(implementation);
-            }
+            implementation = resolveImplementation(implementation, resolver);
+            component.setImplementation(implementation);
             
-            resolveContract(component.getServices(), resolver);
-            resolveContract(component.getReferences(), resolver);
+            resolveContracts(component.getServices(), resolver);
+            resolveContracts(component.getReferences(), resolver);
         }
         
         // Resolve composite services and references
-        resolveContract(composite.getServices(), resolver);
-        resolveContract(composite.getReferences(), resolver);
+        resolveContracts(composite.getServices(), resolver);
+        resolveContracts(composite.getReferences(), resolver);
     }
 
     public void wire(Composite composite) throws ContributionWireException {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeDocumentProcessor.java?view=diff&rev=527042&r1=527041&r2=527042
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeDocumentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeDocumentProcessor.java Mon Apr  9 23:21:44 2007
@@ -46,7 +46,6 @@
  * @version $Rev$ $Date$
  */
 public class ConstrainingTypeDocumentProcessor extends BaseArtifactProcessor implements URLArtifactProcessor<ConstrainingType> {
-    private StAXArtifactProcessor<Object> staxProcessor;
     private XMLInputFactory inputFactory;
 
     /**
@@ -55,9 +54,8 @@
      * @param policyFactory
      * @param staxProcessor
      */
-    public ConstrainingTypeDocumentProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor<Object> staxProcessor, XMLInputFactory inputFactory) {
-        super(factory, policyFactory);
-        this.staxProcessor = staxProcessor;
+    public ConstrainingTypeDocumentProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor staxProcessor, XMLInputFactory inputFactory) {
+        super(factory, policyFactory, staxProcessor);
         this.inputFactory = inputFactory;
     }
 
@@ -65,9 +63,8 @@
      * Construct a new constrainingType processor.
      * @param staxProcessor
      */
-    public ConstrainingTypeDocumentProcessor(StAXArtifactProcessor<Object> staxProcessor) {
+    public ConstrainingTypeDocumentProcessor(StAXArtifactProcessor staxProcessor) {
         this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(), staxProcessor, XMLInputFactory.newInstance());
-        this.staxProcessor = staxProcessor;
     }
 
     public ConstrainingType read(URL url) throws ContributionReadException {
@@ -76,7 +73,7 @@
             urlStream = url.openStream();
             XMLStreamReader reader = inputFactory.createXMLStreamReader(urlStream);
             reader.nextTag();
-            ConstrainingType constrainingType = (ConstrainingType)staxProcessor.read(reader);
+            ConstrainingType constrainingType = (ConstrainingType)extensionProcessor.read(reader);
             return constrainingType;
             
         } catch (XMLStreamException e) {
@@ -101,11 +98,11 @@
     }
     
     public void resolve(ConstrainingType constrainingType, ArtifactResolver resolver) throws ContributionResolveException {
-        staxProcessor.resolve(constrainingType, resolver);
+        extensionProcessor.resolve(constrainingType, resolver);
     }
     
     public void wire(ConstrainingType constrainingType) throws ContributionWireException {
-        staxProcessor.wire(constrainingType);
+        extensionProcessor.wire(constrainingType);
     }
 
     public String getArtifactType() {

Modified: incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeProcessor.java?view=diff&rev=527042&r1=527041&r2=527042
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/assembly/xml/impl/ConstrainingTypeProcessor.java Mon Apr  9 23:21:44 2007
@@ -52,8 +52,6 @@
  * @version $Rev$ $Date$
  */
 public class ConstrainingTypeProcessor extends BaseArtifactProcessor implements StAXArtifactProcessor<ConstrainingType> {
-    private AssemblyFactory factory;
-    private StAXArtifactProcessor<Object> extensionProcessor;
 
     /**
      * Construct a new constrainingType processor.
@@ -61,19 +59,16 @@
      * @param policyFactory
      * @param extensionProcessor
      */
-    public ConstrainingTypeProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor<Object> extensionProcessor) {
-        super(factory, policyFactory);
-        this.factory = factory;
-        this.extensionProcessor = extensionProcessor;
+    public ConstrainingTypeProcessor(AssemblyFactory factory, PolicyFactory policyFactory, StAXArtifactProcessor extensionProcessor) {
+        super(factory, policyFactory, extensionProcessor);
     }
 
     /**
      * Construct a new constrainingType processor.
      * @param extensionProcessor
      */
-    public ConstrainingTypeProcessor(StAXArtifactProcessor<Object> extensionProcessor) {
+    public ConstrainingTypeProcessor(StAXArtifactProcessor extensionProcessor) {
         this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(), extensionProcessor);
-        this.extensionProcessor = extensionProcessor;
     }
 
     public ConstrainingType read(XMLStreamReader reader) throws ContributionReadException {
@@ -209,8 +204,8 @@
     public void resolve(ConstrainingType constrainingType, ArtifactResolver resolver) throws ContributionResolveException {
 
         // Resolve component type services and references
-        resolveAbstractContract(constrainingType.getServices(), resolver);
-        resolveAbstractContract(constrainingType.getReferences(), resolver);
+        resolveAbstractContracts(constrainingType.getServices(), resolver);
+        resolveAbstractContracts(constrainingType.getReferences(), resolver);
     }
     
     public void wire(ConstrainingType model) throws ContributionWireException {

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java?view=diff&rev=527042&r1=527041&r2=527042
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/services/spi/contribution/DefaultArtifactResolver.java Mon Apr  9 23:21:44 2007
@@ -36,19 +36,8 @@
         Object resolved = map.get(unresolved);
         if (resolved != null) {
             
-            // If the resolved object is an artifact resolver then delegate the
-            // resolution to it. This allows for nested resolution, for example
-            // first resolve a WSDL document by namespace, then resolve
-            // an XML schema inside it.
-            if (resolved instanceof ArtifactResolver) {
-                ArtifactResolver resolver = (ArtifactResolver)resolved;
-                resolved = resolver.resolve(modelClass, unresolved);
-                return modelClass.cast(resolved);
-            } else {
-                
-                // Return the resolved object
-                return modelClass.cast(resolved);
-            }
+            // Return the resolved object
+            return modelClass.cast(resolved);
         } else {
             
             // Return the unresolved object



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