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 2006/12/31 18:44:20 UTC

svn commit: r491458 - /incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java

Author: meerajk
Date: Sun Dec 31 09:44:17 2006
New Revision: 491458

URL: http://svn.apache.org/viewvc?view=rev&rev=491458
Log:
Added code to set component definition on component.

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=491458&r1=491457&r2=491458
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Sun Dec 31 09:44:17 2006
@@ -22,8 +22,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.osoa.sca.annotations.Init;
-
+import org.apache.tuscany.core.implementation.composite.ServiceImpl;
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.builder.BindingBuilder;
 import org.apache.tuscany.spi.builder.BindlessBuilder;
@@ -48,8 +47,7 @@
 import org.apache.tuscany.spi.model.ReferenceDefinition;
 import org.apache.tuscany.spi.model.ServiceContract;
 import org.apache.tuscany.spi.wire.WireService;
-
-import org.apache.tuscany.core.implementation.composite.ServiceImpl;
+import org.osoa.sca.annotations.Init;
 
 /**
  * The default builder registry in the runtime
@@ -57,60 +55,113 @@
  * @version $Rev$ $Date$
  */
 public class BuilderRegistryImpl implements BuilderRegistry {
+    
+    /**
+     * Wire service used by the builder.
+     */
     protected WireService wireService;
+    
+    /**
+     * Scope registry used by the builder.
+     */
     protected ScopeRegistry scopeRegistry;
 
-    private final Map<Class<? extends Implementation<?>>,
-        ComponentBuilder<? extends Implementation<?>>> componentBuilders =
+    /**
+     * Map of component builders.
+     */
+    private final Map<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>> componentBuilders =
         new HashMap<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>>();
-    private final Map<Class<? extends BindingDefinition>,
-        BindingBuilder<? extends BindingDefinition>> bindingBuilders =
+    
+    /**
+     * Map of binding builders.
+     */
+    private final Map<Class<? extends BindingDefinition>, BindingBuilder<? extends BindingDefinition>> bindingBuilders =
         new HashMap<Class<? extends BindingDefinition>, BindingBuilder<? extends BindingDefinition>>();
+    
+    /**
+     * Bindless builder.
+     */
     private BindlessBuilder bindlessBuilder;
 
+    /**
+     * Default constructor.
+     *
+     */
     public BuilderRegistryImpl() {
     }
 
+    /**
+     * Initializes the scope registry.
+     * 
+     * @param scopeRegistry Scope registry to use.
+     */
     public BuilderRegistryImpl(ScopeRegistry scopeRegistry) {
         this.scopeRegistry = scopeRegistry;
     }
 
+    /**
+     * Initiakization method.
+     *
+     */
     @Init(eager = true)
     public void init() {
     }
 
+    /**
+     * Method for auto-wiring scope registry.
+     * @param scopeRegistry Scope registry to use.
+     */
     @Autowire
     public void setScopeRegistry(ScopeRegistry scopeRegistry) {
         this.scopeRegistry = scopeRegistry;
     }
 
+    /**
+     * Method for auto-wiring wire service.
+     * @param scopeRegistry Wire service to use.
+     */
     @Autowire
     public void setWireService(WireService wireService) {
         this.wireService = wireService;
     }
 
+    /**
+     * @see org.apache.tuscany.spi.builder.BuilderRegistry#register(java.lang.Class, org.apache.tuscany.spi.builder.ComponentBuilder)
+     */
     public <I extends Implementation<?>> void register(Class<I> implClass, ComponentBuilder<I> builder) {
         componentBuilders.put(implClass, builder);
     }
 
+    /**
+     * @see org.apache.tuscany.spi.builder.BuilderRegistry#unregister(java.lang.Class)
+     */
     public <I extends Implementation<?>> void unregister(Class<I> implClass) {
         componentBuilders.remove(implClass);
     }
 
+    /**
+     * @see org.apache.tuscany.spi.builder.BuilderRegistry#register(java.lang.Class, org.apache.tuscany.spi.builder.BindingBuilder)
+     */
     public <B extends BindingDefinition> void register(Class<B> implClass, BindingBuilder<B> builder) {
         bindingBuilders.put(implClass, builder);
     }
 
+    /**
+     * @see org.apache.tuscany.spi.builder.BuilderRegistry#register(org.apache.tuscany.spi.builder.BindlessBuilder)
+     */
     public void register(BindlessBuilder builder) {
         bindlessBuilder = builder;
     }
 
+    /**
+     * @see org.apache.tuscany.spi.builder.Builder#build(org.apache.tuscany.spi.component.CompositeComponent, org.apache.tuscany.spi.model.ComponentDefinition, org.apache.tuscany.spi.deployer.DeploymentContext)
+     */
     @SuppressWarnings("unchecked")
     public <I extends Implementation<?>> Component build(CompositeComponent parent,
                                                          ComponentDefinition<I> componentDefinition,
                                                          DeploymentContext deploymentContext) throws BuilderException {
         Class<?> implClass = componentDefinition.getImplementation().getClass();
-        ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>) componentBuilders.get(implClass);
+        ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>)componentBuilders.get(implClass);
         try {
             if (componentBuilder == null) {
                 String name = implClass.getName();
@@ -118,6 +169,10 @@
             }
 
             Component component = componentBuilder.build(parent, componentDefinition, deploymentContext);
+            if (component != null) {
+                component.setComponentDefinition(componentDefinition);
+            }
+
             ComponentType<?, ?, ?> componentType = componentDefinition.getImplementation().getComponentType();
             assert componentType != null : "Component type must be set";
             // create wires for the component
@@ -131,7 +186,10 @@
         }
     }
 
