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/03/04 12:36:59 UTC

svn commit: r514384 - in /incubator/tuscany/java/sca/kernel: core/src/main/java/org/apache/tuscany/core/builder/physical/ core/src/main/java/org/apache/tuscany/core/deployer/federation/ core/src/main/java/org/apache/tuscany/core/implementation/java/ sp...

Author: meerajk
Date: Sun Mar  4 03:36:58 2007
New Revision: 514384

URL: http://svn.apache.org/viewvc?view=rev&rev=514384
Log:
added code to the Java physical component builder

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/physical/DefaultPhysicalComponentBuilderRegistry.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/deployer/federation/FederatedDeployer.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/physical/PhysicalComponentBuilderRegistry.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/physical/DefaultPhysicalComponentBuilderRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/physical/DefaultPhysicalComponentBuilderRegistry.java?view=diff&rev=514384&r1=514383&r2=514384
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/physical/DefaultPhysicalComponentBuilderRegistry.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/physical/DefaultPhysicalComponentBuilderRegistry.java Sun Mar  4 03:36:58 2007
@@ -21,6 +21,7 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.builder.physical.PhysicalComponentBuilder;
 import org.apache.tuscany.spi.builder.physical.PhysicalComponentBuilderRegistry;
 import org.apache.tuscany.spi.component.Component;
@@ -52,18 +53,18 @@
         C extends Component> void register(Class<PCD> definitionClass, PhysicalComponentBuilder<PCD, C> builder) {
         registry.put(definitionClass, builder);
     }
-
+    
     /**
-     * Gets a builder for the specified physical component builder.
-     *
-     * @param <PCD>           Type of the physical component definition.
-     * @param definitionClass Class of the physical component definition.
-     * @return Builder for the physical component definition.
+     * Builds a physical component from component definition.
+     * @param componentDefinition Component definition.
+     * @return Component to be built.
      */
     @SuppressWarnings("unchecked")
-    public <PCD extends PhysicalComponentDefinition, C extends Component> PhysicalComponentBuilder<PCD, C> getBuilder(
-        Class<PCD> definitionClass) {
-        return (PhysicalComponentBuilder<PCD, C>) registry.get(definitionClass);
+    public Component build(PhysicalComponentDefinition componentDefinition) throws BuilderException {
+        
+        PhysicalComponentBuilder builder = registry.get(componentDefinition.getClass());
+        return builder.build(componentDefinition);
+        
     }
 
 }

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=514384&r1=514383&r2=514384
==============================================================================
--- 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 Sun Mar  4 03:36:58 2007
@@ -24,7 +24,6 @@
 import org.apache.tuscany.core.marshaller.PhysicalChangeSetMarshaller;
 import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.builder.Connector;
-import org.apache.tuscany.spi.builder.physical.PhysicalComponentBuilder;
 import org.apache.tuscany.spi.builder.physical.PhysicalComponentBuilderRegistry;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.RegistrationException;
@@ -79,8 +78,7 @@
             final PhysicalChangeSet changeSet = (PhysicalChangeSet) marshallerRegistry.unmarshall(content);
             
             for(PhysicalComponentDefinition pcd : changeSet.getComponentDefinitions()) {
-                final PhysicalComponentBuilder builder = builderRegistry.getBuilder(pcd.getClass());
-                final Component component = builder.build(pcd);
+                final Component component = builderRegistry.build(pcd);
                 componentManager.register(component);
                 component.start();
             }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java?view=diff&rev=514384&r1=514383&r2=514384
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java Sun Mar  4 03:36:58 2007
@@ -41,28 +41,10 @@
      */
     public JavaAtomicComponent build(JavaPhysicalComponentDefinition componentDefinition) throws BuilderException {
         
-        //byte[] instanceFactoryByteCode = componentDefinition.getInstanceFactoryByteCode();
-        
-        // TODO I am sure this is not the right classloader.
-        // commented out for PMD
-        //InstanceFactoryLoader cl = new InstanceFactoryLoader();
-        //Class instanceFactoryClass = cl.loadClass(instanceFactoryByteCode);
-        
-        
-        // TODO Do the rest
-        return null;
+        JavaAtomicComponent component = new JavaAtomicComponent(null);
+        byte[] instanceFactoryByteCode = componentDefinition.getInstanceFactoryByteCode();
+        // TODO Add the instance factory byte code to the component
+        return component;
     }
-    
-    /*
-     * Allows to load the class from byte code.
-     * 
-     * TODO Is there a better way to do this?
-     */
-// commented out for PMD
-//    private class InstanceFactoryLoader extends ClassLoader {
-//        public Class loadClass(byte[] byteCode) {
-//            return defineClass(null, byteCode, 0, byteCode.length);
-//        }
-//    }
 
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/physical/PhysicalComponentBuilderRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/physical/PhysicalComponentBuilderRegistry.java?view=diff&rev=514384&r1=514383&r2=514384
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/physical/PhysicalComponentBuilderRegistry.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/physical/PhysicalComponentBuilderRegistry.java Sun Mar  4 03:36:58 2007
@@ -18,6 +18,7 @@
  */
 package org.apache.tuscany.spi.builder.physical;
 
+import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.model.physical.PhysicalComponentDefinition;
 
@@ -38,15 +39,12 @@
     <PCD extends PhysicalComponentDefinition, C extends Component> void register(Class<PCD> definitionClass,
                                                                                  PhysicalComponentBuilder<PCD,
                                                                                      C> builder);
-
+    
     /**
-     * Gets a builder for the specified physical component builder.
-     *
-     * @param <PCD>           Type of the physical component definition.
-     * @param definitionClass Class of the physical component definition.
-     * @return Builder for the physical component definition.
+     * Builds a physical component from component definition.
+     * @param componentDefinition Component definition.
+     * @return Component to be built.
      */
-    <PCD extends PhysicalComponentDefinition, C extends Component> PhysicalComponentBuilder<PCD, C> getBuilder(
-        Class<PCD> definitionClass);
+    Component build(PhysicalComponentDefinition componentDefinition) throws BuilderException;
 
 }



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