You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by me...@apache.org on 2007/01/30 09:09:18 UTC

svn commit: r501336 - in /incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer: DeployerImpl.java federation/FederatedDeployer.java

Author: meerajk
Date: Tue Jan 30 00:09:17 2007
New Revision: 501336

URL: http://svn.apache.org/viewvc?view=rev&rev=501336
Log:
FederatedDeployer now extends DeployerImpl.

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/federation/FederatedDeployer.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=501336&r1=501335&r2=501336
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Tue Jan 30 00:09:17 2007
@@ -52,10 +52,10 @@
  * @version $Rev$ $Date$
  */
 public class DeployerImpl implements Deployer {
-    private XMLInputFactory xmlFactory;
-    private Loader loader;
-    private Builder builder;
-    private ScopeContainerMonitor monitor;
+    protected XMLInputFactory xmlFactory;
+    protected Loader loader;
+    protected Builder builder;
+    protected ScopeContainerMonitor monitor;
 
     public DeployerImpl(XMLInputFactory xmlFactory, Loader loader, Builder builder) {
         this.xmlFactory = xmlFactory;

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/federation/FederatedDeployer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/federation/FederatedDeployer.java?view=diff&rev=501336&r1=501335&r2=501336
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/federation/FederatedDeployer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/federation/FederatedDeployer.java Tue Jan 30 00:09:17 2007
@@ -19,16 +19,18 @@
 package org.apache.tuscany.core.deployer.federation;
 
 import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
+import org.apache.tuscany.core.component.scope.CompositeScopeContainer;
+import org.apache.tuscany.core.deployer.DeployerImpl;
+import org.apache.tuscany.core.deployer.RootDeploymentContext;
 import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.builder.BuilderException;
-import org.apache.tuscany.spi.builder.BuilderRegistry;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.ScopeContainer;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.Implementation;
+import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.services.discovery.DiscoveryService;
 import org.apache.tuscany.spi.services.discovery.RequestListener;
 
@@ -36,16 +38,15 @@
  * Federated deployer that deploys components in response to asynchronous 
  * messages from the federated domain.
  * 
+ * TODO Common abstractions between federated and local deployer.
+ * 
  * @version $Revision$ $Date$
  *
  */
-public class FederatedDeployer implements RequestListener {
+public class FederatedDeployer extends DeployerImpl implements RequestListener {
     
     /** QName of the message. */
     private static final QName MESSAGE_TYPE = new QName("http://www.osoa.org/xmlns/sca/1.0", "composite");
-
-    /** Builder registry. */
-    private BuilderRegistry builderRegistry;
     
     /**
      * Deploys the SCDL.
@@ -56,17 +57,20 @@
      */
     public XMLStreamReader onRequest(XMLStreamReader content) {
         
-        // TODO get this from the content
-        final ComponentDefinition<Implementation<?>> definition = null;
-        // TODO get this from somewhere
-        final DeploymentContext context = null;
         // TODO get this from somewhere
         final CompositeComponent parent = null;
+        
+        final ScopeContainer scopeContainer = new CompositeScopeContainer(monitor);
+        scopeContainer.start();
+        
+        final DeploymentContext deploymentContext = new RootDeploymentContext(null, xmlFactory, scopeContainer, null);
 
         try {
-            Component component = builderRegistry.build(parent, definition, context);
-            component.start();
-        } catch (BuilderException ex) {
+            final Component component = (Component) loader.load(parent, null, content, deploymentContext);
+            // TODO Now the component is loaded, build and start it
+        } catch (LoaderException ex) {
+            return null;
+        } catch (XMLStreamException ex) {
             return null;
         }
         
@@ -80,15 +84,6 @@
     @Autowire
     public void setDiscoveryService(DiscoveryService discoveryService) {
         discoveryService.registerRequestListener(MESSAGE_TYPE, this);
-    }
-    
-    /**
-     * Injects the builder registry.
-     * @param discoveryService Builder registry to be injected.
-     */
-    @Autowire
-    public void setBuilderRegistry(BuilderRegistry builderRegistry) {
-        this.builderRegistry = builderRegistry;
     }
 
 }



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