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