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/29 01:52:28 UTC

svn commit: r533445 [2/4] - in /incubator/tuscany/java/sca: itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ modules/assembly-java-dsl/src/main/java/org/apache/tuscany/assembly/builder/impl/ modules/assembly-xml/src/main/java/...

Modified: incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-xml/src/main/java/org/apache/tuscany/binding/ws/xml/WebServiceBindingProcessor.java Sat Apr 28 16:52:22 2007
@@ -33,12 +33,10 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.tuscany.assembly.AssemblyFactory;
-import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.assembly.xml.BaseArtifactProcessor;
 import org.apache.tuscany.assembly.xml.Constants;
 import org.apache.tuscany.binding.ws.WebServiceBinding;
 import org.apache.tuscany.binding.ws.WebServiceBindingFactory;
-import org.apache.tuscany.binding.ws.impl.DefaultWebServiceBindingFactory;
 import org.apache.tuscany.contribution.processor.StAXArtifactProcessorExtension;
 import org.apache.tuscany.contribution.resolver.ArtifactResolver;
 import org.apache.tuscany.contribution.service.ContributionReadException;
@@ -50,11 +48,8 @@
 import org.apache.tuscany.interfacedef.wsdl.WSDLFactory;
 import org.apache.tuscany.interfacedef.wsdl.WSDLInterface;
 import org.apache.tuscany.interfacedef.wsdl.WSDLInterfaceContract;
-import org.apache.tuscany.interfacedef.wsdl.impl.DefaultWSDLFactory;
-import org.apache.tuscany.interfacedef.wsdl.introspect.DefaultWSDLInterfaceIntrospector;
 import org.apache.tuscany.interfacedef.wsdl.introspect.WSDLInterfaceIntrospector;
 import org.apache.tuscany.policy.PolicyFactory;
-import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
 
 public class WebServiceBindingProcessor extends BaseArtifactProcessor implements
     StAXArtifactProcessorExtension<WebServiceBinding>, WebServiceConstants {
@@ -74,12 +69,6 @@
         this.wsdlFactory = wsdlFactory;
     }
 
