You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/05/02 01:57:20 UTC
svn commit: r534278 - in /incubator/tuscany/java/sca/modules:
assembly/src/main/java/org/apache/tuscany/assembly/util/
core-spring/src/main/java/org/apache/tuscany/core/spring/assembly/impl/
core/src/main/java/org/apache/tuscany/core/deployer/ implemen...
Author: jsdelfino
Date: Tue May 1 16:57:19 2007
New Revision: 534278
URL: http://svn.apache.org/viewvc?view=rev&rev=534278
Log:
Added logic to create self references.
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/core/spring/assembly/impl/BeanComponentImpl.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java?view=diff&rev=534278&r1=534277&r2=534278
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java Tue May 1 16:57:19 2007
@@ -462,6 +462,9 @@
reconcileServices(component, services, componentServices, problems);
reconcileReferences(component, references, componentReferences, problems);
reconcileProperties(component, properties, componentProperties, problems);
+
+ // Create self references to the component's services
+ createSelfReferences(component);
}
}
@@ -1002,23 +1005,24 @@
}
/**
- * For all the services, create a corresponding self-reference
+ * For all the services, create a corresponding self-reference.
+ *
* @param component
*/
private void createSelfReferences(Component component) {
- for (Service service : component.getImplementation().getServices()) {
- ComponentReference ref = assemblyFactory.createComponentReference();
- ref.setName("$self$." + service.getName());
- ref.getBindings().addAll(service.getBindings());
+ for (ComponentService service : component.getServices()) {
+ ComponentReference componentReference = assemblyFactory.createComponentReference();
+ componentReference.setName("$self$." + service.getName());
+ componentReference.getBindings().addAll(service.getBindings());
ComponentService componentService = assemblyFactory.createComponentService();
componentService.setName(component.getName() + "/" + service.getName());
componentService.setUnresolved(true);
- ref.getTargets().add(componentService);
- ref.getPolicySets().addAll(service.getPolicySets());
- ref.getRequiredIntents().addAll(service.getRequiredIntents());
- ref.setInterfaceContract(service.getInterfaceContract());
- ref.setMultiplicity(Multiplicity.ONE_ONE);
- component.getImplementation().getReferences().add(ref);
+ componentReference.getTargets().add(componentService);
+ componentReference.getPolicySets().addAll(service.getPolicySets());
+ componentReference.getRequiredIntents().addAll(service.getRequiredIntents());
+ componentReference.setInterfaceContract(service.getInterfaceContract());
+ componentReference.setMultiplicity(Multiplicity.ONE_ONE);
+ component.getReferences().add(componentReference);
}
}
Modified: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/core/spring/assembly/impl/BeanComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/core/spring/assembly/impl/BeanComponentImpl.java?view=diff&rev=534278&r1=534277&r2=534278
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/core/spring/assembly/impl/BeanComponentImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/core/spring/assembly/impl/BeanComponentImpl.java Tue May 1 16:57:19 2007
@@ -131,10 +131,11 @@
public boolean add(ComponentReference reference) {
// Add corresponding bean property value
+ if (!reference.getName().startsWith("$self$.")) {
BeanReferenceImpl beanReference = new BeanReferenceImpl(reference);
getPropertyValues().addPropertyValue(reference.getName(), beanReference);
-
- return super.add(reference);
+ }
+ return super.add(reference);
}
};
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=534278&r1=534277&r2=534278
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java Tue May 1 16:57:19 2007
@@ -274,6 +274,10 @@
} else {
List<ComponentService> services = componentReference.getTargets();
for (ComponentService service : services) {
+ if (service.getBinding(SCABinding.class) == null) {
+ continue;
+
+ }
org.apache.tuscany.assembly.Component targetCompoent = service.getBinding(SCABinding.class)
.getComponent();
Component target = componentManager.getSCAObject(Component.class, targetCompoent);
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java?view=diff&rev=534278&r1=534277&r2=534278
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java Tue May 1 16:57:19 2007
@@ -31,7 +31,6 @@
import org.apache.tuscany.assembly.ComponentProperty;
import org.apache.tuscany.assembly.Multiplicity;
-import org.apache.tuscany.assembly.Property;
import org.apache.tuscany.assembly.Reference;
import org.apache.tuscany.core.component.ComponentContextImpl;
import org.apache.tuscany.core.component.ComponentContextProvider;
@@ -160,7 +159,9 @@
configuration.getInjectionSites().add(element);
}
- configuration.setObjectFactory(element, createWireFactory(element.getType(), wire));
+ if (element != null) {
+ configuration.setObjectFactory(element, createWireFactory(element.getType(), wire));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org