-    @SuppressWarnings({"unchecked"})
+    /**
+     * @see org.apache.tuscany.spi.builder.Builder#build(org.apache.tuscany.spi.component.CompositeComponent, org.apache.tuscany.spi.model.BoundServiceDefinition, org.apache.tuscany.spi.deployer.DeploymentContext)
+     */
+    @SuppressWarnings( {"unchecked"})
     public Service build(CompositeComponent parent,
                          BoundServiceDefinition boundServiceDefinition,
                          DeploymentContext deploymentContext) throws BuilderException {
@@ -162,27 +220,33 @@
         return service;
     }
 
+    /**
+     * @see org.apache.tuscany.spi.builder.Builder#build(org.apache.tuscany.spi.component.CompositeComponent, org.apache.tuscany.spi.model.BoundReferenceDefinition, org.apache.tuscany.spi.deployer.DeploymentContext)
+     */
     @SuppressWarnings("unchecked")
     public <B extends BindingDefinition> SCAObject build(CompositeComponent parent,
                                                          BoundReferenceDefinition<B> boundReferenceDefinition,
                                                          DeploymentContext deploymentContext) throws BuilderException {
-        Class<B> bindingClass = (Class<B>) boundReferenceDefinition.getBinding().getClass();
-        BindingBuilder<B> bindingBuilder = (BindingBuilder<B>) bindingBuilders.get(bindingClass);
+        Class<B> bindingClass = (Class<B>)boundReferenceDefinition.getBinding().getClass();
+        BindingBuilder<B> bindingBuilder = (BindingBuilder<B>)bindingBuilders.get(bindingClass);
         SCAObject object;
         object = bindingBuilder.build(parent, boundReferenceDefinition, deploymentContext);
         // create wires for the component
         if (wireService != null) {
-            wireService.createWires((Reference) object, boundReferenceDefinition.getServiceContract());
+            wireService.createWires((Reference)object, boundReferenceDefinition.getServiceContract());
         }
         return object;
     }
 
+    /**
+     * @see org.apache.tuscany.spi.builder.Builder#build(org.apache.tuscany.spi.component.CompositeComponent, org.apache.tuscany.spi.model.ReferenceDefinition, org.apache.tuscany.spi.deployer.DeploymentContext)
+     */
     public SCAObject build(CompositeComponent parent,
                            ReferenceDefinition referenceDefinition,
                            DeploymentContext deploymentContext) {
         SCAObject object = bindlessBuilder.build(parent, referenceDefinition, deploymentContext);
         if (wireService != null) {
-            wireService.createWires((Reference) object, referenceDefinition.getServiceContract());
+            wireService.createWires((Reference)object, referenceDefinition.getServiceContract());
         }
         return object;
     }



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