You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2006/05/06 13:02:19 UTC
svn commit: r400284 - in
/incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino:
assembly/ builder/ loader/
Author: antelder
Date: Sat May 6 04:02:15 2006
New Revision: 400284
URL: http://svn.apache.org/viewcvs?rev=400284&view=rev
Log:
Fix for TUSCANY-82/TUSCANY-221, No longer require style attribute as can be determined from the component interface type
Modified:
incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/assembly/JavaScriptImplementation.java
incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptContextFactoryBuilder.java
incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/loader/JavaScriptImplementationLoader.java
Modified: incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/assembly/JavaScriptImplementation.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/assembly/JavaScriptImplementation.java?rev=400284&r1=400283&r2=400284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/assembly/JavaScriptImplementation.java (original)
+++ incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/assembly/JavaScriptImplementation.java Sat May 6 04:02:15 2006
@@ -30,8 +30,6 @@
private String scriptFile;
- private String style;
-
private String script;
private ResourceLoader resourceLoader;
@@ -64,14 +62,6 @@
public void setScriptFile(String fn) {
scriptFile = fn;
- }
-
- public String getStyle() {
- return this.style;
- }
-
- public void setStyle(String style) {
- this.style = style;
}
public String getScript() {
Modified: incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptContextFactoryBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptContextFactoryBuilder.java?rev=400284&r1=400283&r2=400284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptContextFactoryBuilder.java (original)
+++ incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptContextFactoryBuilder.java Sat May 6 04:02:15 2006
@@ -23,10 +23,14 @@
import org.apache.tuscany.container.rhino.config.JavaScriptContextFactory;
import org.apache.tuscany.container.rhino.rhino.RhinoE4XScript;
import org.apache.tuscany.container.rhino.rhino.RhinoScript;
+import org.apache.tuscany.core.builder.BuilderConfigException;
+import org.apache.tuscany.core.builder.BuilderException;
import org.apache.tuscany.core.builder.ContextFactory;
import org.apache.tuscany.core.extension.ContextFactoryBuilderSupport;
import org.apache.tuscany.model.assembly.Scope;
import org.apache.tuscany.model.assembly.Service;
+import org.apache.tuscany.model.assembly.ServiceContract;
+import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
import commonj.sdo.helper.TypeHelper;
@@ -41,8 +45,22 @@
@Override
protected ContextFactory createContextFactory(String componentName, JavaScriptImplementation jsImplementation, Scope scope) {
Map<String, Class> services = new HashMap<String, Class>();
+
+ Boolean isWSDLService = null;
for (Service service : jsImplementation.getComponentInfo().getServices()) {
- services.put(service.getName(), service.getServiceContract().getInterface());
+ ServiceContract sc = service.getServiceContract();
+ if (sc instanceof WSDLServiceContract) {
+ if (isWSDLService != null && !isWSDLService.booleanValue()) {
+ BuilderException e = new BuilderConfigException("mixed service interface types not supportted");
+ e.setIdentifier(componentName);
+ throw e;
+ }
+ isWSDLService = Boolean.TRUE;
+ } else {
+ isWSDLService = Boolean.FALSE;
+ }
+
+ services.put(service.getName(), sc.getInterface());
}
Map<String, Object> defaultProperties = new HashMap<String, Object>();
@@ -54,7 +72,7 @@
ClassLoader cl = jsImplementation.getResourceLoader().getClassLoader();
RhinoScript invoker;
- if ("e4x".equalsIgnoreCase(jsImplementation.getStyle())) { // TODO is constant "e4x" somewhere?
+ if (Boolean.TRUE.equals(isWSDLService)) {
TypeHelper typeHelper = jsImplementation.getTypeHelper();
invoker = new RhinoE4XScript(componentName, script, defaultProperties, cl, typeHelper);
} else {
Modified: incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/loader/JavaScriptImplementationLoader.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/loader/JavaScriptImplementationLoader.java?rev=400284&r1=400283&r2=400284&view=diff
==============================================================================
--- incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/loader/JavaScriptImplementationLoader.java (original)
+++ incubator/tuscany/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/loader/JavaScriptImplementationLoader.java Sat May 6 04:02:15 2006
@@ -75,14 +75,12 @@
public JavaScriptImplementation load(XMLStreamReader reader, LoaderContext loaderContext) throws XMLStreamException, ConfigurationLoadException {
String scriptFile = reader.getAttributeValue(null, "scriptFile");
- String style = reader.getAttributeValue(null, "style");
String script = loadScript(scriptFile, loaderContext.getResourceLoader());
ComponentInfo componentType = loadComponentType(scriptFile, loaderContext);
JavaScriptImplementation jsImpl = new JavaScriptImplementation();
jsImpl.setComponentInfo(componentType);
jsImpl.setScriptFile(scriptFile);
- jsImpl.setStyle(style);
jsImpl.setScript(script);
jsImpl.setResourceLoader(loaderContext.getResourceLoader());
jsImpl.setTypeHelper(registry.getContext().getTypeHelper());