You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2007/03/14 21:35:38 UTC
svn commit: r518312 - in /incubator/tuscany/java/sca/kernel:
core/src/main/java/org/apache/tuscany/core/implementation/java/JavaPhysicalComponentBuilder.java
spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalWireSourceDefinition.java
Author: jmarino
Date: Wed Mar 14 13:35:37 2007
New Revision: 518312
URL: http://svn.apache.org/viewvc?view=rev&rev=518312
Log:
have callbacks handled by the JPCB
Modified:
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/model/physical/PhysicalWireSourceDefinition.java
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=518312&r1=518311&r2=518312
==============================================================================
--- 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 Wed Mar 14 13:35:37 2007
@@ -25,6 +25,7 @@
import org.osoa.sca.annotations.Reference;
+import org.apache.tuscany.spi.ObjectFactory;
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.builder.physical.PhysicalComponentBuilder;
import org.apache.tuscany.spi.builder.physical.PhysicalComponentBuilderRegistry;
@@ -41,11 +42,11 @@
import org.apache.tuscany.core.builder.physical.WireAttachException;
import org.apache.tuscany.core.component.InstanceFactoryProvider;
+import org.apache.tuscany.core.injection.CallbackWireObjectFactory2;
import org.apache.tuscany.core.model.physical.java.JavaPhysicalComponentDefinition;
import org.apache.tuscany.core.model.physical.java.JavaPhysicalWireSourceDefinition;
import org.apache.tuscany.core.model.physical.java.JavaPhysicalWireTargetDefinition;
import org.apache.tuscany.core.wire.WireObjectFactory;
-import org.apache.tuscany.core.injection.CallbackWireObjectFactory2;
/**
* The physical component builder for Java implementation types. Responsible for creating the Component runtime artifact
@@ -157,20 +158,24 @@
/**
* Attaches the source to the component.
*
- * @param component Component.
- * @param wire
- * @param source Source.
+ * @param component the source component
+ * @param wire the wire for the callback
+ * @param source the attach metadata
*/
@SuppressWarnings({"unchecked"})
public void attach(JavaComponent component, Wire wire, JavaPhysicalWireSourceDefinition source) {
- Class<?> type = component.getMemberType(wire.getSourceUri());
- WireObjectFactory<?> factory = new WireObjectFactory(type, wire, proxyService);
- component.setObjectFactory(wire.getSourceUri(), factory);
+ URI sourceUri = wire.getSourceUri();
+ Class<?> type = component.getMemberType(sourceUri);
+ ObjectFactory<?> factory = new WireObjectFactory(type, wire, proxyService);
+ component.setObjectFactory(sourceUri, factory);
if (!wire.getCallbackInvocationChains().isEmpty()) {
- // TODO handle callbacks
+ URI callbackUri = source.getCallbackUri();
+ Class<?> callbackType = component.getMemberType(callbackUri);
+ ObjectFactory<?> callbackFactory = new CallbackWireObjectFactory2(callbackType, proxyService);
+ component.setObjectFactory(callbackUri, callbackFactory);
}
}
-
+
/**
* Attaches the target to the component.
*
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalWireSourceDefinition.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalWireSourceDefinition.java?view=diff&rev=518312&r1=518311&r2=518312
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalWireSourceDefinition.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/physical/PhysicalWireSourceDefinition.java Wed Mar 14 13:35:37 2007
@@ -32,12 +32,13 @@
// URI
private URI uri;
+ private URI callbackUri;
private boolean optimizable;
/**
* Gets the URI.
*
- * @return Gets the URI.
+ * @return the URI.
*/
public URI getUri() {
return uri;
@@ -46,10 +47,28 @@
/**
* Sets the URI.
*
- * @param uri Sets the URI.
+ * @param uri the URI.
*/
public void setUri(URI uri) {
this.uri = uri;
+ }
+
+ /**
+ * Gets the callback URI.
+ *
+ * @return the callback URI.
+ */
+ public URI getCallbackUri() {
+ return callbackUri;
+ }
+
+ /**
+ * Sets the URI.
+ *
+ * @param uri the callback URI.
+ */
+ public void setCallbackUri(URI uri) {
+ this.callbackUri = uri;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org