You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/02/14 20:42:16 UTC
svn commit: r507666 -
/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java
Author: rfeng
Date: Wed Feb 14 11:42:16 2007
New Revision: 507666
URL: http://svn.apache.org/viewvc?view=rev&rev=507666
Log:
[sca-integration-branch] Work around the IBM JDK compiling error and fix the merging algorithm
Modified:
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java
Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java?view=diff&rev=507666&r1=507665&r2=507666
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/java/JavaComponentTypeLoader.java Wed Feb 14 11:42:16 2007
@@ -19,14 +19,12 @@
package org.apache.tuscany.core.implementation.java;
import java.net.URL;
-import java.util.Iterator;
import org.apache.tuscany.core.util.JavaIntrospectionHelper;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.ComponentTypeLoaderExtension;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.implementation.java.IntrospectionRegistry;
import org.apache.tuscany.spi.implementation.java.Introspector;
import org.apache.tuscany.spi.implementation.java.JavaMappedProperty;
@@ -61,24 +59,17 @@
JavaImplementation implementation,
DeploymentContext deploymentContext) throws LoaderException {
Class<?> implClass = implementation.getImplementationClass();
+ PojoComponentType componentType = loadByIntrospection(parent, implementation, deploymentContext);
URL resource = implClass.getResource(JavaIntrospectionHelper.getBaseName(implClass) + ".componentType");
- PojoComponentType componentType;
- if (resource == null) {
- componentType = loadByIntrospection(parent, implementation, deploymentContext);
- } else {
- componentType = loadFromSidefile(parent, resource, deploymentContext);
-
- // TODO: TUSCANY-1111, add in reqd bits missing from sidefile
- PojoComponentType tempComponentType = loadByIntrospection(parent, implementation, deploymentContext);
- componentType.setConstructorDefinition(tempComponentType.getConstructorDefinition());
- componentType.setImplementationScope(tempComponentType.getImplementationScope());
-
- Iterator it = tempComponentType.getServices().values().iterator();
- for (Object o : componentType.getServices().values()) {
+ if (resource != null) {
+ // FIXME: How to merge the component type loaded from the file into the PojoComponentType
+ PojoComponentType type = loadFromSidefile(parent, resource, deploymentContext);
+
+ for (Object o : type.getServices().values()) {
ServiceDefinition sd = (ServiceDefinition) o;
- if (!(sd.getServiceContract() instanceof JavaServiceContract)) {
- ServiceDefinition ts = (ServiceDefinition)it.next();
- sd.getServiceContract().setInterfaceClass(ts.getServiceContract().getInterfaceClass());
+ ServiceDefinition javaService = (ServiceDefinition) componentType.getServices().get(sd.getName());
+ if(javaService!=null) {
+ javaService.setServiceContract(sd.getServiceContract());
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org