-    public WebServiceBindingProcessor() {
-        this(new DefaultAssemblyFactory(), new DefaultPolicyFactory(), new DefaultWebServiceBindingFactory(),
-             new DefaultWSDLFactory(), new DefaultWSDLInterfaceIntrospector());
-
-    }
-
     public WebServiceBinding read(XMLStreamReader reader) throws ContributionReadException {
         try {
 
@@ -224,7 +213,7 @@
     }
 
     public void resolve(WebServiceBinding model, ArtifactResolver resolver) throws ContributionResolveException {
-        WSDLDefinition wsdlDefinition = new DefaultWSDLFactory().createWSDLDefinition();
+        WSDLDefinition wsdlDefinition = wsdlFactory.createWSDLDefinition();
         wsdlDefinition.setUnresolved(true);
         wsdlDefinition.setNamespace(model.getNamespace());
         wsdlDefinition = resolver.resolve(WSDLDefinition.class, wsdlDefinition);

Modified: incubator/tuscany/java/sca/modules/binding-ws-xml/src/test/java/org/apache/tuscany/binding/ws/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-xml/src/test/java/org/apache/tuscany/binding/ws/xml/ReadTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-xml/src/test/java/org/apache/tuscany/binding/ws/xml/ReadTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-xml/src/test/java/org/apache/tuscany/binding/ws/xml/ReadTestCase.java Sat Apr 28 16:52:22 2007
@@ -35,9 +35,15 @@
 import org.apache.tuscany.assembly.util.CompositeUtil;
 import org.apache.tuscany.assembly.xml.ComponentTypeProcessor;
 import org.apache.tuscany.assembly.xml.CompositeProcessor;
+import org.apache.tuscany.binding.ws.WebServiceBindingFactory;
+import org.apache.tuscany.binding.ws.impl.DefaultWebServiceBindingFactory;
 import org.apache.tuscany.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
+import org.apache.tuscany.interfacedef.wsdl.WSDLFactory;
+import org.apache.tuscany.interfacedef.wsdl.impl.DefaultWSDLFactory;
+import org.apache.tuscany.interfacedef.wsdl.introspect.DefaultWSDLInterfaceIntrospector;
+import org.apache.tuscany.interfacedef.wsdl.introspect.WSDLInterfaceIntrospector;
 import org.apache.tuscany.policy.PolicyFactory;
 import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
 
@@ -53,6 +59,9 @@
     private AssemblyFactory factory;
     private PolicyFactory policyFactory;
     private InterfaceContractMapper mapper;
+    private WebServiceBindingFactory wsFactory;
+    private WSDLInterfaceIntrospector introspector;
+    private WSDLFactory wsdlFactory;
 
     public void setUp() throws Exception {
         factory = new DefaultAssemblyFactory();
@@ -60,8 +69,14 @@
         mapper = new DefaultInterfaceContractMapper();
         inputFactory = XMLInputFactory.newInstance();
         staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
+        wsFactory = new DefaultWebServiceBindingFactory();
+        wsdlFactory = new DefaultWSDLFactory();
+        
+        introspector = new DefaultWSDLInterfaceIntrospector(wsdlFactory);
 
-        WebServiceBindingProcessor wsdlProcessor = new WebServiceBindingProcessor();
+        WebServiceBindingProcessor wsdlProcessor = new WebServiceBindingProcessor(
+                                                                                  factory, policyFactory, wsFactory,
+                                                                                  wsdlFactory, introspector);
         staxProcessors.addExtension(wsdlProcessor);
     }
 

Modified: incubator/tuscany/java/sca/modules/binding-ws-xml/src/test/java/org/apache/tuscany/binding/ws/xml/WriteTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-xml/src/test/java/org/apache/tuscany/binding/ws/xml/WriteTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-xml/src/test/java/org/apache/tuscany/binding/ws/xml/WriteTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-xml/src/test/java/org/apache/tuscany/binding/ws/xml/WriteTestCase.java Sat Apr 28 16:52:22 2007
@@ -33,9 +33,15 @@
 import org.apache.tuscany.assembly.xml.ComponentTypeProcessor;
 import org.apache.tuscany.assembly.xml.CompositeProcessor;
 import org.apache.tuscany.assembly.xml.ConstrainingTypeProcessor;
+import org.apache.tuscany.binding.ws.WebServiceBindingFactory;
+import org.apache.tuscany.binding.ws.impl.DefaultWebServiceBindingFactory;
 import org.apache.tuscany.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
+import org.apache.tuscany.interfacedef.wsdl.WSDLFactory;
+import org.apache.tuscany.interfacedef.wsdl.impl.DefaultWSDLFactory;
+import org.apache.tuscany.interfacedef.wsdl.introspect.DefaultWSDLInterfaceIntrospector;
+import org.apache.tuscany.interfacedef.wsdl.introspect.WSDLInterfaceIntrospector;
 import org.apache.tuscany.policy.PolicyFactory;
 import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
 
@@ -51,6 +57,9 @@
     private AssemblyFactory factory;
     private PolicyFactory policyFactory;
     private InterfaceContractMapper mapper;
+    private WebServiceBindingFactory wsFactory;
+    private WSDLInterfaceIntrospector introspector;
+    private WSDLFactory wsdlFactory;
 
     public void setUp() throws Exception {
         factory = new DefaultAssemblyFactory();
@@ -58,12 +67,17 @@
         mapper = new DefaultInterfaceContractMapper();
         inputFactory = XMLInputFactory.newInstance();
         staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
+        wsFactory = new DefaultWebServiceBindingFactory();
+        introspector = new DefaultWSDLInterfaceIntrospector(wsdlFactory);
+        wsdlFactory = new DefaultWSDLFactory();
 
         staxProcessors.addExtension(new CompositeProcessor(factory, policyFactory, mapper, staxProcessors));
         staxProcessors.addExtension(new ComponentTypeProcessor(factory, policyFactory, staxProcessors));
         staxProcessors.addExtension(new ConstrainingTypeProcessor(factory, policyFactory, staxProcessors));
 
-        WebServiceBindingProcessor wsdlProcessor = new WebServiceBindingProcessor();
+        WebServiceBindingProcessor wsdlProcessor = new WebServiceBindingProcessor(
+                                                                                  factory, policyFactory, wsFactory,
+                                                                                  wsdlFactory, introspector);
         staxProcessors.addExtension(wsdlProcessor);
     }
 

Modified: incubator/tuscany/java/sca/modules/binding-ws/src/main/java/org/apache/tuscany/binding/ws/impl/WebServiceBindingImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws/src/main/java/org/apache/tuscany/binding/ws/impl/WebServiceBindingImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws/src/main/java/org/apache/tuscany/binding/ws/impl/WebServiceBindingImpl.java (original)
+++ incubator/tuscany/java/sca/modules/binding-ws/src/main/java/org/apache/tuscany/binding/ws/impl/WebServiceBindingImpl.java Sat Apr 28 16:52:22 2007
@@ -47,8 +47,10 @@
     private String endpointName;
     private WSDLDefinition wsdlDefinition;
     private String wsdlNamespace;
-    
     private InterfaceContract bindingInterfaceContract;
+    
+    protected WebServiceBindingImpl() {
+    }
     
     public String getLocation() {
         return location;

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionMetadataLoaderImpl.java Sat Apr 28 16:52:22 2007
@@ -27,8 +27,8 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.Composite;
-import org.apache.tuscany.assembly.impl.CompositeImpl;
 import org.apache.tuscany.contribution.Contribution;
 import org.apache.tuscany.contribution.ContributionImport;
 import org.apache.tuscany.contribution.service.ContributionMetadataLoader;
@@ -50,9 +50,11 @@
     private static final QName IMPORT = new QName(SCA10_NS, "import");
     private static final QName EXPORT = new QName(SCA10_NS, "export");
     
+    private AssemblyFactory assemblyFactory;
 
-    public ContributionMetadataLoaderImpl() {
+    public ContributionMetadataLoaderImpl(AssemblyFactory assemblyFactory) {
         super();
+        this.assemblyFactory = assemblyFactory;
     }
 
     public QName getXMLType() {
@@ -92,7 +94,7 @@
                             compositeName = new QName(getString(reader, TARGET_NAMESPACE), localPart, prefix);
                         }
 
-                        Composite composite = new CompositeImpl();
+                        Composite composite = assemblyFactory.createComposite();
                         composite.setName(compositeName);
                         composite.setUnresolved(true);
                         

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/contribution/service/impl/ContributionServiceImpl.java Sat Apr 28 16:52:22 2007
@@ -33,6 +33,7 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.Composite;
 import org.apache.tuscany.contribution.Contribution;
 import org.apache.tuscany.contribution.DeployedArtifact;
@@ -86,7 +87,8 @@
     public ContributionServiceImpl(ContributionRepository repository,
                                    PackageProcessorExtension packageProcessor,
                                    URLArtifactProcessorExtension artifactProcessor,
-                                   ArtifactResolver artifactResolver) {
+                                   ArtifactResolver artifactResolver,
+                                   AssemblyFactory assemblyFactory) {
         super();
         this.contributionRepository = repository;
         this.packageProcessor = packageProcessor;
@@ -94,7 +96,7 @@
         this.artifactResolver = artifactResolver;
 
         this.xmlFactory = XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory", getClass().getClassLoader());
-        this.contributionLoader = new ContributionMetadataLoaderImpl();
+        this.contributionLoader = new ContributionMetadataLoaderImpl(assemblyFactory);
     }
 
     public void contribute(URI contributionURI, URL sourceURL, boolean storeInRepository) throws ContributionException,

Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/contribution/services/ContributionMetadataLoaderTestCase.java Sat Apr 28 16:52:22 2007
@@ -26,6 +26,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.contribution.Contribution;
 import org.apache.tuscany.contribution.service.impl.ContributionMetadataLoaderImpl;
 import org.apache.tuscany.contribution.service.impl.InvalidValueException;
@@ -62,7 +63,7 @@
 
     public void testLoad() throws Exception {
         XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(VALID_XML));
-        ContributionMetadataLoaderImpl loader = new ContributionMetadataLoaderImpl();
+        ContributionMetadataLoaderImpl loader = new ContributionMetadataLoaderImpl(new DefaultAssemblyFactory());
         Contribution contribution = loader.load(reader);
         assertNotNull(contribution);
         assertEquals(1, contribution.getImports().size());
@@ -72,7 +73,7 @@
 
     public void testLoadInvalid() throws Exception {
         XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(INVALID_XML));
-        ContributionMetadataLoaderImpl loader = new ContributionMetadataLoaderImpl();
+        ContributionMetadataLoaderImpl loader = new ContributionMetadataLoaderImpl(new DefaultAssemblyFactory());
         try {
             loader.load(reader);
             fail("InvalidException should have been thrown");

Modified: incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.java Sat Apr 28 16:52:22 2007
@@ -27,10 +27,10 @@
 import org.apache.tuscany.interfacedef.InvalidInterfaceException;
 import org.apache.tuscany.interfacedef.Operation;
 import org.apache.tuscany.interfacedef.impl.OperationImpl;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
 import org.apache.tuscany.interfacedef.java.JavaInterface;
 import org.apache.tuscany.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceImpl;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.osoa.sca.annotations.Remotable;
 import org.w3c.dom.Node;
 
@@ -52,10 +52,11 @@
     public final void testVisitInterface() throws InvalidInterfaceException {
         DataBindingExtensionPoint registry = new DefaultDataBindingExtensionPoint();
         DataBindingJavaInterfaceProcessor processor = new DataBindingJavaInterfaceProcessor(registry);
+        JavaFactory javaFactory = new DefaultJavaFactory();
         
-        JavaInterface contract = new JavaInterfaceImpl();
+        JavaInterface contract = javaFactory.createJavaInterface();
         contract.setJavaClass(MockInterface.class);
-        JavaInterfaceContract interfaceContract = new JavaInterfaceContractImpl();
+        JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract();
         interfaceContract.setInterface(contract);
         Operation operation = new OperationImpl("call");
         Operation operation1 = new OperationImpl("call1");

Modified: incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorOptimizationTestCase.java Sat Apr 28 16:52:22 2007
@@ -33,8 +33,8 @@
 import org.apache.tuscany.interfacedef.InterfaceContract;
 import org.apache.tuscany.interfacedef.Operation;
 import org.apache.tuscany.interfacedef.impl.OperationImpl;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceImpl;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentManager;
 import org.apache.tuscany.spi.wire.InvocationChain;
@@ -74,9 +74,10 @@
         replay(component, componentManager);
         processor = new DataBindingWirePostProcessor(componentManager, mediator);
 
-        InterfaceContract contract = new JavaInterfaceContractImpl();
-        contract.setInterface(new JavaInterfaceImpl());
-        contract.setCallbackInterface(new JavaInterfaceImpl());
+        JavaFactory javaFactory = new DefaultJavaFactory();
+        InterfaceContract contract = javaFactory.createJavaInterfaceContract();
+        contract.setInterface(javaFactory.createJavaInterface());
+        contract.setCallbackInterface(javaFactory.createJavaInterface());
         Operation operation = new OperationImpl("test", null, null, null);
         contract.getInterface().getOperations().add(operation);
         contract.getCallbackInterface().getOperations().add(operation);

Modified: incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/test/java/org/apache/tuscany/core/databinding/wire/DataBindingWirePostProcessorTestCase.java Sat Apr 28 16:52:22 2007
@@ -36,8 +36,9 @@
 import org.apache.tuscany.interfacedef.InterfaceContract;
 import org.apache.tuscany.interfacedef.InvalidInterfaceException;
 import org.apache.tuscany.interfacedef.Operation;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
 import org.apache.tuscany.interfacedef.java.JavaInterface;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.interfacedef.java.introspect.DefaultJavaInterfaceIntrospector;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ComponentManager;
@@ -138,13 +139,14 @@
     }
 
     private Wire createWire(URI sourceUri, URI targetUri) throws InvalidInterfaceException {
-        DefaultJavaInterfaceIntrospector introspector = new DefaultJavaInterfaceIntrospector();
+        DefaultJavaInterfaceIntrospector introspector = new DefaultJavaInterfaceIntrospector(new DefaultJavaFactory());
         JavaInterface interface1 = introspector.introspect(TestInterface1.class);
-        InterfaceContract contract1 = new JavaInterfaceContractImpl();
+        JavaFactory javaFactory = new DefaultJavaFactory();
+        InterfaceContract contract1 = javaFactory.createJavaInterfaceContract();
         contract1.setInterface(interface1);
         // contract1.setDataBinding(DOMDataBinding.NAME);
         JavaInterface interface2 = introspector.introspect(TestInterface2.class);
-        InterfaceContract contract2 = new JavaInterfaceContractImpl();
+        InterfaceContract contract2 = javaFactory.createJavaInterfaceContract();
         contract2.setInterface(interface2);
         // contract2.setDataBinding(StAXDataBinding.NAME);
         List<InvocationChain> chains = new ArrayList<InvocationChain>();

Modified: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/assembly/bean/impl/BeanComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/assembly/bean/impl/BeanComponentImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/assembly/bean/impl/BeanComponentImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/assembly/bean/impl/BeanComponentImpl.java Sat Apr 28 16:52:22 2007
@@ -52,7 +52,7 @@
 	private boolean unresolved = false;
 	private BeanDefinitionRegistry beanRegistry;
 	
-	public BeanComponentImpl(BeanDefinitionRegistry beanRegistry) {
+	protected BeanComponentImpl(BeanDefinitionRegistry beanRegistry) {
 		super((String)"");
 		this.beanRegistry = beanRegistry;
 	}

Modified: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/assembly/bean/impl/BeanReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/assembly/bean/impl/BeanReferenceImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/assembly/bean/impl/BeanReferenceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/assembly/bean/impl/BeanReferenceImpl.java Sat Apr 28 16:52:22 2007
@@ -31,7 +31,7 @@
 public class BeanReferenceImpl extends RuntimeBeanReference {
 	private Reference reference;
 	
-	public BeanReferenceImpl(Reference reference) {
+	protected BeanReferenceImpl(Reference reference) {
 		super("temp");
 		this.reference = reference;
 	}

Modified: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaFactory.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaFactory.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaFactory.java Sat Apr 28 16:52:22 2007
@@ -19,10 +19,10 @@
 package org.apache.tuscany.implementation.java.bean.impl;
 
 import org.apache.tuscany.implementation.java.JavaImplementation;
+import org.apache.tuscany.implementation.java.JavaImplementationFactory;
 import org.apache.tuscany.interfacedef.java.JavaFactory;
 import org.apache.tuscany.interfacedef.java.JavaInterface;
 import org.apache.tuscany.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
 import org.springframework.beans.factory.support.BeanDefinitionRegistry;
 
 /**
@@ -31,7 +31,7 @@
  *
  *  @version $Rev$ $Date$
  */
-public class BeanJavaFactory implements JavaFactory {
+public class BeanJavaFactory implements JavaFactory, JavaImplementationFactory {
 	
 	private BeanDefinitionRegistry beanRegistry;
 	
@@ -48,7 +48,7 @@
 	}
         
         public JavaInterfaceContract createJavaInterfaceContract() {
-            return new JavaInterfaceContractImpl();
+            return new BeanJavaInterfaceContractImpl();
         }
 
 }

Modified: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaImplementationImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaImplementationImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaImplementationImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaImplementationImpl.java Sat Apr 28 16:52:22 2007
@@ -49,7 +49,7 @@
 	private BeanDefinitionRegistry beanRegistry;
         private String uri;
 	
-	public BeanJavaImplementationImpl(BeanDefinitionRegistry beanRegistry) {
+	protected BeanJavaImplementationImpl(BeanDefinitionRegistry beanRegistry) {
 		this.beanRegistry = beanRegistry;
 
 		// Register this bean definition in the bean registry

Added: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceContractImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceContractImpl.java?view=auto&rev=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceContractImpl.java (added)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceContractImpl.java Sat Apr 28 16:52:22 2007
@@ -0,0 +1,34 @@
+/*
+ * 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
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.implementation.java.bean.impl;
+
+import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
+
+/**
+ * An implementation of a Java interface contract. 
+ *
+ * @version $Rev$ $Date$
+ */
+public class BeanJavaInterfaceContractImpl extends JavaInterfaceContractImpl {
+    
+    protected BeanJavaInterfaceContractImpl() {
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceContractImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceContractImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/implementation/java/bean/impl/BeanJavaInterfaceImpl.java Sat Apr 28 16:52:22 2007
@@ -42,6 +42,9 @@
     private List<Object> extensions = new ArrayList<Object>();
     private List<Operation> operations = new ArrayList<Operation>();
     private boolean unresolved = false;
+    
+    protected BeanJavaInterfaceImpl() {
+    }
 
     public String getName() {
         if (isUnresolved()) {

Modified: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/TestRuntimeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/TestRuntimeContext.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/TestRuntimeContext.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/application/context/TestRuntimeContext.java Sat Apr 28 16:52:22 2007
@@ -30,9 +30,17 @@
 import org.apache.tuscany.contribution.resolver.DefaultArtifactResolver;
 import org.apache.tuscany.contribution.service.ContributionException;
 import org.apache.tuscany.core.bean.context.CompositeApplicationContext;
+import org.apache.tuscany.implementation.java.JavaImplementationFactory;
+import org.apache.tuscany.implementation.java.impl.DefaultJavaImplementationFactory;
+import org.apache.tuscany.implementation.java.introspect.DefaultJavaClassIntrospector;
+import org.apache.tuscany.implementation.java.introspect.JavaClassIntrospector;
 import org.apache.tuscany.implementation.java.xml.JavaImplementationProcessor;
 import org.apache.tuscany.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
+import org.apache.tuscany.interfacedef.java.introspect.DefaultJavaInterfaceIntrospector;
+import org.apache.tuscany.interfacedef.java.introspect.JavaInterfaceIntrospector;
 import org.apache.tuscany.interfacedef.java.xml.JavaInterfaceProcessor;
 import org.apache.tuscany.policy.PolicyFactory;
 import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
@@ -52,6 +60,10 @@
         AssemblyFactory factory = new DefaultAssemblyFactory();
         PolicyFactory policyFactory = new DefaultPolicyFactory();
         InterfaceContractMapper mapper = new DefaultInterfaceContractMapper();
+        JavaFactory javaFactory = new DefaultJavaFactory();
+        JavaInterfaceIntrospector interfaceIntrospector = new DefaultJavaInterfaceIntrospector(javaFactory);
+        JavaImplementationFactory javaImplementationFactory = new DefaultJavaImplementationFactory(factory);
+        JavaClassIntrospector classIntrospector = new DefaultJavaClassIntrospector();
         
         // Populate ArtifactProcessor registry
         DefaultStAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
@@ -59,8 +71,8 @@
         staxProcessors.addExtension(compositeProcessor);
         staxProcessors.addExtension(new ComponentTypeProcessor(factory, policyFactory, staxProcessors));
         staxProcessors.addExtension(new ConstrainingTypeProcessor(factory, policyFactory, staxProcessors));
-        staxProcessors.addExtension(new JavaInterfaceProcessor());
-        staxProcessors.addExtension(new JavaImplementationProcessor());
+        staxProcessors.addExtension(new JavaInterfaceProcessor(javaFactory, interfaceIntrospector));
+        staxProcessors.addExtension(new JavaImplementationProcessor(factory, policyFactory, javaImplementationFactory, classIntrospector));
         
         // Create a resolver
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

Modified: incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/test/java/test/model/variant/VariantRuntimeContext.java Sat Apr 28 16:52:22 2007
@@ -33,9 +33,14 @@
 import org.apache.tuscany.implementation.java.JavaImplementationFactory;
 import org.apache.tuscany.implementation.java.bean.impl.BeanJavaImplementationFactory;
 import org.apache.tuscany.implementation.java.introspect.DefaultJavaClassIntrospector;
+import org.apache.tuscany.implementation.java.introspect.JavaClassIntrospector;
 import org.apache.tuscany.implementation.java.xml.JavaImplementationProcessor;
 import org.apache.tuscany.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.interfacedef.impl.DefaultInterfaceContractMapper;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
+import org.apache.tuscany.interfacedef.java.introspect.DefaultJavaInterfaceIntrospector;
+import org.apache.tuscany.interfacedef.java.introspect.JavaInterfaceIntrospector;
 import org.apache.tuscany.interfacedef.java.xml.JavaInterfaceProcessor;
 import org.apache.tuscany.policy.PolicyFactory;
 import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
@@ -60,7 +65,10 @@
         AssemblyFactory assemblyFactory = new BeanAssemblyFactory(new DefaultAssemblyFactory(), beanFactory);
         PolicyFactory policyFactory = new DefaultPolicyFactory();
         InterfaceContractMapper interfaceContractMapper = new DefaultInterfaceContractMapper();
+        JavaFactory javaFactory = new DefaultJavaFactory();
+        JavaInterfaceIntrospector interfaceIntrospector = new DefaultJavaInterfaceIntrospector(javaFactory);
         JavaImplementationFactory javaImplementationFactory = new BeanJavaImplementationFactory(beanFactory);
+        JavaClassIntrospector classIntrospector = new DefaultJavaClassIntrospector();
 
         // Populate ArtifactProcessor registry
         DefaultStAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint();
@@ -69,9 +77,8 @@
         staxProcessors.addExtension(compositeProcessor);
         staxProcessors.addExtension(new ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessors));
         staxProcessors.addExtension(new ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessors));
-        staxProcessors.addExtension(new JavaInterfaceProcessor());
-        staxProcessors.addExtension(new JavaImplementationProcessor(
-            assemblyFactory, policyFactory, javaImplementationFactory, new DefaultJavaClassIntrospector()));
+        staxProcessors.addExtension(new JavaInterfaceProcessor(javaFactory, interfaceIntrospector));
+        staxProcessors.addExtension(new JavaImplementationProcessor(assemblyFactory, policyFactory, javaImplementationFactory, classIntrospector));
         
         // Create a resolver
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Sat Apr 28 16:52:22 2007
@@ -36,7 +36,6 @@
 import org.apache.tuscany.assembly.Multiplicity;
 import org.apache.tuscany.assembly.Property;
 import org.apache.tuscany.assembly.SCABinding;
-import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.core.builder.ComponentNotFoundException;
 import org.apache.tuscany.core.builder.IncompatibleInterfacesException;
 import org.apache.tuscany.core.builder.WireCreationException;
@@ -92,17 +91,20 @@
     private WirePostProcessorRegistry postProcessorRegistry;
     private WorkScheduler workScheduler;
     private WorkContext workContext;
+    private AssemblyFactory assemblyFactory;
 
     public DeployerImpl(XMLInputFactory xmlFactory,
                         Builder builder,
                         ComponentManager componentManager,
                         WorkScheduler workScheduler,
-                        WorkContext workContext) {
+                        WorkContext workContext,
+                        AssemblyFactory assemblyFactory) {
         this.xmlFactory = xmlFactory;
         this.builder = builder;
         this.componentManager = componentManager;
         this.workScheduler = workScheduler;
         this.workContext = workContext;
+        this.assemblyFactory = assemblyFactory;
     }
 
     public DeployerImpl() {
@@ -122,7 +124,6 @@
     }
     
     private org.apache.tuscany.assembly.Component createDefaultComponentForDeployedComposite(Composite composite) {
-        AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
         org.apache.tuscany.assembly.Component componentDef = assemblyFactory.createComponent();
         componentDef.setName(composite.getName().getLocalPart());
         componentDef.setImplementation(composite);

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java Sat Apr 28 16:52:22 2007
@@ -34,6 +34,7 @@
 
 import javax.xml.stream.XMLInputFactory;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.core.ExtensionPointRegistry;
 import org.apache.tuscany.core.ModuleActivator;
 import org.apache.tuscany.core.component.ComponentManagerImpl;
@@ -91,13 +92,16 @@
     protected Collection<ModuleActivator> activators;
     
     protected ThreadPoolWorkManager workManager;
+    
+    private AssemblyFactory assemblyFactory;
 
-    protected AbstractRuntime(Class<I> runtimeInfoType, I runtimeInfo, MonitorFactory monitorFactory, ClassLoader hostClassLoader) {
+    protected AbstractRuntime(Class<I> runtimeInfoType, I runtimeInfo, MonitorFactory monitorFactory, ClassLoader hostClassLoader, AssemblyFactory assemblyFactory) {
         this.runtimeInfoType = runtimeInfoType;
         this.runtimeInfo = runtimeInfo;
         this.monitorFactory = monitorFactory;
         this.hostClassLoader = hostClassLoader;
         xmlFactory = XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory", getClass().getClassLoader());
+        this.assemblyFactory = assemblyFactory;
     }
 
     public URL getApplicationSCDL() {
@@ -183,7 +187,7 @@
         TuscanyManagementService tms = (TuscanyManagementService)getManagementService();
         componentManager = new ComponentManagerImpl(tms);
         extensionRegistry.addExtensionPoint(ComponentManager.class, componentManager);
-        return new DefaultBootstrapper(getMonitorFactory(), xmlFactory, componentManager);
+        return new DefaultBootstrapper(getMonitorFactory(), xmlFactory, componentManager, assemblyFactory);
     }
 
     protected void registerSystemExtensionPoints() throws InitializationException {

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java Sat Apr 28 16:52:22 2007
@@ -20,6 +20,7 @@
 
 import javax.xml.stream.XMLInputFactory;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.core.ExtensionPointRegistry;
 import org.apache.tuscany.core.builder.BuilderRegistryImpl;
 import org.apache.tuscany.core.builder.WirePostProcessorRegistryImpl;
@@ -55,6 +56,7 @@
     private final XMLInputFactory xmlFactory;
     private final ComponentManager componentManager;
     private final ScopeRegistry scopeRegistry;
+    private AssemblyFactory assemblyFactory;
     /**
      * Create a default bootstrapper.
      * 
@@ -68,11 +70,13 @@
      */
     public DefaultBootstrapper(MonitorFactory monitorFactory,
                                XMLInputFactory xmlFactory,
-                               ComponentManager componentManager) {
+                               ComponentManager componentManager,
+                               AssemblyFactory assemblyFactory) {
         this.monitorFactory = monitorFactory;
         this.xmlFactory = xmlFactory;
         this.componentManager = componentManager;
         this.scopeRegistry = createScopeRegistry();
+        this.assemblyFactory = assemblyFactory;
     }
     
     public DefaultBootstrapper(MonitorFactory monitorFactory) {
@@ -103,7 +107,7 @@
         WorkContext workContext = extensionRegistry.getExtensionPoint(WorkContext.class);
         WorkManager workManager = new ThreadPoolWorkManager(10);
         WorkScheduler workScheduler = new Jsr237WorkScheduler(workManager);
-        DeployerImpl deployer = new DeployerImpl(xmlFactory, builder, componentManager, workScheduler, workContext);
+        DeployerImpl deployer = new DeployerImpl(xmlFactory, builder, componentManager, workScheduler, workContext, assemblyFactory);
         deployer.setScopeRegistry(getScopeRegistry());
         WirePostProcessorRegistry wirePostProcessorRegistry = new WirePostProcessorRegistryImpl();
         deployer.setWirePostProcessorRegistry(wirePostProcessorRegistry);

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryNoBindingsTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryNoBindingsTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryNoBindingsTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryNoBindingsTestCase.java Sat Apr 28 16:52:22 2007
@@ -22,18 +22,14 @@
 
 import junit.framework.TestCase;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.ComponentReference;
 import org.apache.tuscany.assembly.ComponentService;
 import org.apache.tuscany.assembly.CompositeReference;
 import org.apache.tuscany.assembly.CompositeService;
 import org.apache.tuscany.assembly.Multiplicity;
 import org.apache.tuscany.assembly.SCABinding;
-import org.apache.tuscany.assembly.impl.ComponentImpl;
-import org.apache.tuscany.assembly.impl.ComponentReferenceImpl;
-import org.apache.tuscany.assembly.impl.ComponentServiceImpl;
-import org.apache.tuscany.assembly.impl.CompositeReferenceImpl;
-import org.apache.tuscany.assembly.impl.CompositeServiceImpl;
-import org.apache.tuscany.assembly.impl.SCABindingImpl;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.core.component.ComponentManagerImpl;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.component.Component;
@@ -51,17 +47,18 @@
     private DeploymentContext deploymentContext;
     private Component parent;
     private BuilderRegistry registry;
+    private AssemblyFactory assemblyFactory;
 
     public void testNoServiceBindings() throws Exception {
         ServiceBinding binding = EasyMock.createNiceMock(ServiceBinding.class);
         EasyMock.replay(binding);
-        CompositeService definition = new CompositeServiceImpl();
+        CompositeService definition = assemblyFactory.createCompositeService();
         definition.setName("foo");
-        ComponentService componentService = new ComponentServiceImpl();
+        ComponentService componentService = assemblyFactory.createComponentService();
         componentService.setName("foo");
         definition.setPromotedService(componentService);
-        SCABinding binding2 = new SCABindingImpl();
-        binding2.setComponent(new ComponentImpl());
+        SCABinding binding2 = assemblyFactory.createSCABinding();
+        binding2.setComponent(assemblyFactory.createComponent());
         componentService.getBindings().add(binding2);
         EasyMock.replay(deploymentContext);
         EasyMock.replay(parent);
@@ -75,12 +72,12 @@
     public void testReferenceBindingBuilderDispatch() throws Exception {
         ReferenceBinding binding = EasyMock.createNiceMock(ReferenceBinding.class);
         EasyMock.replay(binding);
-        CompositeReference definition = new CompositeReferenceImpl();
-        ComponentReference componentReference = new ComponentReferenceImpl();
+        CompositeReference definition = assemblyFactory.createCompositeReference();
+        ComponentReference componentReference = assemblyFactory.createComponentReference();
         componentReference.setName("foo");
         definition.getPromotedReferences().add(componentReference);
-        SCABinding binding2 = new SCABindingImpl();
-        binding2.setComponent(new ComponentImpl());
+        SCABinding binding2 = assemblyFactory.createSCABinding();
+        binding2.setComponent(assemblyFactory.createComponent());
         componentReference.getBindings().add(binding2);
         definition.setName("foo");
         definition.setMultiplicity(Multiplicity.ONE_ONE);
@@ -99,6 +96,7 @@
         EasyMock.expect(deploymentContext.getComponentId()).andReturn(URI.create("/default/")).anyTimes();
         parent = EasyMock.createNiceMock(Component.class);
         registry = new BuilderRegistryImpl(new ComponentManagerImpl(), null);
+        assemblyFactory = new DefaultAssemblyFactory();
     }
 
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/builder/BuilderRegistryTestCase.java Sat Apr 28 16:52:22 2007
@@ -24,6 +24,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.ComponentReference;
 import org.apache.tuscany.assembly.ComponentService;
 import org.apache.tuscany.assembly.Composite;
@@ -34,23 +35,15 @@
 import org.apache.tuscany.assembly.Property;
 import org.apache.tuscany.assembly.SCABinding;
 import org.apache.tuscany.assembly.impl.BindingImpl;
-import org.apache.tuscany.assembly.impl.ComponentImpl;
-import org.apache.tuscany.assembly.impl.ComponentReferenceImpl;
-import org.apache.tuscany.assembly.impl.ComponentServiceImpl;
 import org.apache.tuscany.assembly.impl.ComponentTypeImpl;
-import org.apache.tuscany.assembly.impl.CompositeImpl;
-import org.apache.tuscany.assembly.impl.CompositeReferenceImpl;
-import org.apache.tuscany.assembly.impl.CompositeServiceImpl;
-import org.apache.tuscany.assembly.impl.SCABindingImpl;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.core.component.ComponentManagerImpl;
 import org.apache.tuscany.core.component.scope.ScopeRegistryImpl;
-import org.apache.tuscany.core.component.scope.StatelessScopeContainer;
 import org.apache.tuscany.spi.Scope;
 import org.apache.tuscany.spi.builder.BindingBuilder;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.builder.ComponentBuilder;
-import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.Reference;
 import org.apache.tuscany.spi.component.ReferenceBinding;
@@ -68,6 +61,7 @@
     private DeploymentContext deploymentContext;
     private ScopeContainer scopeContainer;
     private Map<URI, Component> components;
+    private AssemblyFactory assemblyFactory;
 
     //private BuilderRegistryImpl registry;
     private Component parent;
@@ -75,9 +69,9 @@
     @SuppressWarnings({"unchecked"})
     public void testRegistration() throws Exception {
         URI componentId = URI.create("sca://localhost/component");
-        Composite implementation = new CompositeImpl();
+        Composite implementation = assemblyFactory.createComposite();
         org.apache.tuscany.assembly.Component componentDefinition =
-            new ComponentImpl();
+            assemblyFactory.createComponent();
         componentDefinition.setImplementation(implementation);
 
         Component component = EasyMock.createMock(Component.class);
@@ -124,14 +118,14 @@
             EasyMock.isA(DeploymentContext.class))).andReturn(binding).times(2);
         EasyMock.replay(builder);
         registry.register(MockBindingDefinition.class, builder);
-        CompositeService definition = new CompositeServiceImpl();
+        CompositeService definition = assemblyFactory.createCompositeService();
         definition.setName("foo");
         definition.getBindings().add(new MockBindingDefinition());
         definition.getBindings().add(new MockBindingDefinition());
-        ComponentService target = new ComponentServiceImpl();
+        ComponentService target = assemblyFactory.createComponentService();
         target.setName("foo");
-        SCABinding binding2 = new SCABindingImpl();
-        binding2.setComponent(new ComponentImpl());
+        SCABinding binding2 = assemblyFactory.createSCABinding();
+        binding2.setComponent(assemblyFactory.createComponent());
         target.getBindings().add(binding2);
         definition.setPromotedService(target);
         Service service = registry.build(definition, deploymentContext);
@@ -150,17 +144,17 @@
             EasyMock.isA(DeploymentContext.class))).andReturn(binding).times(2);
         EasyMock.replay(builder);
         registry.register(MockBindingDefinition.class, builder);
-        CompositeReference definition = new CompositeReferenceImpl();
+        CompositeReference definition = assemblyFactory.createCompositeReference();
         definition.setName("foo");
         definition.setMultiplicity(Multiplicity.ONE_ONE);
         definition.getBindings().add(new MockBindingDefinition());
         definition.getBindings().add(new MockBindingDefinition());
         
-        ComponentReference componentReference = new ComponentReferenceImpl();
+        ComponentReference componentReference = assemblyFactory.createComponentReference();
         componentReference.setName("foo");
         definition.getPromotedReferences().add(componentReference);
-        SCABinding binding2 = new SCABindingImpl();
-        binding2.setComponent(new ComponentImpl());
+        SCABinding binding2 = assemblyFactory.createSCABinding();
+        binding2.setComponent(assemblyFactory.createComponent());
         componentReference.getBindings().add(binding2);
         
         Reference reference = registry.build(definition, deploymentContext);
@@ -216,6 +210,7 @@
         EasyMock.expect(scopeContainer.getScope()).andReturn(Scope.STATELESS).anyTimes();
         EasyMock.replay(scopeContainer);
         components = EasyMock.createMock(Map.class);
+        assemblyFactory = new DefaultAssemblyFactory();
     }
 
     private class MockBuilder implements ComponentBuilder {

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java Sat Apr 28 16:52:22 2007
@@ -28,9 +28,9 @@
 import org.apache.tuscany.interfacedef.InterfaceContract;
 import org.apache.tuscany.interfacedef.Operation;
 import org.apache.tuscany.interfacedef.impl.OperationImpl;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
 import org.apache.tuscany.interfacedef.java.JavaInterface;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceImpl;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.spi.wire.InvocationChain;
 import org.apache.tuscany.spi.wire.ProxyService;
 import org.apache.tuscany.spi.wire.Wire;
@@ -45,7 +45,8 @@
     @SuppressWarnings( {"unchecked"})
     public void testCreateInstance() throws Exception {
         Operation op = new OperationImpl("hello");
-        op.setInterface(new JavaInterfaceImpl());
+        JavaFactory javaFactory = new DefaultJavaFactory();
+        op.setInterface(javaFactory.createJavaInterface());
         InvocationChain chain = new InvocationChainImpl(op);
         Wire wire = EasyMock.createMock(Wire.class);
         List<InvocationChain> chains = new ArrayList<InvocationChain>();
@@ -88,9 +89,10 @@
     }
 
     private InterfaceContract createContract(Class cls) {
-        JavaInterface jInterface = new JavaInterfaceImpl();
+        JavaFactory javaFactory = new DefaultJavaFactory();
+        JavaInterface jInterface = javaFactory.createJavaInterface();
         jInterface.setJavaClass(cls);
-        InterfaceContract service = new JavaInterfaceContractImpl();
+        InterfaceContract service = javaFactory.createJavaInterfaceContract();
         service.setInterface(jInterface);
         return service;
     }

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java Sat Apr 28 16:52:22 2007
@@ -25,7 +25,8 @@
 
 import org.apache.tuscany.interfacedef.Operation;
 import org.apache.tuscany.interfacedef.impl.OperationImpl;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceImpl;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.spi.wire.ChainHolder;
 import org.apache.tuscany.spi.wire.InvocationChain;
 import org.apache.tuscany.spi.wire.Wire;
@@ -40,7 +41,8 @@
         Wire wire = new WireImpl();
         Operation op = new OperationImpl();
         op.setName("hello");
-        op.setInterface(new JavaInterfaceImpl());
+        JavaFactory javaFactory = new DefaultJavaFactory();
+        op.setInterface(javaFactory.createJavaInterface());
         InvocationChain chain = new InvocationChainImpl(op);
         wire.addInvocationChain(chain);
         Map<Method, ChainHolder> chains = WireUtils.createInterfaceToWireMapping(Foo.class, wire);
@@ -52,7 +54,8 @@
         Wire wire = new WireImpl();
         Operation op = new OperationImpl();
         op.setName("goodbye");
-        op.setInterface(new JavaInterfaceImpl());
+        JavaFactory javaFactory = new DefaultJavaFactory();
+        op.setInterface(javaFactory.createJavaInterface());
         InvocationChain chain = new InvocationChainImpl(op);
         wire.addInvocationChain(chain);
         try {

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java Sat Apr 28 16:52:22 2007
@@ -23,6 +23,7 @@
 import java.lang.reflect.Method;
 import java.net.URI;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.implementation.java.impl.JavaElement;
 import org.apache.tuscany.implementation.java.impl.JavaImplementationDefinition;
 import org.apache.tuscany.implementation.java.impl.Resource;
@@ -47,8 +48,8 @@
     /**
      * @param registry
      */
-    public HelperContextProcessor(@Reference HelperContextRegistry registry) {
-        super();
+    public HelperContextProcessor(AssemblyFactory assemblyFactory, HelperContextRegistry registry) {
+        super(assemblyFactory);
         this.registry = registry;
     }
 

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/bootstrap/SDODataBindingModuleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/bootstrap/SDODataBindingModuleActivator.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/bootstrap/SDODataBindingModuleActivator.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/bootstrap/SDODataBindingModuleActivator.java Sat Apr 28 16:52:22 2007
@@ -22,6 +22,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.core.ExtensionPointRegistry;
 import org.apache.tuscany.core.ModuleActivator;
@@ -71,7 +73,8 @@
         transformerRegistry.registerTransformer(new XMLStreamReader2XMLDocument());
         
         JavaClassIntrospectorExtensionPoint introspectorExtensionPoint = registry.getExtensionPoint(JavaClassIntrospectorExtensionPoint.class);
-        introspectorExtensionPoint.addExtension(new HelperContextProcessor(contextRegistry));
+        AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
+        introspectorExtensionPoint.addExtension(new HelperContextProcessor(assemblyFactory, contextRegistry));
 
     }
 

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/HelperContextProcessorTestCase.java Sat Apr 28 16:52:22 2007
@@ -27,6 +27,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.implementation.java.impl.JavaImplementationDefinition;
 import org.apache.tuscany.implementation.java.impl.Resource;
 
@@ -40,7 +41,7 @@
     @SuppressWarnings("unchecked")
     public void testProcessor() throws Exception {
         HelperContextRegistry registry = new HelperContextRegistryImpl();
-        HelperContextProcessor processor = new HelperContextProcessor(registry);
+        HelperContextProcessor processor = new HelperContextProcessor(new DefaultAssemblyFactory(), registry);
         URI id = URI.create("/composite1/");
         XMLInputFactory xmlFactory = XMLInputFactory.newInstance();
 

Modified: incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/host/embedded/impl/SimpleRuntimeImpl.java Sat Apr 28 16:52:22 2007
@@ -82,7 +82,7 @@
     private SimpleRuntimeInfo simpleRuntimeInfo;
 
     public SimpleRuntimeImpl(SimpleRuntimeInfo runtimeInfo) {
-        super(SimpleRuntimeInfo.class, runtimeInfo, new NullMonitorFactory(), runtimeInfo.getClassLoader());
+        super(SimpleRuntimeInfo.class, runtimeInfo, new NullMonitorFactory(), runtimeInfo.getClassLoader(), new DefaultAssemblyFactory());
         setApplicationSCDL(runtimeInfo.getApplicationSCDL());
         this.simpleRuntimeInfo = runtimeInfo;
     }
@@ -128,14 +128,14 @@
         extensionRegistry.addExtensionPoint(URLArtifactProcessorExtensionPoint.class, documentProcessors);
         
         // Create default factories
-        AssemblyFactory factory = new DefaultAssemblyFactory();
+        AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
         PolicyFactory policyFactory = new DefaultPolicyFactory();
         InterfaceContractMapper mapper = new DefaultInterfaceContractMapper();
 
         // Register base artifact processors
-        staxProcessors.addExtension(new CompositeProcessor(factory, policyFactory, mapper, staxProcessors));
-        staxProcessors.addExtension(new ComponentTypeProcessor(factory, policyFactory, staxProcessors));
-        staxProcessors.addExtension(new ConstrainingTypeProcessor(factory, policyFactory, staxProcessors));
+        staxProcessors.addExtension(new CompositeProcessor(assemblyFactory, policyFactory, mapper, staxProcessors));
+        staxProcessors.addExtension(new ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessors));
+        staxProcessors.addExtension(new ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessors));
 
         XMLInputFactory inputFactory = XMLInputFactory.newInstance();
         documentProcessors.addExtension(new CompositeDocumentProcessor(staxProcessors, inputFactory));
@@ -162,7 +162,7 @@
         ContributionRepository repository = new ContributionRepositoryImpl("target");
         DefaultArtifactResolver artifactResolver = new DefaultArtifactResolver(simpleRuntimeInfo.getClassLoader());
         ContributionService contributionService = new ContributionServiceImpl(repository, packageProcessors,
-                                                                              documentProcessors, artifactResolver);
+                                                                              documentProcessors, artifactResolver, assemblyFactory);
         initialize(extensionRegistry);
 
         // Create a scope registry

Modified: incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDImplementation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDImplementation.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDImplementation.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDImplementation.java Sat Apr 28 16:52:22 2007
@@ -18,14 +18,13 @@
  */
 package org.apache.tuscany.container.crud;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.ComponentService;
 import org.apache.tuscany.assembly.Implementation;
 import org.apache.tuscany.assembly.impl.ComponentTypeImpl;
-import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
 import org.apache.tuscany.interfacedef.java.JavaInterface;
 import org.apache.tuscany.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
-import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceImpl;
 
 /**
  * @version $$Rev$$ $$Date: 2007-04-03 11:08:56 -0700 (Tue, 03 Apr
@@ -34,21 +33,17 @@
 public class CRUDImplementation extends ComponentTypeImpl implements Implementation {
     private String directory;
 
-    public CRUDImplementation(String directory) {
+    public CRUDImplementation(AssemblyFactory assemblyFactory, JavaFactory javaFactory, String directory) {
         this.directory = directory;
-        ComponentService service = createService(CRUD.class);
-        getServices().add(service);
-    }
 
-    private ComponentService createService(Class<?> type) {
-        org.apache.tuscany.assembly.ComponentService service = new DefaultAssemblyFactory().createComponentService();
-        service.setName(type.getSimpleName());
-        JavaInterface i = new JavaInterfaceImpl();
-        i.setJavaClass(type);
-        JavaInterfaceContract ic = new JavaInterfaceContractImpl();
-        ic.setInterface(i);
-        service.setInterfaceContract(ic);
-        return service;
+        ComponentService service = assemblyFactory.createComponentService();
+        service.setName("CRUD");
+        JavaInterface i = javaFactory.createJavaInterface();
+        i.setJavaClass(CRUD.class);
+        JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract();
+        interfaceContract.setInterface(i);
+        service.setInterfaceContract(interfaceContract);
+        getServices().add(service);
     }
 
     /**

Modified: incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDImplementationLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDImplementationLoader.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDImplementationLoader.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDImplementationLoader.java Sat Apr 28 16:52:22 2007
@@ -26,17 +26,26 @@
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.contribution.processor.StAXArtifactProcessorExtension;
 import org.apache.tuscany.contribution.resolver.ArtifactResolver;
-import org.apache.tuscany.contribution.service.ContributionException;
 import org.apache.tuscany.contribution.service.ContributionReadException;
 import org.apache.tuscany.contribution.service.ContributionResolveException;
 import org.apache.tuscany.contribution.service.ContributionWireException;
 import org.apache.tuscany.contribution.service.ContributionWriteException;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
 
 public class CRUDImplementationLoader implements StAXArtifactProcessorExtension<CRUDImplementation> {
     public static final QName IMPLEMENTATION_CRUD = new QName(SCA_NS, "implementation.crud");
 
+    private AssemblyFactory assemblyFactory;
+    private JavaFactory javaFactory;
+    
+    public CRUDImplementationLoader(AssemblyFactory assemblyFactory, JavaFactory javaFactory) {
+        this.assemblyFactory = assemblyFactory;
+        this.javaFactory = javaFactory;
+    }
+    
     public QName getArtifactType() {
         return IMPLEMENTATION_CRUD;
     }
@@ -45,15 +54,12 @@
         return CRUDImplementation.class;
     }
 
-    public void optimize(CRUDImplementation impl) throws ContributionException {
-    }
-
     public CRUDImplementation read(XMLStreamReader reader) throws ContributionReadException {
         assert IMPLEMENTATION_CRUD.equals(reader.getName());
         try {
             String dir = reader.getAttributeValue(null, "directory");
 
-            CRUDImplementation implementation = new CRUDImplementation(dir);
+            CRUDImplementation implementation = new CRUDImplementation(assemblyFactory, javaFactory, dir);
             // Skip to end element
             while (reader.hasNext()) {
                 if (reader.next() == END_ELEMENT && IMPLEMENTATION_CRUD.equals(reader.getName())) {

Modified: incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDModuleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDModuleActivator.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDModuleActivator.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/test/java/org/apache/tuscany/container/crud/CRUDModuleActivator.java Sat Apr 28 16:52:22 2007
@@ -21,9 +21,11 @@
 
 import java.util.Map;
 
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.core.ExtensionPointRegistry;
 import org.apache.tuscany.core.ModuleActivator;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 
 /**
@@ -38,7 +40,7 @@
         StAXArtifactProcessorExtensionPoint processors = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
         BuilderRegistry builderRegistry = registry.getExtensionPoint(BuilderRegistry.class);
 
-        implementationLoader = new CRUDImplementationLoader();
+        implementationLoader = new CRUDImplementationLoader(new DefaultAssemblyFactory(), new DefaultJavaFactory());
         processors.addExtension(implementationLoader);
 
         builder = new CRUDComponentBuilder();

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java Sat Apr 28 16:52:22 2007
@@ -22,14 +22,18 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tuscany.assembly.AssemblyFactory;
+import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
 import org.apache.tuscany.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.core.ExtensionPointRegistry;
 import org.apache.tuscany.core.ModuleActivator;
 import org.apache.tuscany.databinding.DataBindingExtensionPoint;
 import org.apache.tuscany.databinding.Mediator;
 import org.apache.tuscany.implementation.java.JavaImplementation;
+import org.apache.tuscany.implementation.java.JavaImplementationFactory;
 import org.apache.tuscany.implementation.java.context.JavaComponentBuilder;
 import org.apache.tuscany.implementation.java.context.JavaPropertyValueObjectFactory;
+import org.apache.tuscany.implementation.java.impl.DefaultJavaImplementationFactory;
 import org.apache.tuscany.implementation.java.introspect.BaseJavaClassIntrospectorExtension;
 import org.apache.tuscany.implementation.java.introspect.DefaultJavaClassIntrospector;
 import org.apache.tuscany.implementation.java.introspect.JavaClassIntrospectorExtension;
@@ -51,8 +55,12 @@
 import org.apache.tuscany.implementation.java.proxy.JDKProxyService;
 import org.apache.tuscany.implementation.java.xml.JavaImplementationProcessor;
 import org.apache.tuscany.interfacedef.InterfaceContractMapper;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.interfacedef.java.introspect.DefaultJavaInterfaceIntrospector;
 import org.apache.tuscany.interfacedef.java.introspect.JavaInterfaceIntrospectorExtensionPoint;
+import org.apache.tuscany.policy.PolicyFactory;
+import org.apache.tuscany.policy.impl.DefaultPolicyFactory;
 import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.component.ScopeRegistry;
 import org.apache.tuscany.spi.component.WorkContext;
@@ -62,21 +70,27 @@
  * @version $Rev$ $Date$
  */
 public class JavaRuntimeModuleActivator implements ModuleActivator {
+    
+    private AssemblyFactory assemblyFactory;
+    private JavaFactory javaFactory;
+    private PolicyFactory policyFactory;
+    
+    public JavaRuntimeModuleActivator() {
+        assemblyFactory = new DefaultAssemblyFactory();
+        javaFactory = new DefaultJavaFactory();
+        policyFactory = new DefaultPolicyFactory();
+    }
+     
 
     public Map<Class, Object> getExtensionPoints() {
         Map<Class, Object> map = new HashMap<Class, Object>();
         map.put(ProxyService.class, new JDKProxyService());
         map.put(JavaClassIntrospectorExtensionPoint.class, new DefaultJavaClassIntrospector());
-        map.put(JavaInterfaceIntrospectorExtensionPoint.class, new DefaultJavaInterfaceIntrospector());
+        map.put(JavaInterfaceIntrospectorExtensionPoint.class, new DefaultJavaInterfaceIntrospector(javaFactory));
         return map;
     }
 
-    /**
-     * @see org.apache.tuscany.core.ModuleActivator#start(org.apache.tuscany.core.ExtensionPointRegistry)
-     */
     public void start(ExtensionPointRegistry extensionPointRegistry) {
-        
-        // Inject InterfaceContractMapper and WorkContext into JDKProxyService
         JDKProxyService proxyService = (JDKProxyService) extensionPointRegistry.getExtensionPoint(ProxyService.class);
         InterfaceContractMapper mapper = extensionPointRegistry.getExtensionPoint(InterfaceContractMapper.class);
         proxyService.setInterfaceContractMapper(mapper);
@@ -89,20 +103,20 @@
         JavaClassIntrospectorExtensionPoint classIntrospector = extensionPointRegistry
             .getExtensionPoint(JavaClassIntrospectorExtensionPoint.class);
         BaseJavaClassIntrospectorExtension[] extensions = new BaseJavaClassIntrospectorExtension[] {
-            new ConstructorProcessor(),
-            new AllowsPassByReferenceProcessor(),
-            new ContextProcessor(),
-            new ConversationProcessor(),
-            new DestroyProcessor(),
-            new EagerInitProcessor(),
-            new InitProcessor(),
-            new PropertyProcessor(),
-            new ReferenceProcessor(interfaceIntrospector),
-            new ResourceProcessor(),
-            new ScopeProcessor(),
-            new ServiceProcessor(interfaceIntrospector),
-            new HeuristicPojoProcessor(interfaceIntrospector),
-            new PolicyProcessor()
+            new ConstructorProcessor(assemblyFactory),
+            new AllowsPassByReferenceProcessor(assemblyFactory),
+            new ContextProcessor(assemblyFactory),
+            new ConversationProcessor(assemblyFactory),
+            new DestroyProcessor(assemblyFactory),
+            new EagerInitProcessor(assemblyFactory),
+            new InitProcessor(assemblyFactory),
+            new PropertyProcessor(assemblyFactory),
+            new ReferenceProcessor(assemblyFactory, javaFactory, interfaceIntrospector),
+            new ResourceProcessor(assemblyFactory),
+            new ScopeProcessor(assemblyFactory),
+            new ServiceProcessor(assemblyFactory, javaFactory, interfaceIntrospector),
+            new HeuristicPojoProcessor(assemblyFactory, javaFactory, interfaceIntrospector),
+            new PolicyProcessor(assemblyFactory, policyFactory)
         };
         for (JavaClassIntrospectorExtension e : extensions) {
             classIntrospector.addExtension(e);
@@ -110,7 +124,9 @@
 
         StAXArtifactProcessorExtensionPoint artifactProcessorRegistry = extensionPointRegistry
             .getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
-        JavaImplementationProcessor javaImplementationProcessor = new JavaImplementationProcessor(classIntrospector);
+        JavaImplementationFactory javaImplementationFactory = new DefaultJavaImplementationFactory(assemblyFactory);
+        JavaImplementationProcessor javaImplementationProcessor =
+            new JavaImplementationProcessor(assemblyFactory, policyFactory, javaImplementationFactory, classIntrospector);
         artifactProcessorRegistry.addExtension(javaImplementationProcessor);
 
         BuilderRegistry builderRegistry = extensionPointRegistry.getExtensionPoint(BuilderRegistry.class);

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderMetadataTestCaseFIXME.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderMetadataTestCaseFIXME.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderMetadataTestCaseFIXME.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilderMetadataTestCaseFIXME.java Sat Apr 28 16:52:22 2007
@@ -36,6 +36,8 @@
 import org.apache.tuscany.implementation.java.mock.Source;
 import org.apache.tuscany.implementation.java.mock.SourceImpl;
 import org.apache.tuscany.implementation.java.mock.Target;
+import org.apache.tuscany.interfacedef.java.JavaFactory;
+import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.ScopeContainer;
@@ -56,6 +58,7 @@
     private org.apache.tuscany.assembly.Component definition;
     private ScopeContainer scopeContainer;
     private AssemblyFactory factory = new DefaultAssemblyFactory();
+    private JavaFactory javaFactory = new DefaultJavaFactory();
 
     public void testMaxAge() throws Exception {
         type.setMaxAge(100);
@@ -117,7 +120,7 @@
                                        new JavaElement(SourceImpl.class.getMethod("setTarget", Target.class), 0));
         type.getReferences().add(reference);
 
-        ComponentService serviceDefinition = ModelHelper.createService(Source.class);
+        ComponentService serviceDefinition = ModelHelper.createService(factory, javaFactory, Source.class);
         serviceDefinition.setName("Source");
         type.getServices().add(serviceDefinition);
         type.setConstructorDefinition(new ConstructorDefinition<SourceImpl>(constructor));

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/ModelHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/ModelHelper.java?view=diff&rev=533445&r1=533444&r2=533445
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/ModelHelper.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/context/ModelHelper.java Sat Apr 28 16:52:22 2007
@@ -37,8 +37,6 @@
  * @version $Rev$ $Date$
  */
 public class ModelHelper {
-    private final static AssemblyFactory factory = new DefaultAssemblyFactory();
-    private final static JavaFactory javaFactory = new DefaultJavaFactory();
 
     public static Property getProperty(JavaImplementationDefinition type, String name) {
         for (Property prop : type.getProperties()) {
@@ -76,7 +74,8 @@
         }
     }
 
-    public static ComponentService createService(Class<?> type) {
+    public static ComponentService createService(AssemblyFactory factory,
+                                                 JavaFactory javaFactory, Class<?> type) {
         org.apache.tuscany.assembly.ComponentService ref = factory.createComponentService();
         ref.setName(type.getSimpleName());
         JavaInterface i = javaFactory.createJavaInterface();
@@ -87,7 +86,8 @@
         return ref;
     }
 
-    public static Reference createReference(String name, Class<?> type) {
+    public static Reference createReference(AssemblyFactory factory,
+                                            JavaFactory javaFactory, String name, Class<?> type) {
         org.apache.tuscany.assembly.Reference ref = factory.createReference();
         ref.setName(name);
         JavaInterface i = javaFactory.createJavaInterface();



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