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/15 00:42:06 UTC

svn commit: r487397 - /incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java

Author: meerajk
Date: Thu Dec 14 15:42:05 2006
New Revision: 487397

URL: http://svn.apache.org/viewvc?view=rev&rev=487397
Log:
Added JPA annotation injection as a resource.

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java?view=diff&rev=487397&r1=487396&r2=487397
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentBuilder.java Thu Dec 14 15:42:05 2006
@@ -62,8 +62,7 @@
     @SuppressWarnings("unchecked")
     public AtomicComponent build(CompositeComponent parent,
                                  ComponentDefinition<JavaImplementation> definition,
-                                 DeploymentContext deployment)
-        throws BuilderConfigException {
+                                 DeploymentContext deployment) throws BuilderConfigException {
         PojoComponentType<JavaMappedService, JavaMappedReference, JavaMappedProperty<?>> componentType =
             definition.getImplementation().getComponentType();
 
@@ -97,7 +96,7 @@
         configuration.setWireService(wireService);
         configuration.setWorkContext(workContext);
         configuration.setScheduler(workScheduler);
-        
+
         configuration.setImplementationClass(definition.getImplementation().getImplementationClass());
 
         // setup property injection sites
@@ -142,18 +141,24 @@
 
         // handle resources
         for (Resource resource : componentType.getResources().values()) {
-            String name = resource.getName();
-            boolean optional = resource.isOptional();
-            Class<Object> type = (Class<Object>) resource.getType();
-            ResourceObjectFactory<Object> factory;
-            String mappedName = resource.getMappedName();
-            if (mappedName == null) {
-                // by type
-                factory = new ResourceObjectFactory<Object>(type, optional, parent, host);
+
+            ObjectFactory<?> objectFactory = resource.getObjectFactory();
+            if (objectFactory != null) {
+                component.addResourceFactory(resource.getName(), objectFactory);
             } else {
-                factory = new ResourceObjectFactory<Object>(type, mappedName, optional, parent, host);
+                String name = resource.getName();
+                boolean optional = resource.isOptional();
+                Class<Object> type = (Class<Object>)resource.getType();
+                ResourceObjectFactory<Object> factory;
+                String mappedName = resource.getMappedName();
+                if (mappedName == null) {
+                    // by type
+                    factory = new ResourceObjectFactory<Object>(type, optional, parent, host);
+                } else {
+                    factory = new ResourceObjectFactory<Object>(type, mappedName, optional, parent, host);
+                }
+                component.addResourceFactory(name, factory);
             }
-            component.addResourceFactory(name, factory);
 
         }
 
@@ -165,9 +170,9 @@
                 configuration.addCallbackSite(service.getCallbackReferenceName(), service.getCallbackMember());
             }
         }
-        
+
         component.setAllowsPassByReference(componentType.isAllowsPassByReference());
-        
+
         return component;
     }
 



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