You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/10/24 06:31:01 UTC

svn commit: r587778 [8/13] - in /incubator/tuscany/branches/sca-java-1.0.1: ./ distribution/ distribution/bundle/ distribution/manifest/ distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ distribution/webapp/src/main/resources/_node/ dist...

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/domain-impl/src/main/resources/webroot/index.html
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/domain-impl/src/main/resources/webroot/index.html?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/domain-impl/src/main/resources/webroot/index.html (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/domain-impl/src/main/resources/webroot/index.html Tue Oct 23 21:30:02 2007
@@ -24,37 +24,87 @@
 
     <script language="JavaScript">
     
-       domainManager = new JSONRpcClient("../DomainManagerComponent/DomainManagerJson");
+       domainManager = new JSONRpcClient("../DomainManagerComponent/DomainManagementService");
+       var domainInfo;
 
-       function getNodeInfo() {
-          domainManager.DomainManagerService.getNodeInfo(handleGetNodeInfo);
+       function getDomainInfo() {
+          domainManager.DomainManagementService.getDomainDescription(handleGetDomainInfo);
        }
        
-       function handleGetNodeInfo(result) {
+       function handleGetDomainInfo(result) {
        
-          var text = ""
+          domainInfo = result;
+          var text = "";
+          document.getElementById('domainName').innerHTML="Domain:&nbsp;&nbsp;" + domainInfo.domainURI;
           
-          for (var i in result.list){
-              var node = result.list[i];
-              
+          text = text + "<H2>Nodes</H2>";
+          
+          for (var i in domainInfo.nodes.list){
+              var nodeURI = domainInfo.nodes.list[i];
+             
+              text = text + "<table>";
+              text = text + "<TR CLASS='source_1' >";           
+              text = text + "  <TD CLASS='clickable link' ONCLICK=\"getNodeInfo('" + nodeURI + "')\">" ;
+              text = text + "    <IMG SRC='node.png'/>&nbsp;&nbsp;" + nodeURI;
+              text = text + "  </TD>"; 
+              //text = text + "  <TD CLASS='clickable link' ONCLICK=\"showNode('" + node.nodeURI + "')\">" + nodeManagerWebUrl + "</TD>";              
+              text = text + "</TR>";   
+              text = text + "<div id=\"" + nodeURI + "\">";    
+              text = text + "</table>";  
+          }     
+          
+         text = text + "<H2>Domain Contributions</H2>";
+            
+         for (var i in domainInfo.contributions.list){
+              var contributionURI = domainInfo.contributions.list[i];
               text = text + "<table>";
               text = text + "<TR CLASS='source_1' >";
               text = text + "  <TD>";
-              text = text + "    <IMG SRC='node.png'/>&nbsp;&nbsp;" + node.domainUri;
-              text = text + "  </TD>";
-              
-              var noProtocol = node.nodeManagerUrl.substring(7);
-              var colonPos = noProtocol.indexOf(':')
-              var nodeManagerWebUrl = noProtocol.substring(0, colonPos + 6);
-              nodeManagerWebUrl = "http://" + nodeManagerWebUrl + "node/index.html";
-              
-              text = text + "  <TD CLASS='clickable link' ONCLICK=\"showNode('" + nodeManagerWebUrl + "')\">" + node.nodeUri + "</TD>";
+              text = text + "    <IMG SRC='node.png'/>&nbsp;&nbsp;" + contributionURI;
+              text = text + "  </TD>";            
               text = text + "</TR>";       
-              text = text + "</table>";        
+              text = text + "</table>";                    
           }
 
+         text = text + "<H2>Deployable Composites</H2>";
+ 
+         for (var i in domainInfo.deployedComposites.list){
+              var compositeQName = domainInfo.deployedComposites.list[i];
+              text = text + "<table>";
+              text = text + "<TR CLASS='source_1' >";
+              text = text + "  <TD>";
+              text = text + "    <IMG SRC='node.png'/>&nbsp;&nbsp;" + compositeQName.namespaceURI + "#" + compositeQName.localPart;
+              text = text + "  </TD>";            
+              text = text + "</TR>";       
+              text = text + "</table>";                    
+          }
+          
           document.getElementById('domainInfo').innerHTML=text;
        }
+
+       function getNodeInfo(nodeURI) {
+          domainManager.DomainManagementService.getNodeDescription(nodeURI, handleGetNodeInfo);
+       }
+       
+       function handleGetNodeInfo(result) {
+       
+          var nodeInfo = result;
+          var text = "";
+          
+          
+          for (var i in nodeInfo.contributions.list){
+              var contributionURI = nodeInfo.contributions.list[i];
+              
+              text = text + "<TR CLASS='source_2' >";
+              text = text + "  <TD/>";
+              text = text + "  <TD>";
+              text = text + "&nbsp;&nbsp;" + contributionURI;
+              text = text + "  </TD>";            
+              text = text + "</TR>";               
+          }
+
+          document.getElementById(nodeInfo.nodeURI).innerHTML=text;
+       }
        
         function showNode(url)
         {
@@ -68,7 +118,7 @@
     <link rel="stylesheet" type="text/css" href="style.css" />
 </head>
 
-<body onload="getNodeInfo()">
+<body onload="getDomainInfo()">
 
 <h1 id="top">Apache Tuscany Domain</h1>
 <div id="errors"></div>
@@ -76,19 +126,14 @@
 <table>
 <TR>
 <TD>
-DomainURI
-</TD>
-<TD>
-NodeURI
+<div id="domainName"></div>
 </TD>
 </TR>
 </table>
 
 <div id="domainInfo"></div>
 
-<p /><input type="button" value="Refresh" onclick="getNodeInfo()" />
-
-<div id="nodePage"></div>
+<p /><input type="button" value="Refresh" onclick="getDomainInfo()" />
 
 </body>
 </html>

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/domain/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/domain/pom.xml?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/domain/pom.xml (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/domain/pom.xml Tue Oct 23 21:30:02 2007
@@ -55,6 +55,12 @@
             <version>1.0.1-incubating-SNAPSHOT</version>
         </dependency>  
                     
+         <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-domain-api</artifactId>
+            <version>1.0.1-incubating-SNAPSHOT</version>
+        </dependency>
+                            
         <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymock</artifactId>

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/BindingsActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/BindingsActivator.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/BindingsActivator.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/BindingsActivator.java Tue Oct 23 21:30:02 2007
@@ -184,7 +184,7 @@
                     } else {
                         factory = bindingActivator.createInvokerFactory(rc, rcr, b, b);
                     }
-                    if (factory instanceof ComponentLifecycle) {
+                    if ( (factory != null) &&  (factory instanceof ComponentLifecycle)) {
                         ((ComponentLifecycle)factory).start();
                     }
 //                    for (InvokerProxy invoker : invokers) {

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/pom.xml?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/pom.xml (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/pom.xml Tue Oct 23 21:30:02 2007
@@ -34,7 +34,7 @@
             <artifactId>tuscany-core</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-definitions</artifactId>
@@ -43,21 +43,27 @@
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-definitions-xml</artifactId>
+            <version>1.0.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-assembly-xml</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>    
-        
+        </dependency>
+
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-binding-sca</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-binding-sca-xml</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>        
+        </dependency>
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
@@ -67,23 +73,28 @@
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-core-databinding</artifactId>
+            <artifactId>tuscany-policy-xml</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
-            <scope>compile</scope>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-policy-xml</artifactId>
+            <artifactId>tuscany-node-api</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
         </dependency>
-                        
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-core-databinding</artifactId>
+            <version>1.0.1-incubating-SNAPSHOT</version>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-assembly-xsd</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
             <scope>runtime</scope>
         </dependency>
-                        
+
     </dependencies>
 </project>

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java Tue Oct 23 21:30:02 2007
@@ -39,7 +39,6 @@
 import org.apache.tuscany.sca.assembly.CompositeService;
 import org.apache.tuscany.sca.assembly.SCABinding;
 import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.OptimizableBinding;
 import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
 import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
 import org.apache.tuscany.sca.assembly.xml.Constants;
@@ -58,6 +57,7 @@
 import org.apache.tuscany.sca.host.embedded.management.ComponentManager;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
+import org.apache.tuscany.sca.policy.Policy;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
 import org.apache.tuscany.sca.runtime.RuntimeComponentContext;
 import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
@@ -96,6 +96,9 @@
         this.composites = composites;
 
         // Create and start the runtime
+        // System.out.println("Test " + ReallySmallRuntime.class.getCanonicalName());
+        // IntentAttachPointTypeFactory iaptf;
+        Policy policy;
         runtime = new ReallySmallRuntime(runtimeClassLoader);
         try {
             runtime.start();

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java Tue Oct 23 21:30:02 2007
@@ -28,7 +28,6 @@
 import org.apache.tuscany.sca.assembly.CompositeService;
 import org.apache.tuscany.sca.assembly.SCABinding;
 import org.apache.tuscany.sca.assembly.SCABindingFactory;
-import org.apache.tuscany.sca.assembly.OptimizableBinding;
 import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
 import org.apache.tuscany.sca.assembly.xml.Constants;
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java Tue Oct 23 21:30:02 2007
@@ -48,7 +48,7 @@
 import org.apache.tuscany.sca.core.invocation.ProxyFactory;
 import org.apache.tuscany.sca.core.scope.ScopeRegistry;
 import org.apache.tuscany.sca.definitions.SCADefinitions;
-import org.apache.tuscany.sca.definitions.SCADefinitionsDocumentProcessor;
+import org.apache.tuscany.sca.definitions.xml.SCADefinitionsDocumentProcessor;
 import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
 import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -155,6 +155,7 @@
         //Create a composite builder
         compositeBuilder = ReallySmallRuntimeBuilder.createCompositeBuilder(assemblyFactory,
                                                                             scaBindingFactory,
+                                                                            intentAttachPointTypeFactory,
                                                                             mapper,
                                                                             domainPolicySets);
         if (logger.isLoggable(Level.FINE)) {

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java Tue Oct 23 21:30:02 2007
@@ -22,11 +22,8 @@
 import java.io.IOException;
 import java.util.List;
 
-import javax.xml.XMLConstants;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLOutputFactory;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
 
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.SCABindingFactory;
@@ -43,6 +40,7 @@
 import org.apache.tuscany.sca.context.RequestContextFactory;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.DefaultValidatingXMLInputFactory;
 import org.apache.tuscany.sca.contribution.processor.ExtensiblePackageProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
@@ -50,6 +48,7 @@
 import org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
 import org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint;
@@ -77,10 +76,11 @@
 import org.apache.tuscany.sca.core.scope.ScopeRegistry;
 import org.apache.tuscany.sca.core.scope.ScopeRegistryImpl;
 import org.apache.tuscany.sca.core.scope.StatelessScopeContainerFactory;
-import org.apache.tuscany.sca.definitions.SCADefinitionsDocumentProcessor;
+import org.apache.tuscany.sca.definitions.xml.SCADefinitionsDocumentProcessor;
 import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
 import org.apache.tuscany.sca.invocation.MessageFactory;
+import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
 import org.apache.tuscany.sca.policy.PolicyFactory;
 import org.apache.tuscany.sca.policy.PolicySet;
 import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint;
@@ -148,9 +148,10 @@
 
     public static CompositeBuilder createCompositeBuilder(AssemblyFactory assemblyFactory,
                                                           SCABindingFactory scaBindingFactory,
+                                                          IntentAttachPointTypeFactory intentAttachPointTypeFactory,
                                                           InterfaceContractMapper interfaceContractMapper, 
                                                           List<PolicySet> domainPolicySets) {
-        return new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, interfaceContractMapper, domainPolicySets, null);
+        return new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, intentAttachPointTypeFactory, interfaceContractMapper, domainPolicySets, null);
     }
 
     /**
@@ -166,15 +167,23 @@
                                                                 InterfaceContractMapper mapper)
         throws ActivationException {
 
-        XMLInputFactory xmlFactory = registry.getExtensionPoint(XMLInputFactory.class);
+        // Create a new XML input factory
+        XMLInputFactory inputFactory = XMLInputFactory.newInstance();
 
+        // Create a validation XML schema extension point
+        ValidationSchemaExtensionPoint schemas = registry.getExtensionPoint(ValidationSchemaExtensionPoint.class);
+        schemas.addSchema(ReallySmallRuntimeBuilder.class.getClassLoader().getResource("tuscany-sca.xsd").toString());
+        
+        // Create a validating XML input factory
+        XMLInputFactory validatingInputFactory = new DefaultValidatingXMLInputFactory(inputFactory, schemas);
+        
         // Create STAX artifact processor extension point
         StAXArtifactProcessorExtensionPoint staxProcessors =
             registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
 
         // Create and register STAX processors for SCA assembly XML
         ExtensibleStAXArtifactProcessor staxProcessor =
-            new ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory, XMLOutputFactory.newInstance());
+            new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, XMLOutputFactory.newInstance());
         staxProcessors.addArtifactProcessor(new CompositeProcessor(contributionFactory, assemblyFactory, policyFactory,
                                                                    mapper, staxProcessor));
         staxProcessors.addArtifactProcessor(new ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
@@ -189,30 +198,16 @@
         URLArtifactProcessorExtensionPoint documentProcessors =
             registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
 
-        // Load the Assembly XSD, used for validation
-        Schema schema = null;
-        try {
-            SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
-            schema = schemaFactory.newSchema(ReallySmallRuntimeBuilder.class.getClassLoader().getResource("tuscany-sca.xsd"));
-        } catch (Error e) {
-            //FIXME Log this, some old JDKs don't support XMLSchema validation
-            //e.printStackTrace();
-        } catch (Exception e) {
-            //FIXME Log this, some old JDKs don't support XMLSchema validation
-            //e.printStackTrace();
-        }
-        
         // Create and register document processors for SCA assembly XML
-        XMLInputFactory inputFactory = XMLInputFactory.newInstance();
-        documentProcessors.addArtifactProcessor(new CompositeDocumentProcessor(staxProcessor, inputFactory, schema));
-        documentProcessors.addArtifactProcessor(new ComponentTypeDocumentProcessor(staxProcessor, inputFactory, schema));
-        documentProcessors.addArtifactProcessor(new ConstrainingTypeDocumentProcessor(staxProcessor, inputFactory, schema));
+        documentProcessors.addArtifactProcessor(new CompositeDocumentProcessor(staxProcessor, validatingInputFactory));
+        documentProcessors.addArtifactProcessor(new ComponentTypeDocumentProcessor(staxProcessor, validatingInputFactory));
+        documentProcessors.addArtifactProcessor(new ConstrainingTypeDocumentProcessor(staxProcessor, validatingInputFactory));
 
         // Create and register document processor for definitions.xml
         //TODO No XMLSchema validation for definitions.xml for now
         // as the XSD for it is not quite right yet
         SCADefinitionsDocumentProcessor definitionsDocumentProcessor =
-            new SCADefinitionsDocumentProcessor(staxProcessors, staxProcessor, xmlFactory, policyFactory, null);
+            new SCADefinitionsDocumentProcessor(staxProcessors, staxProcessor, inputFactory, policyFactory);
         documentProcessors.addArtifactProcessor(definitionsDocumentProcessor);
         ModelResolver domainModelResolver = definitionsDocumentProcessor.getDomainModelResolver();
 
@@ -234,7 +229,7 @@
         // Create a contribution repository
         ContributionRepository repository;
         try {
-            repository = new ContributionRepositoryImpl("target", xmlFactory);
+            repository = new ContributionRepositoryImpl("target", inputFactory);
         } catch (IOException e) {
             throw new ActivationException(e);
         }
@@ -245,7 +240,7 @@
         ContributionService contributionService =
             new ContributionServiceImpl(repository, packageProcessor, documentProcessor, staxProcessor,
                                         contributionListener, domainModelResolver, modelResolvers, modelFactories,
-                                        assemblyFactory, contributionFactory, xmlFactory);
+                                        assemblyFactory, contributionFactory, inputFactory);
         return contributionService;
     }
 

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomainTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomainTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomainTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomainTestCase.java Tue Oct 23 21:30:02 2007
@@ -19,11 +19,11 @@
 
 package org.apache.tuscany.sca.host.embedded.impl;
 
+import junit.framework.TestCase;
+
 import org.apache.tuscany.sca.host.embedded.management.ComponentManager;
 
 import test.crud.CRUD;
-
-import junit.framework.TestCase;
 
 /**
  * @version $Rev$ $Date$

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/test/crud/CRUDImplementationFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/test/crud/CRUDImplementationFactory.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/test/crud/CRUDImplementationFactory.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/test/crud/CRUDImplementationFactory.java Tue Oct 23 21:30:02 2007
@@ -19,7 +19,6 @@
 
 package test.crud;
 
-import test.crud.CRUDImplementation;
 
 /**
  * A factory for the sample CRUD implementation model.

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/test/crud/DefaultCRUDImplementationFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/test/crud/DefaultCRUDImplementationFactory.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/test/crud/DefaultCRUDImplementationFactory.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-embedded/src/test/java/test/crud/DefaultCRUDImplementationFactory.java Tue Oct 23 21:30:02 2007
@@ -24,9 +24,6 @@
 
 import test.crud.impl.CRUDImplementationImpl;
 
-import test.crud.CRUDImplementation;
-import test.crud.CRUDImplementationFactory;
-
 /**
  * A default factory for the CRUD implementation model.
  *

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyDefaultServlet.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyDefaultServlet.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyDefaultServlet.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyDefaultServlet.java Tue Oct 23 21:30:02 2007
@@ -21,7 +21,6 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java Tue Oct 23 21:30:02 2007
@@ -20,10 +20,6 @@
 
 import java.rmi.Remote;
 
-import org.apache.tuscany.sca.host.rmi.DefaultRMIHost;
-import org.apache.tuscany.sca.host.rmi.RMIHostException;
-import org.apache.tuscany.sca.host.rmi.RMIHostRuntimeException;
-
 import junit.framework.TestCase;
 
 public class RMIHostImplTestCase extends TestCase {

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java Tue Oct 23 21:30:02 2007
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.util.Hashtable;
 
@@ -47,33 +48,39 @@
     public TomcatDefaultServlet(String servletPath, String documentRoot) {
         this.documentRoot = documentRoot;
         
-        DirContext dirContext = new FileDirContext() {
+        DirContext dirContext;
+        URI uri = URI.create(documentRoot);
+        if (!"file".equals(uri.getScheme())) {
             
-            @Override
-            public Attributes getAttributes(String name) throws NamingException {
-                return new BasicAttributes();
-            }
-            
-            @Override
-            public Object lookup(String name) throws NamingException {
+            dirContext = new FileDirContext() {
+                @Override
+                public Attributes getAttributes(String name) throws NamingException {
+                    return new BasicAttributes();
+                }
                 
-                try {
-                    final URL url = new URL(TomcatDefaultServlet.this.documentRoot + name);
-                    return new Resource() {
-                        
-                        @Override
-                        public InputStream streamContent() throws IOException {
-                            return url.openStream();
-                        }
-                    };
-                } catch (MalformedURLException e) {
-                    throw new NamingException(e.toString());
+                @Override
+                public Object lookup(String name) throws NamingException {
+                    
+                    try {
+                        final URL url = new URL(TomcatDefaultServlet.this.documentRoot + name);
+                        return new Resource() {
+                            @Override
+                            public InputStream streamContent() throws IOException {
+                                return url.openStream();
+                            }
+                        };
+                    } catch (MalformedURLException e) {
+                        throw new NamingException(e.toString());
+                    }
                 }
-            }
-        };
-        
+            };
+            
+        } else {
+            dirContext = new FileDirContext();
+            ((FileDirContext)dirContext).setDocBase(uri.getPath());
+        }
         proxyDirContext = new ProxyDirContext(new Hashtable(), dirContext);
-        resources = proxyDirContext;
+        resources = proxyDirContext;            
     }
     
     @Override

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/pom.xml?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/pom.xml (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/pom.xml Tue Oct 23 21:30:02 2007
@@ -18,398 +18,359 @@
     * under the License.
 -->
 <project>
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.tuscany.sca</groupId>
-        <artifactId>tuscany-modules</artifactId>
-        <version>1.0.1-incubating-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>tuscany-implementation-bpel</artifactId>
-    <name>Apache Tuscany SCA BPEL Implementation Extension</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-assembly</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-core</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-interface</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-assembly-xml</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-contribution-impl</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-sca-api</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-databinding</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-databinding-axiom</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>  
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-implementation-java-runtime</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-host-embedded</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-interface-wsdl</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-interface-wsdl-xml</artifactId>
-            <version>1.0.1-incubating-SNAPSHOT</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tuscany.sdo</groupId>
-            <artifactId>tuscany-sdo-impl</artifactId>
-            <version>1.0-incubating</version>
-            <scope>compile</scope>
-        </dependency>
-		
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>3.8.1</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
-            <version>2.2</version>
-            <scope>test</scope>
-        </dependency>
-
-
-        <!-- ODE Jars -->
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-epr</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-store</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-dao</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-dao</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-dao-jpa</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-dao-jpa-ojpa-derby</artifactId>
-            <version>1.1</version>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-runtime</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-api</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-scheduler-simple</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-utils</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-compiler</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-schemas</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-bpel-obj</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-jacob</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ode</groupId>
-            <artifactId>ode-jacob-ap</artifactId>
-            <version>1.1</version>
-        </dependency>
-                
-        <!-- ODE Dependencies -->
-	<dependency>
-		<groupId>commons-lang</groupId>
-		<artifactId>commons-lang</artifactId>
-		<version>2.1</version>
-	</dependency>
-	<dependency>
-		<groupId>commons-collections</groupId>
-		<artifactId>commons-collections</artifactId>
-		<version>3.1</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.geronimo.specs</groupId>
-		<artifactId>geronimo-jta_1.0.1B_spec</artifactId>
-		<version>1.0</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.geronimo.modules</groupId>
-		<artifactId>geronimo-kernel</artifactId>
-		<version>1.2-beta</version>
-		<exclusions>
-			<exclusion>
-				<groupId>mx4j</groupId>
-				<artifactId>mx4j</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>xpp3</groupId>
-				<artifactId>xpp3</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>xstream</groupId>
-				<artifactId>xstream</artifactId>
-			</exclusion>
-		</exclusions>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.geronimo.modules</groupId>
-		<artifactId>geronimo-transaction</artifactId>
-		<version>1.2-beta</version>
-		<exclusions>
-			<exclusion>
-				<groupId>org.apache.geronimo.specs</groupId>
-				<artifactId>geronimo-ejb_2.1_spec</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>ognl</groupId>
-				<artifactId>ognl</artifactId>
-			</exclusion>
-		</exclusions>
-	</dependency>
-        <dependency>
-		<groupId>org.apache.geronimo.specs</groupId>
-		<artifactId>geronimo-ejb_3.0_spec</artifactId>
-		<version>1.0</version>
-	</dependency>		
-	<dependency>
-		<groupId>org.apache.geronimo.modules</groupId>
-		<artifactId>geronimo-connector</artifactId>
-		<version>1.2-beta</version>
-		<exclusions>
-			<exclusion>
-				<groupId>xmlbeans</groupId>
-				<artifactId>xbean</artifactId>
-			</exclusion>
-		</exclusions>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.derby</groupId>
-		<artifactId>derby</artifactId>
-		<version>10.1.3.1</version>
-	</dependency>
-	<dependency>
-		<groupId>tranql</groupId>
-		<artifactId>tranql-connector</artifactId>
-		<version>1.1</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.openjpa</groupId>
-		<artifactId>openjpa-all</artifactId>
-		<version>0.9.7-incubating</version>
-		<exclusions>
-			<exclusion>
-				<groupId>org.apache.openjpa</groupId>
-				<artifactId>openjpa-lib</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>org.apache.openjpa</groupId>
-				<artifactId>openjpa-kernel</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>org.apache.openjpa</groupId>
-				<artifactId>openjpa-kernel-5</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>org.apache.openjpa</groupId>
-				<artifactId>openjpa-jdbc</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>org.apache.openjpa</groupId>
-				<artifactId>openjpa-jdbc-5</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>org.apache.openjpa</groupId>
-				<artifactId>openjpa-persistence-jdbc</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>org.apache.openjpa</groupId>
-				<artifactId>openjpa-xmlstore</artifactId>
-			</exclusion>
-		</exclusions>
-	</dependency>
-	<dependency>
-		<groupId>net.sourceforge.serp</groupId>
-		<artifactId>serp</artifactId>
-		<version>1.12.0</version>
-	</dependency>
-	<dependency>
-	    <groupId>xerces</groupId>
-	    <artifactId>xercesImpl</artifactId>
-	    <version>2.8.1</version>
-	</dependency>	
-        <dependency>
-		<groupId>org.apache.xmlbeans</groupId>
-		<artifactId>xmlbeans</artifactId>
-		<version>2.3.0</version>
-	</dependency>	
-	<dependency>
-		<groupId>net.sf.saxon</groupId>
-		<artifactId>saxon</artifactId>
-		<version>8.7</version>
-	</dependency>
-	<dependency>
-		<groupId>net.sf.saxon</groupId>
-		<artifactId>saxon-dom</artifactId>
-		<version>8.7</version>
-	</dependency>
-	<dependency>
-		<groupId>net.sf.saxon</groupId>
-		<artifactId>saxon-xpath</artifactId>
-		<version>8.7</version>
-	</dependency>
-    </dependencies>
-
-    <build>
-	<plugins>
-		<plugin>
-			<groupId>org.apache.maven.plugins</groupId>
-			<artifactId>maven-surefire-plugin</artifactId>
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.apache.tuscany.sca</groupId>
+		<artifactId>tuscany-modules</artifactId>
+		<version>1.0.1-incubating-SNAPSHOT</version>
+		<relativePath>../pom.xml</relativePath>
+	</parent>
+	<artifactId>tuscany-implementation-bpel</artifactId>
+	<name>Apache Tuscany SCA BPEL Implementation Extension</name>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-assembly</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-core</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-interface</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-assembly-xml</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-contribution-impl</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-sca-api</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-databinding</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-implementation-java-runtime</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-host-embedded</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-interface-wsdl</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-interface-wsdl-xml</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sdo</groupId>
+			<artifactId>tuscany-sdo-impl</artifactId>
+			<version>1.0-incubating-SNAPSHOT</version>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-maven-wsdl2java</artifactId>
+			<version>1.0.1-incubating-SNAPSHOT</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>3.8.1</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.easymock</groupId>
+			<artifactId>easymock</artifactId>
 			<version>2.2</version>
-			<configuration>
-				<useFile>false</useFile>
-				<trimStackTrace>false</trimStackTrace>
-				<skip>true</skip>
-				<!--useSystemClassLoader>true</useSystemClassLoader-->
-			</configuration>
-		</plugin>
-			
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>unpack</id>
-                        <phase>test-compile</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.ode</groupId>
-                                    <artifactId>ode-dao-jpa-ojpa-derby</artifactId>
-                                    <version>1.1</version>
-                                    <type>zip</type>
-                                    <overWrite>true</overWrite>
-                                    <outputDirectory>${project.build.directory}/test-classes/</outputDirectory>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-
-			<!-- plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>build-helper-maven-plugin</artifactId>
-				<version>1.0</version>
+			<scope>test</scope>
+		</dependency>
+		
+		<!-- ODE Jars -->
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-epr</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-store</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-dao</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-dao</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-dao-jpa</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-dao-jpa-ojpa-derby</artifactId>
+			<version>1.1</version>
+			<type>zip</type>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-runtime</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-api</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-scheduler-simple</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-utils</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-compiler</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-schemas</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-bpel-obj</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-jacob</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ode</groupId>
+			<artifactId>ode-jacob-ap</artifactId>
+			<version>1.1</version>
+		</dependency>
+		
+		<!-- ODE Dependencies -->
+		<dependency>
+			<groupId>commons-lang</groupId>
+			<artifactId>commons-lang</artifactId>
+			<version>2.1</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-collections</groupId>
+			<artifactId>commons-collections</artifactId>
+			<version>3.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+			<version>1.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.modules</groupId>
+			<artifactId>geronimo-kernel</artifactId>
+			<version>1.2-beta</version>
+			<exclusions>
+				<exclusion>
+					<groupId>mx4j</groupId>
+					<artifactId>mx4j</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>xpp3</groupId>
+					<artifactId>xpp3</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>xstream</groupId>
+					<artifactId>xstream</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.modules</groupId>
+			<artifactId>geronimo-transaction</artifactId>
+			<version>1.2-beta</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.apache.geronimo.specs</groupId>
+					<artifactId>geronimo-ejb_2.1_spec</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>ognl</groupId>
+					<artifactId>ognl</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-ejb_3.0_spec</artifactId>
+			<version>1.0</version>
+		</dependency>		
+		<dependency>
+			<groupId>org.apache.geronimo.modules</groupId>
+			<artifactId>geronimo-connector</artifactId>
+			<version>1.2-beta</version>
+			<exclusions>
+				<exclusion>
+					<groupId>xmlbeans</groupId>
+					<artifactId>xbean</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.derby</groupId>
+			<artifactId>derby</artifactId>
+			<version>10.1.3.1</version>
+		</dependency>
+		<dependency>
+			<groupId>tranql</groupId>
+			<artifactId>tranql-connector</artifactId>
+			<version>1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.openjpa</groupId>
+			<artifactId>openjpa-all</artifactId>
+			<version>0.9.7-incubating</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.apache.openjpa</groupId>
+					<artifactId>openjpa-lib</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.openjpa</groupId>
+					<artifactId>openjpa-kernel</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.openjpa</groupId>
+					<artifactId>openjpa-kernel-5</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.openjpa</groupId>
+					<artifactId>openjpa-jdbc</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.openjpa</groupId>
+					<artifactId>openjpa-jdbc-5</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.openjpa</groupId>
+					<artifactId>openjpa-persistence-jdbc</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.openjpa</groupId>
+					<artifactId>openjpa-xmlstore</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>net.sourceforge.serp</groupId>
+			<artifactId>serp</artifactId>
+			<version>1.12.0</version>
+		</dependency>
+		<dependency>
+			<groupId>xerces</groupId>
+			<artifactId>xercesImpl</artifactId>
+			<version>2.8.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.xmlbeans</groupId>
+			<artifactId>xmlbeans</artifactId>
+			<version>2.3.0</version>
+		</dependency>
+		<dependency>
+			<groupId>net.sf.saxon</groupId>
+			<artifactId>saxon</artifactId>
+			<version>8.7</version>
+		</dependency>
+		<dependency>
+			<groupId>net.sf.saxon</groupId>
+			<artifactId>saxon-dom</artifactId>
+			<version>8.7</version>
+		</dependency>
+		<dependency>
+			<groupId>net.sf.saxon</groupId>
+			<artifactId>saxon-xpath</artifactId>
+			<version>8.7</version>
+		</dependency>
+	</dependencies>
+	
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+                <!-- http://jira.codehaus.org/browse/SUREFIRE-322 -->
+                <version>2.3.1-SNAPSHOT</version>
+				<configuration>
+					<useFile>false</useFile>
+					<trimStackTrace>false</trimStackTrace>
+					<useSystemClassLoader>true</useSystemClassLoader>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-dependency-plugin</artifactId>
 				<executions>
 					<execution>
-						<id>add-test-source</id>
-						<phase>generate-sources</phase>
+						<id>unpack</id>
+						<phase>test-compile</phase>
 						<goals>
-							<goal>add-test-source</goal>
+							<goal>unpack</goal>
 						</goals>
 						<configuration>
-							<sources>
-								<source>${basedir}/target/wsdl-source</source>
-							</sources>
+							<artifactItems>
+								<artifactItem>
+									<groupId>org.apache.ode</groupId>
+									<artifactId>ode-dao-jpa-ojpa-derby</artifactId>
+									<version>1.1</version>
+									<type>zip</type>
+									<overWrite>true</overWrite>
+									<outputDirectory>${project.build.directory}/test-classes/</outputDirectory>
+								</artifactItem>
+							</artifactItems>
 						</configuration>
 					</execution>
 				</executions>
-			</plugin -->
-
+			</plugin>
 			<plugin>
 				<groupId>org.apache.tuscany.sdo</groupId>
 				<artifactId>tuscany-sdo-plugin</artifactId>
-				<version>1.0-incubating</version>
+				<version>1.0-incubating-SNAPSHOT</version>
 				<executions>
 					<execution>
 						<id>generate-bpel-helloworld</id>
@@ -447,8 +408,6 @@
 					</execution>
 				</executions>
 			</plugin>
-
-        </plugins>
-    </build>
-
+		</plugins>
+	</build>
 </project>

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java Tue Oct 23 21:30:02 2007
@@ -18,7 +18,6 @@
  */
 package org.apache.tuscany.sca.implementation.bpel.impl;
 
-import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.InputStream;
 import java.net.URI;
@@ -38,7 +37,6 @@
 import org.apache.tuscany.sca.assembly.ConstrainingType;
 import org.apache.tuscany.sca.assembly.Property;
 import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.Service;
 import org.apache.tuscany.sca.assembly.impl.ComponentTypeImpl;
 import org.apache.tuscany.sca.implementation.bpel.BPELImplementation;
 import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition;

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationProcessor.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationProcessor.java Tue Oct 23 21:30:02 2007
@@ -180,7 +180,7 @@
             }
             for (Service service : componentType.getServices()) {
                 //set default dataBinding to DOM
-                service.getInterfaceContract().getInterface().setDefaultDataBinding(DOMDataBinding.NAME);
+                service.getInterfaceContract().getInterface().resetDataBinding(DOMDataBinding.NAME);
                 
                 serviceMap.put(service.getName(), service);
             }

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java Tue Oct 23 21:30:02 2007
@@ -23,7 +23,6 @@
 
 import javax.xml.namespace.QName;
 
-import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition;
 
 /**

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java Tue Oct 23 21:30:02 2007
@@ -42,9 +42,9 @@
 import org.apache.ode.bpel.memdao.BpelDAOConnectionFactoryImpl;
 import org.apache.ode.il.config.OdeConfigProperties;
 import org.apache.ode.il.dbutil.Database;
-import org.apache.ode.store.ProcessStoreImpl;
-import org.apache.ode.scheduler.simple.SimpleScheduler;
 import org.apache.ode.scheduler.simple.JdbcDelegate;
+import org.apache.ode.scheduler.simple.SimpleScheduler;
+import org.apache.ode.store.ProcessStoreImpl;
 import org.apache.ode.utils.GUID;
 
 /**

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java Tue Oct 23 21:30:02 2007
@@ -19,10 +19,10 @@
 
 package org.apache.tuscany.sca.implementation.bpel.ode;
 
+import javax.transaction.TransactionManager;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-
-import javax.transaction.TransactionManager;
 
 /**
  * Geronimo transaction factory

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java Tue Oct 23 21:30:02 2007
@@ -19,14 +19,14 @@
 
 package org.apache.tuscany.sca.implementation.bpel.ode;
 
+import javax.wsdl.PortType;
+import javax.xml.namespace.QName;
+
 import org.apache.ode.bpel.iapi.BindingContext;
-import org.apache.ode.bpel.iapi.EndpointReference;
 import org.apache.ode.bpel.iapi.Endpoint;
+import org.apache.ode.bpel.iapi.EndpointReference;
 import org.apache.ode.bpel.iapi.PartnerRoleChannel;
 import org.w3c.dom.Document;
-
-import javax.xml.namespace.QName;
-import javax.wsdl.PortType;
 
 /**
  * @author Matthieu Riou <mr...@apache.org>

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java Tue Oct 23 21:30:02 2007
@@ -20,8 +20,11 @@
 
 package org.apache.tuscany.sca.implementation.bpel.ode;
 
-import org.apache.ode.bpel.iapi.*;
-import org.apache.ode.utils.DOMUtils;
+import org.apache.ode.bpel.iapi.BpelEngineException;
+import org.apache.ode.bpel.iapi.ContextException;
+import org.apache.ode.bpel.iapi.MessageExchangeContext;
+import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
+import org.apache.ode.bpel.iapi.PartnerRoleMessageExchange;
 
 /**
  * @author Matthieu Riou <mr...@apache.org>

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/pom.xml?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/pom.xml (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/pom.xml Tue Oct 23 21:30:02 2007
@@ -64,6 +64,12 @@
             <artifactId>tuscany-contribution-impl</artifactId>
             <version>1.0.1-incubating-SNAPSHOT</version>
         </dependency>
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-policy-logging</artifactId>
+            <version>1.0.1-incubating-SNAPSHOT</version>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java Tue Oct 23 21:30:02 2007
@@ -18,17 +18,22 @@
  */
 package org.apache.tuscany.sca.implementation.java.injection;
 
+import java.lang.reflect.Array;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.StringTokenizer;
 
+import org.apache.tuscany.sca.assembly.ComponentProperty;
 import org.apache.tuscany.sca.assembly.Property;
+import org.apache.tuscany.sca.context.PropertyValueFactory;
 import org.apache.tuscany.sca.core.factory.ObjectCreationException;
 import org.apache.tuscany.sca.core.factory.ObjectFactory;
 import org.apache.tuscany.sca.databinding.Mediator;
 import org.apache.tuscany.sca.databinding.SimpleTypeMapper;
 import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl;
 import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
+import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl;
+import org.apache.tuscany.sca.implementation.java.introspect.impl.JavaIntrospectionHelper;
 import org.apache.tuscany.sca.interfacedef.DataType;
 import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
 import org.apache.tuscany.sca.interfacedef.util.TypeInfo;
@@ -37,13 +42,56 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
-public class JavaPropertyValueObjectFactory {
+public class JavaPropertyValueObjectFactory implements PropertyValueFactory {
     private Mediator mediator = null;
     private boolean isSimpleType;
 
     public JavaPropertyValueObjectFactory(Mediator mediator) {
         this.mediator = mediator;
     }
+    
+    public ObjectFactory createValueFactory(Property property, Object propertyValue, JavaElementImpl javaElement) {
+        isSimpleType = isSimpleType(property);
+        Document doc = (Document)propertyValue;
+        Class javaType = JavaIntrospectionHelper.getBaseType(javaElement.getType(), javaElement.getGenericType());
+        Element rootElement = doc.getDocumentElement();
+        if (property.isMany()) {
+            if (isSimpleType) {
+                String value = "";
+                if (rootElement.getChildNodes().getLength() > 0) {
+                    value = rootElement.getChildNodes().item(0).getTextContent();
+                }
+                List<String> values = getSimplePropertyValues(value, javaType);
+                if ( javaElement.getType().isArray() ) {
+                    return new ArrayObjectFactoryImpl(property, values, isSimpleType, javaType);
+                } else {
+                    return new ListObjectFactoryImpl(property, values, isSimpleType, javaType);
+                }
+            } else {
+                if ( javaElement.getType().isArray() ) {
+                    return new ArrayObjectFactoryImpl(property, getComplexPropertyValues(doc), isSimpleType, javaType);
+                } else {
+                    return new ListObjectFactoryImpl(property, getComplexPropertyValues(doc), isSimpleType, javaType);
+                }
+            }
+        } else {
+            if (isSimpleType) {
+                String value = "";
+                if (rootElement.getChildNodes().getLength() > 0) {
+                    value = rootElement.getChildNodes().item(0).getTextContent();
+                }
+                return new ObjectFactoryImpl(property, value, isSimpleType, javaType);
+            } else {
+                List<Node> nodes = getComplexPropertyValues(doc);
+                Object value = null;
+                if (!nodes.isEmpty()) {
+                    value = nodes.get(0);
+                }
+                return new ObjectFactoryImpl(property, value, isSimpleType, javaType);
+            }
+
+        }
+    }
 
     public ObjectFactory createValueFactory(Property property, Object propertyValue, Class javaType) {
         isSimpleType = isSimpleType(property);
@@ -77,7 +125,7 @@
             }
 
         }
-    }
+    } 
 
     private boolean isSimpleType(Property property) {
         if (property.getXSDType() != null) {
@@ -198,5 +246,45 @@
                 return instances;
             }
         }
+    }
+    
+    public class ArrayObjectFactoryImpl extends ObjectFactoryImplBase {
+        public ArrayObjectFactoryImpl(Property property, List<?> propertyValues, boolean isSimpleType, Class javaType) {
+            super(property, propertyValues, isSimpleType, javaType);
+        }
+
+        @SuppressWarnings("unchecked")
+        public Object getInstance() throws ObjectCreationException {
+            if (isSimpleType) {
+                int count = 0;
+                Object values = Array.newInstance(javaType, ((List<Object>)propertyValue).size());
+                for (String aValue : (List<String>)propertyValue) {
+                    Array.set(values, count++, simpleTypeMapper.toJavaObject(property.getXSDType(), aValue, null));
+                }
+                return values;
+            } else {
+                Object instances = Array.newInstance(javaType, ((List<Object>)propertyValue).size());
+                int count = 0;
+                for (Node aValue : (List<Node>)propertyValue) {
+                    Array.set(instances, count++, mediator.mediate(aValue, sourceDataType, targetDataType, null));
+                }
+                return instances;
+            }
+        }
+    }
+
+    /**
+     * This method will create an instance of the value for the specified Property.
+     * 
+     * @param property The Property from which to retrieve the property value
+     * @param type The type of the property value being retrieved from the Property
+     * @param <B> Type type of the property value being looked up
+     * 
+     * @return the value for the Property
+     */
+    public <B> B createPropertyValue(ComponentProperty property, Class<B> type)
+    {
+        ObjectFactory<B> factory = this.createValueFactory(property, property.getValue(), type);
+        return factory.getInstance();
     }
 }

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java Tue Oct 23 21:30:02 2007
@@ -35,6 +35,7 @@
 import org.apache.tuscany.sca.assembly.Reference;
 import org.apache.tuscany.sca.context.ComponentContextFactory;
 import org.apache.tuscany.sca.context.RequestContextFactory;
+import org.apache.tuscany.sca.core.context.ComponentContextImpl;
 import org.apache.tuscany.sca.core.context.InstanceWrapper;
 import org.apache.tuscany.sca.core.factory.ObjectCreationException;
 import org.apache.tuscany.sca.core.factory.ObjectFactory;
@@ -42,6 +43,8 @@
 import org.apache.tuscany.sca.core.invocation.CallbackWireObjectFactory;
 import org.apache.tuscany.sca.core.invocation.ProxyFactory;
 import org.apache.tuscany.sca.core.invocation.WireObjectFactory;
+import org.apache.tuscany.sca.core.scope.ScopeContainer;
+import org.apache.tuscany.sca.core.scope.TargetResolutionException;
 import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
 import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl;
 import org.apache.tuscany.sca.implementation.java.impl.JavaResourceImpl;
@@ -52,6 +55,9 @@
 import org.apache.tuscany.sca.interfacedef.Operation;
 import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil;
 import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
+import org.apache.tuscany.sca.policy.util.PolicyHandler;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
 import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
 import org.apache.tuscany.sca.runtime.RuntimeWire;
@@ -69,13 +75,15 @@
     private RuntimeComponent component;
     private JavaInstanceFactoryProvider<?> instanceFactoryProvider;
     private ProxyFactory proxyFactory;
+    private Map<PolicySet, PolicyHandler> policyHandlers = null;
 
     public JavaComponentContextProvider(RuntimeComponent component,
                                         JavaInstanceFactoryProvider configuration,
                                         DataBindingExtensionPoint dataBindingExtensionPoint,
                                         JavaPropertyValueObjectFactory propertyValueObjectFactory,
                                         ComponentContextFactory componentContextFactory,
-                                        RequestContextFactory requestContextFactory) {
+                                        RequestContextFactory requestContextFactory,
+                                        Map<PolicySet, PolicyHandler> policyHandlers) {
         super();
         this.instanceFactoryProvider = configuration;
         this.proxyFactory = configuration.getProxyFactory();
@@ -87,6 +95,7 @@
         this.component = component;
         this.dataBindingRegistry = dataBindingExtensionPoint;
         this.propertyValueFactory = propertyValueObjectFactory;
+        this.policyHandlers = policyHandlers;
     }
 
     InstanceWrapper<?> createInstanceWrapper() throws ObjectCreationException {
@@ -106,9 +115,9 @@
         if (element != null && !(element.getAnchor() instanceof Constructor) && configuredProperty.getValue() != null) {
             instanceFactoryProvider.getInjectionSites().add(element);
 
-            Class propertyJavaType = JavaIntrospectionHelper.getBaseType(element.getType(), element.getGenericType());
+            //Class propertyJavaType = JavaIntrospectionHelper.getBaseType(element.getType(), element.getGenericType());
             ObjectFactory<?> propertyObjectFactory =
-                createPropertyValueFactory(configuredProperty, configuredProperty.getValue(), propertyJavaType);
+                createPropertyValueFactory(configuredProperty, configuredProperty.getValue(), element);
             instanceFactoryProvider.setObjectFactory(element, propertyObjectFactory);
         }
     }
@@ -183,10 +192,11 @@
                                 JavaIntrospectionHelper.getBusinessInterface(baseType, callableRefType);
                             factory =
                                 new CallableReferenceObjectFactory(businessInterface, component,
-                                                                   (RuntimeComponentReference)wireList.get(i).getSource().getContract(),
-                                                                   wireList.get(i).getSource().getBinding());
+                                                                   (RuntimeComponentReference)wireList.get(i)
+                                                                       .getSource().getContract(), wireList.get(i)
+                                                                       .getSource().getBinding());
                         } else {
-                            factory = createWireFactory(baseType, wireList.get(i));
+                            factory = createObjectFactory(baseType, wireList.get(i));
                         }
                         factories.add(factory);
                     }
