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