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 2006/02/27 00:05:17 UTC
svn commit: r381195 - in /incubator/tuscany/java/sca/container.js/src/main:
java/org/apache/tuscany/container/js/builder/
java/org/apache/tuscany/container/js/context/ resources/
Author: jsdelfino
Date: Sun Feb 26 15:05:16 2006
New Revision: 381195
URL: http://svn.apache.org/viewcvs?rev=381195&view=rev
Log:
bringup of JavaScript container - added missing declaration in system.fragment, missing annotations and methods in runtimeconfiguration builder, and handling of locateService(componentName)
Modified:
incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java
incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java
incubator/tuscany/java/sca/container.js/src/main/resources/system.fragment
Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java?rev=381195&r1=381194&r2=381195&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/builder/JavaScriptComponentContextBuilder.java Sun Feb 26 15:05:16 2006
@@ -38,6 +38,7 @@
import org.apache.tuscany.core.invocation.spi.ProxyFactory;
import org.apache.tuscany.core.invocation.spi.ProxyFactoryFactory;
import org.apache.tuscany.core.message.MessageFactory;
+import org.apache.tuscany.core.runtime.RuntimeContext;
import org.apache.tuscany.core.system.annotation.Autowire;
import org.apache.tuscany.model.assembly.AssemblyModelObject;
import org.apache.tuscany.model.assembly.ComponentImplementation;
@@ -48,6 +49,7 @@
import org.apache.tuscany.model.assembly.Service;
import org.apache.tuscany.model.assembly.ServiceContract;
import org.apache.tuscany.model.assembly.SimpleComponent;
+import org.osoa.sca.annotations.Init;
/**
* Builds {@link org.apache.tuscany.container.js.config.JavaScriptComponentRuntimeConfiguration}s from a JavaScript
@@ -55,13 +57,13 @@
*
* @version $Rev$ $Date$
*/
+@org.osoa.sca.annotations.Scope("MODULE")
public class JavaScriptComponentContextBuilder implements RuntimeConfigurationBuilder<AggregateContext> {
private ProxyFactoryFactory factory;
-
private MessageFactory msgFactory;
-
private RuntimeConfigurationBuilder referenceBuilder;
+ private RuntimeContext runtimeContext;
// ----------------------------------
// Constructors
@@ -73,6 +75,19 @@
// ----------------------------------
// Methods
// ----------------------------------
+
+ @Init(eager = true)
+ public void init() {
+ runtimeContext.addBuilder(this);
+ }
+
+ /**
+ * @param runtimeContext The runtimeContext to set.
+ */
+ @Autowire
+ public void setRuntimeContext(RuntimeContext runtimeContext) {
+ this.runtimeContext = runtimeContext;
+ }
/**
* Sets the factory used to construct proxies implmementing the business interface required by a reference
Modified: incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java?rev=381195&r1=381194&r2=381195&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java (original)
+++ incubator/tuscany/java/sca/container.js/src/main/java/org/apache/tuscany/container/js/context/JavaScriptComponentContext.java Sun Feb 26 15:05:16 2006
@@ -61,9 +61,18 @@
}
public synchronized Object getInstance(QualifiedName qName, boolean notify) throws TargetException {
- ProxyFactory targetFactory = targetProxyFactories.get(qName.getPortName());
+ String portName=qName.getPortName();
+ ProxyFactory targetFactory;
+ if (portName!=null) {
+ targetFactory = targetProxyFactories.get(portName);
+ } else {
+ //FIXME The port name is null here, either locateService needs more information (the expected interface) to
+ // select the correct port, or we need to return a factory that matches the whole set of services exposed by
+ // the component.
+ targetFactory = targetProxyFactories.values().iterator().next();
+ }
if (targetFactory == null) {
- TargetException e = new TargetException("Target interface not found");
+ TargetException e = new TargetException("Target service not found");
e.setIdentifier(qName.getPortName());
e.addContextName(getName());
throw e;
Modified: incubator/tuscany/java/sca/container.js/src/main/resources/system.fragment
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/container.js/src/main/resources/system.fragment?rev=381195&r1=381194&r2=381195&view=diff
==============================================================================
--- incubator/tuscany/java/sca/container.js/src/main/resources/system.fragment (original)
+++ incubator/tuscany/java/sca/container.js/src/main/resources/system.fragment Sun Feb 26 15:05:16 2006
@@ -26,4 +26,8 @@
<system:implementation.system class="org.apache.tuscany.container.js.loader.JavaScriptSCDLModelLoader"/>
</component>
+ <component name="org.apache.tuscany.container.js.builder.JavaScriptTargetWireBuilder">
+ <system:implementation.system class="org.apache.tuscany.container.js.builder.JavaScriptTargetWireBuilder"/>
+ </component>
+
</moduleFragment>