@@ -205,13 +215,21 @@
                                 new CallableReferenceObjectFactory(businessInterface, component,
                                                                    (RuntimeComponentReference)componentReference, null);
                         } else {
-                            factory = createWireFactory(element.getType(), wireList.get(0));
+                            factory = createObjectFactory(element.getType(), wireList.get(0));
                         }
                         instanceFactoryProvider.setObjectFactory(element, factory);
                     }
                 }
             }
         }
+        
+        // We need to set the PropertyValueFactory on the ComponentContextImpl
+        // so the ComponentContext can "de-marshal" the property type to a value 
+        // when the getProperty() method is called
+        ComponentContextImpl ccImpl = (ComponentContextImpl) component.getComponentContext();
+        ccImpl.setPropertyValueFactory(propertyValueFactory);
+        
+        setUpPolicyHandlers();
     }
 
     void addResourceFactory(String name, ObjectFactory<?> factory) {
@@ -251,28 +269,99 @@
     }
 
     void stop() {
+        cleanUpPolicyHandlers();
     }
 
     Invoker createInvoker(Operation operation) throws NoSuchMethodException {
         Class<?> implClass = instanceFactoryProvider.getImplementationClass();
 
         Method method = JavaInterfaceUtil.findMethod(implClass, operation);
-        return new JavaImplementationInvoker(operation, method, component);
+        
+        if ( component.getImplementation() instanceof PolicySetAttachPoint  &&
+              !((PolicySetAttachPoint)component.getImplementation()).getPolicySets().isEmpty() ) {
+            return new PoliciedJavaImplementationInvoker(operation, method, component, policyHandlers);
+        } else {
+            return new JavaImplementationInvoker(operation, method, component);
+        }
     }
 
