You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/05/24 09:13:25 UTC

svn commit: r409082 - in /incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring: SpringCompositeBuilder.java SpringCompositeImplementation.java

Author: jmarino
Date: Wed May 24 00:13:24 2006
New Revision: 409082

URL: http://svn.apache.org/viewvc?rev=409082&view=rev
Log:
spring model object and builder

Added:
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java
    incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeImplementation.java

Added: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java?rev=409082&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeBuilder.java Wed May 24 00:13:24 2006
@@ -0,0 +1,60 @@
+package org.apache.tuscany.container.spring;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.apache.tuscany.spi.builder.BuilderConfigException;
+import org.apache.tuscany.spi.context.ComponentContext;
+import org.apache.tuscany.spi.context.CompositeContext;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
+import org.apache.tuscany.spi.model.Binding;
+import org.apache.tuscany.spi.model.BoundReference;
+import org.apache.tuscany.spi.model.BoundService;
+import org.apache.tuscany.spi.model.Component;
+import org.apache.tuscany.spi.model.CompositeComponentType;
+import org.apache.tuscany.spi.model.Reference;
+import org.apache.tuscany.spi.model.ReferenceTarget;
+import org.apache.tuscany.spi.model.Service;
+
+/**
+ * Creates a {@link SpringCompositeContext} from an assembly model
+ *
+ * @version $$Rev$$ $$Date$$
+ */
+public class SpringCompositeBuilder extends ComponentBuilderExtension<SpringCompositeImplementation> {
+
+    public ComponentContext build(CompositeContext parent, Component<SpringCompositeImplementation> component,
+                                  DeploymentContext deploymentContext) throws BuilderConfigException {
+        String name = component.getName();
+        URL url;
+        try {
+            url = new URL(component.getImplementation().getContextPath());
+        } catch (MalformedURLException e) {
+            throw new BuilderConfigException(e);
+        }
+        SpringCompositeContext context = new SpringCompositeContext(name, url, parent);
+        CompositeComponentType componentType = component.getImplementation().getComponentType();
+        for (Service service : componentType.getServices().values()) {
+            if (service instanceof BoundService) {
+                // call back into deployment context to handle building of services
+                context.registerContext(builderRegistry.build(parent, (BoundService<? extends Binding>) service,
+                        deploymentContext));
+            }
+        }
+        // TODO is this correct?
+        for (ReferenceTarget target : component.getReferenceTargets().values()) {
+            Reference reference = target.getReference();
+            if (reference instanceof BoundReference) {
+                // call back into deployment context to handle building of references
+                context.registerContext(builderRegistry.build(parent, (BoundReference<? extends Binding>)
+                        reference, deploymentContext));
+            }
+        }
+        return context;
+    }
+
+    protected Class<SpringCompositeImplementation> getImplementationType() {
+        return SpringCompositeImplementation.class;
+    }
+}

Added: incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeImplementation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeImplementation.java?rev=409082&view=auto
==============================================================================
--- incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeImplementation.java (added)
+++ incubator/tuscany/sandbox/jboynes/sca/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/SpringCompositeImplementation.java Wed May 24 00:13:24 2006
@@ -0,0 +1,32 @@
+package org.apache.tuscany.container.spring;
+
+import org.apache.tuscany.spi.model.CompositeComponentType;
+import org.apache.tuscany.spi.model.Implementation;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public class SpringCompositeImplementation extends Implementation<CompositeComponentType> {
+    private String contextPath;
+
+    public SpringCompositeImplementation() {
+    }
+
+    public SpringCompositeImplementation(CompositeComponentType componentType) {
+        super(componentType);
+    }
+
+    /**
+     * Returns the path of the Spring application context configuration
+     */
+    public String getContextPath() {
+        return contextPath;
+    }
+
+    /**
+     * Sets the path of the Spring application context configuration
+     */
+    public void setContextPath(String contextPath) {
+        this.contextPath = contextPath;
+    }
+}



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