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