-    private <B> WireObjectFactory<B> createWireFactory(Class<B> interfaze, RuntimeWire wire) {
-        return new WireObjectFactory<B>(interfaze, wire, proxyFactory);
+    private static class OptimizedObjectFactory<T> implements ObjectFactory<T> {
+        private ScopeContainer scopeContainer;
+
+        public OptimizedObjectFactory(ScopeContainer scopeContainer) {
+            super();
+            this.scopeContainer = scopeContainer;
+        }
+
+        public T getInstance() throws ObjectCreationException {
+            try {
+                return (T)scopeContainer.getWrapper(null).getInstance();
+            } catch (TargetResolutionException e) {
+                throw new ObjectCreationException(e);
+            }
+        }
+
     }
 
-    private ObjectFactory<?> createPropertyValueFactory(ComponentProperty property, Object propertyValue, Class javaType) {
-        return propertyValueFactory.createValueFactory(property, propertyValue, javaType);
+    private <B> ObjectFactory<B> createObjectFactory(Class<B> interfaze, RuntimeWire wire) {
+        // FIXME: [rfeng] Disable the optimization for new as it needs more discussions
+        /*
+        boolean conversational = wire.getSource().getInterfaceContract().getInterface().isConversational();
+        Binding binding = wire.getSource().getBinding();
+        // Check if it's wireable binding for optimization
+        if (!conversational && binding instanceof OptimizableBinding) {
+            OptimizableBinding optimizableBinding = (OptimizableBinding)binding;
+            Component component = optimizableBinding.getTargetComponent();
+            if (component != null) {
+                Implementation implementation = component.getImplementation();
+                // Check if the target component is java component
+                if (implementation instanceof JavaImplementation) {
+                    JavaImplementation javaImplementation = (JavaImplementation)implementation;
+                    if (interfaze.isAssignableFrom(javaImplementation.getJavaClass())) {
+                        ScopedRuntimeComponent scopedComponent = (ScopedRuntimeComponent)component;
+                        ScopeContainer scopeContainer = scopedComponent.getScopeContainer();
+                        Scope scope = scopeContainer.getScope();
+                        if (scope == Scope.COMPOSITE || scope == Scope.STATELESS || scope == Scope.SYSTEM) {
+                            boolean optimizable = true;
+                            for (InvocationChain chain : wire.getInvocationChains()) {
+                                if (chain.getHeadInvoker() != chain.getTailInvoker()) {
+                                    optimizable = false;
+                                    break;
+                                }
+                            }
+                            if (optimizable) {
+                                return new OptimizedObjectFactory<B>(scopeContainer);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        */
+        return new WireObjectFactory<B>(interfaze, wire, proxyFactory);
     }
 
+    private ObjectFactory<?> createPropertyValueFactory(ComponentProperty property, Object propertyValue, JavaElementImpl javaElement) {
+        return propertyValueFactory.createValueFactory(property, propertyValue, javaElement);
+    } 
+
     /**
      * @return the component
      */
     RuntimeComponent getComponent() {
         return component;
+    }
+    
+    private void setUpPolicyHandlers() {
+        for ( PolicyHandler policyHandler : policyHandlers.values() ) {
+            policyHandler.setUp(component.getImplementation());
+        }
+    }
+    
+    private void cleanUpPolicyHandlers() {
+        for ( PolicyHandler policyHandler : policyHandlers.values() ) {
+            policyHandler.cleanUp(this);
+        }
     }
 
 }

Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java Tue Oct 23 21:30:02 2007
@@ -40,11 +40,11 @@
  * @version $Rev$ $Date$
  */
 public class JavaImplementationInvoker implements Invoker {
-    private Operation operation;
-    private Method method;
+    protected Operation operation;
+    protected  Method method;
 
     @SuppressWarnings("unchecked")
-    private final ScopeContainer scopeContainer;
+    protected final ScopeContainer scopeContainer;
 
     public JavaImplementationInvoker(Operation operation, Method method, RuntimeComponent component) {
         assert method != null : "Operation method cannot be null";



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