diff options
Diffstat (limited to 'tags/java-M1-20060518/java/sca/containers/container.rhino')
43 files changed, 0 insertions, 2557 deletions
diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/LICENSE.txt b/tags/java-M1-20060518/java/sca/containers/container.rhino/LICENSE.txt deleted file mode 100644 index d645695673..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/README.txt b/tags/java-M1-20060518/java/sca/containers/container.rhino/README.txt deleted file mode 100644 index 9b26d1690a..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/README.txt +++ /dev/null @@ -1,35 +0,0 @@ -Apache Tuscany M1 build (May, 2006) -=================================== - -http://incubator.apache.org/tuscany/ - -Tuscany is an effort undergoing incubation at the Apache Software Foundation -(ASF), sponsored by the Web Services PMC. - -Incubation is required of all newly accepted projects until a further review -indicates that the infrastructure, communications, and decision making process -have stabilized in a manner consistent with other successful ASF projects. - -While incubation status is not necessarily a reflection of the completeness or -stability of the code, it does indicate that the project has yet to be fully -endorsed by the ASF. - - -Support -------- - -Any problem with this release can be reported to the Tuscany mailing list -or in the JIRA issue tracker. - -Mailing list subscription: - tuscany-dev-subscribe@ws.apache.org - -Jira: - http://issues.apache.org/jira/browse/Tuscany - - -Thank you for using Tuscany! - - -The Tuscany Team. - diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/pom.xml b/tags/java-M1-20060518/java/sca/containers/container.rhino/pom.xml deleted file mode 100644 index 3f8d8fe9cd..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * Copyright (c) 2005-2006 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - --> -<project> - - <parent> - <groupId>org.apache.tuscany.sca.containers</groupId> - <artifactId>tuscany-sca-containers</artifactId> - <version>incubating-M1</version> - </parent> - - <modelVersion>4.0.0</modelVersion> - <artifactId>tuscany-container-rhino</artifactId> - <name>Tuscany Rhino JavaScript Container</name> - <description>Tuscany Rhino JavaScript Container</description> - <version>incubating-M1</version> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany</groupId> - <artifactId>tuscany-core</artifactId> - <version>${pom.version}</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>rhino</groupId> - <artifactId>js</artifactId> - <version>1.6R2</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.databinding</groupId> - <artifactId>tuscany-databinding-sdo</artifactId> <!-- Reqd for E4X --> - <version>${pom.version}</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>xmlbeans</groupId> - <artifactId>xbean</artifactId> <!-- Reqd for E4X --> - <version>2.1.0</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <scope>test</scope> - </dependency> - </dependencies> - -</project> diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/assembly/JavaScriptImplementation.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/assembly/JavaScriptImplementation.java deleted file mode 100644 index c68bf239a3..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/assembly/JavaScriptImplementation.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.container.rhino.assembly; - -import org.apache.tuscany.common.resource.ResourceLoader; -import org.apache.tuscany.model.assembly.impl.AtomicImplementationImpl; - -import commonj.sdo.helper.TypeHelper; - -/** - * Default implementation of a JavScript component implementation type - * - * @version $Rev$ $Date$ - */ -public class JavaScriptImplementation extends AtomicImplementationImpl { - - private String scriptFile; - - private String script; - - private ResourceLoader resourceLoader; - - private TypeHelper typeHelper; - - public JavaScriptImplementation() { - super(); - } - - public void setResourceLoader(ResourceLoader resourceLoader) { - this.resourceLoader = resourceLoader; - } - - public ResourceLoader getResourceLoader() { - return resourceLoader; - } - - public TypeHelper getTypeHelper() { - return typeHelper; - } - - public void setTypeHelper(TypeHelper typeHelper) { - this.typeHelper = typeHelper; - } - - public String getScriptFile() { - return scriptFile; - } - - public void setScriptFile(String fn) { - scriptFile = fn; - } - - public String getScript() { - return script; - } - - public void setScript(String script) { - this.script = script; - } -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptContextFactoryBuilder.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptContextFactoryBuilder.java deleted file mode 100644 index 2012971014..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptContextFactoryBuilder.java +++ /dev/null @@ -1,132 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.container.rhino.builder; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.wsdl.Input; -import javax.wsdl.Message; -import javax.wsdl.Operation; -import javax.wsdl.Part; -import javax.wsdl.PortType; - -import org.apache.tuscany.container.rhino.assembly.JavaScriptImplementation; -import org.apache.tuscany.container.rhino.config.JavaScriptContextFactory; -import org.apache.tuscany.container.rhino.rhino.E4XDataBinding; -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.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; - -/** - * Builds {@link org.apache.tuscany.container.rhino.config.JavaScriptContextFactory}s from a JavaScript component type - * - * @version $Rev$ $Date$ - */ -@org.osoa.sca.annotations.Scope("MODULE") -public class JavaScriptContextFactoryBuilder extends ContextFactoryBuilderSupport<JavaScriptImplementation> { - - @Override - protected ContextFactory createContextFactory(String componentName, JavaScriptImplementation jsImplementation, Scope scope) { - - Map<String, Class> services = new HashMap<String, Class>(); - for (Service service : jsImplementation.getComponentType().getServices()) { - services.put(service.getName(), service.getServiceContract().getInterface()); - } - - Map<String, Object> defaultProperties = new HashMap<String, Object>(); - for (org.apache.tuscany.model.assembly.Property property : jsImplementation.getComponentType().getProperties()) { - defaultProperties.put(property.getName(), property.getDefaultValue()); - } - - String script = jsImplementation.getScript(); - ClassLoader cl = jsImplementation.getResourceLoader().getClassLoader(); - - RhinoScript invoker; - if (isE4XStyle(componentName, jsImplementation.getComponentType().getServices())) { - E4XDataBinding dataBinding = createDataBinding(jsImplementation); - invoker = new RhinoE4XScript(componentName, script, defaultProperties, cl, dataBinding); - } else { - invoker = new RhinoScript(componentName, script, defaultProperties, cl); - } - - Map<String, Object> properties = new HashMap<String, Object>(); - JavaScriptContextFactory contextFactory = new JavaScriptContextFactory(componentName, scope, services, properties, invoker); - - return contextFactory; - } - - /** - * Tests if this should be an E4X style service - * Its E4X if the JavaScript component uses WSDL to define its interface - */ - protected boolean isE4XStyle(String componentName, List<Service> services) { - Boolean isE4XStyle = null; - for (Service service : services) { - ServiceContract sc = service.getServiceContract(); - if (sc instanceof WSDLServiceContract) { - if (isE4XStyle != null && !isE4XStyle.booleanValue()) { - throw new BuilderConfigException("mixed service interface types not supportted"); - } - isE4XStyle = Boolean.TRUE; - } else { - isE4XStyle = Boolean.FALSE; - } - } - return isE4XStyle.booleanValue(); - } - - /** - * Create the data binding for the component initialized for each operation in the service - */ - protected E4XDataBinding createDataBinding(JavaScriptImplementation jsImplementation) { - ClassLoader classLoader = jsImplementation.getResourceLoader().getClassLoader(); - TypeHelper typeHelper = jsImplementation.getTypeHelper(); - E4XDataBinding dataBinding = new E4XDataBinding(classLoader, typeHelper); - for (Service service : jsImplementation.getComponentType().getServices()) { - ServiceContract sc = service.getServiceContract(); - if (sc instanceof WSDLServiceContract) { - PortType pt = ((WSDLServiceContract) sc).getPortType(); - for (Object o : pt.getOperations()) { - Operation operation = (Operation) o; - Input input = operation.getInput(); - if (input != null) { - Message message = input.getMessage(); - if (message != null) { - List parts = message.getOrderedParts(null); - if (parts != null && parts.size() > 0) { - Part part = (Part) parts.get(0); - dataBinding.addElementQName(operation.getName(), part.getElementName()); - } - } - } - } - } - } - return dataBinding; - } - -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptTargetWireBuilder.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptTargetWireBuilder.java deleted file mode 100644 index 0c45aee35e..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/builder/JavaScriptTargetWireBuilder.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.container.rhino.builder; - -import java.lang.reflect.Method; - -import org.apache.tuscany.container.rhino.config.JavaScriptContextFactory; -import org.apache.tuscany.core.context.QualifiedName; -import org.apache.tuscany.core.context.ScopeContext; -import org.apache.tuscany.core.extension.ComponentTargetInvoker; -import org.apache.tuscany.core.extension.WireBuilderSupport; -import org.apache.tuscany.core.wire.TargetInvoker; -import org.osoa.sca.annotations.Scope; - -/** - * Responsible for bridging source- and target-side invocations chains when the target type is a JavaScript implementation - * - * @version $Rev$ $Date$ - */ -@Scope("MODULE") -public class JavaScriptTargetWireBuilder extends WireBuilderSupport<JavaScriptContextFactory> { - - protected TargetInvoker createInvoker(QualifiedName targetName, Method operation, ScopeContext context, boolean downScope) { - return new ComponentTargetInvoker(targetName, operation, context); - } -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/config/JavaScriptContextFactory.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/config/JavaScriptContextFactory.java deleted file mode 100644 index 28a0302a4f..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/config/JavaScriptContextFactory.java +++ /dev/null @@ -1,114 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.container.rhino.config; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.container.rhino.context.JavaScriptComponentContext; -import org.apache.tuscany.container.rhino.rhino.RhinoScript; -import org.apache.tuscany.core.builder.ContextCreationException; -import org.apache.tuscany.core.builder.ContextFactory; -import org.apache.tuscany.core.builder.ContextResolver; -import org.apache.tuscany.core.context.AtomicContext; -import org.apache.tuscany.core.context.CompositeContext; -import org.apache.tuscany.core.wire.SourceWireFactory; -import org.apache.tuscany.core.wire.TargetWireFactory; -import org.apache.tuscany.model.assembly.Scope; - -/** - * Creates instance contexts for JavaScript component types - * - * @version $Rev$ $Date$ - */ -public class JavaScriptContextFactory implements ContextFactory<AtomicContext>, ContextResolver { - - private Scope scope; - - private String name; - - private Map<String, TargetWireFactory> targetProxyFactories = new HashMap<String, TargetWireFactory>(); - - private List<SourceWireFactory> sourceProxyFactories = new ArrayList<SourceWireFactory>(); - - private Map<String, Class> services; - - private Map<String, Object> properties; - - private RhinoScript invoker; - - private CompositeContext parentContext; - - public JavaScriptContextFactory(String name, Scope scope, Map<String, Class> services, Map<String, Object> properties, RhinoScript invoker) { - this.name = name; - this.scope = scope; - this.services = services; - this.properties = properties; - this.invoker = invoker; - } - - public AtomicContext createContext() throws ContextCreationException { - return new JavaScriptComponentContext(name, services, properties, sourceProxyFactories, targetProxyFactories, invoker.copy()); - } - - public Scope getScope() { - return scope; - } - - public String getName() { - return name; - } - - public void addProperty(String propertyName, Object value) { - properties.put(propertyName, value); - } - - public void addTargetWireFactory(String serviceName, TargetWireFactory factory) { - targetProxyFactories.put(serviceName, factory); - } - - public TargetWireFactory getTargetWireFactory(String serviceName) { - return targetProxyFactories.get(serviceName); - } - - public Map<String, TargetWireFactory> getTargetWireFactories() { - return targetProxyFactories; - } - - public void addSourceWireFactory(String referenceName, SourceWireFactory factory) { - sourceProxyFactories.add(factory); - } - - public void addSourceWireFactories(String referenceName, Class referenceInterface, List<SourceWireFactory> factories, boolean multiplicity) { - sourceProxyFactories.addAll(factories); - } - - public List<SourceWireFactory> getSourceWireFactories() { - return sourceProxyFactories; - } - - public void prepare(CompositeContext parent) { - parentContext = parent; - } - - public CompositeContext getCurrentContext() { - return parentContext; - } - -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/context/JavaScriptComponentContext.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/context/JavaScriptComponentContext.java deleted file mode 100644 index bfa4eeaffb..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/context/JavaScriptComponentContext.java +++ /dev/null @@ -1,140 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.container.rhino.context; - -import org.apache.tuscany.container.rhino.rhino.RhinoScript; -import org.apache.tuscany.core.context.AtomicContext; -import org.apache.tuscany.core.context.CoreRuntimeException; -import org.apache.tuscany.core.context.QualifiedName; -import org.apache.tuscany.core.context.TargetException; -import org.apache.tuscany.core.context.event.InstanceCreated; -import org.apache.tuscany.core.context.impl.AbstractContext; -import org.apache.tuscany.core.wire.ProxyCreationException; -import org.apache.tuscany.core.wire.WireFactory; -import org.apache.tuscany.core.wire.SourceWireFactory; -import org.apache.tuscany.core.wire.TargetWireFactory; -import org.osoa.sca.ServiceRuntimeException; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class JavaScriptComponentContext extends AbstractContext implements AtomicContext { - - private Map<String, Class> services; - - private RhinoScript rhinoInvoker; - - private Map<String, Object> properties; - - private List<SourceWireFactory> sourceProxyFactories; - - private Map<String, TargetWireFactory> targetProxyFactories; - - private Object instance; - - public JavaScriptComponentContext(String name, Map<String, Class> services, Map<String, Object> properties, - List<SourceWireFactory> sourceProxyFactories, Map<String, TargetWireFactory> targetProxyFactories, RhinoScript invoker) { - super(name); - assert (services != null) : "No service interface mapping specified"; - assert (properties != null) : "No properties specified"; - this.services = services; - this.properties = properties; - this.rhinoInvoker = invoker; - this.sourceProxyFactories = sourceProxyFactories; - this.targetProxyFactories = targetProxyFactories; - } - - public Object getInstance(QualifiedName qName) throws TargetException { - return getInstance(qName, true); - } - - public void init() throws TargetException { - getInstance(null, false); - } - - public void destroy() throws TargetException { - - } - - private synchronized Object getInstance(QualifiedName qName, boolean notify) throws TargetException { - String portName = qName.getPortName(); - WireFactory 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 service not found"); - e.setIdentifier(qName.getPortName()); - e.addContextName(getName()); - throw e; - } - try { - Object proxy = targetFactory.createProxy(); //createProxy(new Class[] { iface }); - if (notify) { - publish(new InstanceCreated(this)); - } - return proxy; - } catch (ProxyCreationException e) { - TargetException te = new TargetException("Error returning target", e); - e.setIdentifier(qName.getPortName()); - e.addContextName(getName()); - throw te; - } - } - - public Object getTargetInstance() throws TargetException { - rhinoInvoker.updateScriptScope(createServiceReferences()); // create references - rhinoInvoker.updateScriptScope(properties); // create prop values - return rhinoInvoker; - } - - /** - * Creates a map containing any ServiceReferences - */ - private Map createServiceReferences() { - try { - Map<String, Object> context = new HashMap<String, Object>(); - for (SourceWireFactory proxyFactory : sourceProxyFactories) { - context.put(proxyFactory.getConfiguration().getReferenceName(), proxyFactory.createProxy()); - } - return context; - } catch (ProxyCreationException e) { - throw new ServiceRuntimeException(e); - } - } - - public boolean isEagerInit() { - return false; - } - - public boolean isDestroyable() { - return false; - } - - public void start() throws CoreRuntimeException { - } - - public void stop() throws CoreRuntimeException { - } - -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/loader/JavaScriptImplementationLoader.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/loader/JavaScriptImplementationLoader.java deleted file mode 100644 index e28776049c..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/loader/JavaScriptImplementationLoader.java +++ /dev/null @@ -1,168 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.container.rhino.loader; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.common.resource.ResourceLoader; -import org.apache.tuscany.container.rhino.assembly.JavaScriptImplementation; -import org.apache.tuscany.core.config.ConfigurationLoadException; -import org.apache.tuscany.core.config.InvalidRootElementException; -import org.apache.tuscany.core.config.MissingResourceException; -import org.apache.tuscany.core.config.SidefileLoadException; -import org.apache.tuscany.core.loader.LoaderContext; -import org.apache.tuscany.core.loader.StAXElementLoader; -import org.apache.tuscany.core.loader.StAXLoaderRegistry; -import org.apache.tuscany.core.loader.assembly.AssemblyConstants; -import org.apache.tuscany.core.system.annotation.Autowire; -import org.apache.tuscany.model.assembly.ComponentType; -import org.osoa.sca.annotations.Destroy; -import org.osoa.sca.annotations.Init; -import org.osoa.sca.annotations.Scope; - -/** - * @version $Rev$ $Date$ - */ -@Scope("MODULE") -public class JavaScriptImplementationLoader implements StAXElementLoader<JavaScriptImplementation> { - - public static final QName IMPLEMENTATION_JS = new QName("http://org.apache.tuscany/xmlns/js/0.9", "implementation.js"); - - protected StAXLoaderRegistry registry; - - private XMLInputFactory xmlFactory; - - public JavaScriptImplementationLoader() { - // todo make this a reference to a system service - xmlFactory = XMLInputFactory.newInstance(); - } - - @Autowire - public void setRegistry(StAXLoaderRegistry registry) { - this.registry = registry; - } - - @Init(eager = true) - public void start() { - registry.registerLoader(IMPLEMENTATION_JS, this); - } - - @Destroy - public void stop() { - registry.unregisterLoader(IMPLEMENTATION_JS, this); - } - - public JavaScriptImplementation load(XMLStreamReader reader, LoaderContext loaderContext) throws XMLStreamException, ConfigurationLoadException { - String scriptFile = reader.getAttributeValue(null, "scriptFile"); - String script = loadScript(scriptFile, loaderContext.getResourceLoader()); - ComponentType componentType = loadComponentType(scriptFile, loaderContext); - - JavaScriptImplementation jsImpl = new JavaScriptImplementation(); - jsImpl.setComponentType(componentType); - jsImpl.setScriptFile(scriptFile); - jsImpl.setScript(script); - jsImpl.setResourceLoader(loaderContext.getResourceLoader()); - jsImpl.setTypeHelper(registry.getContext().getTypeHelper()); - return jsImpl; - } - - protected String loadScript(String scriptFile, ResourceLoader resourceLoader) throws ConfigurationLoadException { - URL url = resourceLoader.getResource(scriptFile); - if (url == null) { - throw new ConfigurationLoadException(scriptFile); - } - InputStream inputStream; - try { - inputStream = url.openStream(); - } catch (IOException e) { - throw new ConfigurationLoadException(scriptFile, e); - } - try { - StringBuilder sb = new StringBuilder(1024); - int n; - while ((n = inputStream.read()) != -1) { - sb.append((char) n); - } - return sb.toString(); - } catch (IOException e) { - throw new ConfigurationLoadException(scriptFile, e); - } finally { - try { - inputStream.close(); - } catch (IOException e) { - // ignore - } - } - } - - protected ComponentType loadComponentType(String scriptFile, LoaderContext loaderContext) throws SidefileLoadException, MissingResourceException{ - String sidefile = scriptFile.substring(0, scriptFile.lastIndexOf('.')) + ".componentType"; - URL componentTypeFile = loaderContext.getResourceLoader().getResource(sidefile); - if (componentTypeFile == null) { - throw new MissingResourceException(sidefile); - } - - try { - XMLStreamReader reader; - InputStream is; - is = componentTypeFile.openStream(); - try { - reader = xmlFactory.createXMLStreamReader(is); - try { - reader.nextTag(); - if (!AssemblyConstants.COMPONENT_TYPE.equals(reader.getName())) { - InvalidRootElementException e = new InvalidRootElementException(AssemblyConstants.COMPONENT_TYPE, reader.getName()); - e.setResourceURI(componentTypeFile.toString()); - throw e; - } - return (ComponentType) registry.load(reader, loaderContext); - } finally { - try { - reader.close(); - } catch (XMLStreamException e) { - // ignore - } - } - } finally { - try { - is.close(); - } catch (IOException e) { - // ignore - } - } - } catch (IOException e) { - SidefileLoadException sfe = new SidefileLoadException(e.getMessage()); - sfe.setResourceURI(componentTypeFile.toString()); - throw sfe; - } catch (XMLStreamException e) { - SidefileLoadException sfe = new SidefileLoadException(e.getMessage()); - sfe.setResourceURI(componentTypeFile.toString()); - throw sfe; - } catch (ConfigurationLoadException e) { - SidefileLoadException sfe = new SidefileLoadException(e.getMessage()); - sfe.setResourceURI(componentTypeFile.toString()); - throw sfe; - } - } -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/E4XDataBinding.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/E4XDataBinding.java deleted file mode 100644 index 3969735b23..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/E4XDataBinding.java +++ /dev/null @@ -1,108 +0,0 @@ -/**
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.container.rhino.rhino;
-
-import java.io.ByteArrayInputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.core.wire.InvocationRuntimeException;
-import org.apache.tuscany.databinding.sdo.SDOXMLHelper;
-import org.apache.xmlbeans.XmlObject;
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.Scriptable;
-
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * DataBinding to convert between Java objects and JavaScript E4X XML objects. This uses SDO to do the conversion between XML and Java so WSDL/XSDs
- * need to have be registered with the SDO runtime.
- *
- * TODO: suport non-wrapped WSDL
- */
-public class E4XDataBinding {
-
- private ClassLoader classLoader;
-
- private TypeHelper typeHelper;
-
- private Map<String, QName> function2ElementMap;
-
- private static final boolean IS_WRAPPED = true;
-
- public E4XDataBinding(ClassLoader classLoader, TypeHelper typeHelper) {
- this.classLoader = classLoader;
- this.typeHelper = typeHelper;
- this.function2ElementMap = new HashMap<String, QName>();
- }
-
- /**
- * Convert E4X XML to Java objects
- *
- * @param e4xXML
- * @return the array of Objects
- */
- public Object[] toObjects(Scriptable e4xXML) {
- byte[] xmlBytes = e4xXML.toString().getBytes();
- Object[] os = SDOXMLHelper.toObjects(classLoader, typeHelper, xmlBytes, IS_WRAPPED);
- return os;
- }
-
- /**
- * Convert request Java objects to XML
- *
- * @param functionName
- * @param os
- * @param scope
- * @return a JavaScript E4X XML object
- */
- public Scriptable toE4X(String functionName, Object[] os, Scriptable scope) {
- QName elementQN = function2ElementMap.get(functionName);
- byte[] xmlBytes = SDOXMLHelper.toXMLBytes(classLoader, typeHelper, os, elementQN, IS_WRAPPED);
-
- XmlObject xmlObject;
- try {
- xmlObject = XmlObject.Factory.parse(new ByteArrayInputStream(xmlBytes));
- } catch (Exception e) {
- throw new InvocationRuntimeException(e);
- }
-
- Context cx = Context.enter();
- try {
-
- Object xml = cx.getWrapFactory().wrap(cx, scope, xmlObject, XmlObject.class);
- Scriptable jsXML = cx.newObject(scope, "XML", new Object[] { xml });
-
- return jsXML;
-
- } finally {
- Context.exit();
- }
- }
-
- /**
- * Add the XML element name to use for an operation when converting from
- * Java objects to XML.
- *
- * @param functionName
- * @param elementQN
- */
- public void addElementQName(String functionName, QName elementQN) {
- function2ElementMap.put(functionName, elementQN);
- }
-}
diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/RhinoE4XScript.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/RhinoE4XScript.java deleted file mode 100644 index 5f42f6d164..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/RhinoE4XScript.java +++ /dev/null @@ -1,76 +0,0 @@ -/**
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.container.rhino.rhino;
-
-import java.util.Map;
-
-import org.mozilla.javascript.Function;
-import org.mozilla.javascript.Scriptable;
-import org.mozilla.javascript.xml.XMLObject;
-
-/**
- * Invokes a JavaScript/E4X function with argument and return values that may be E4X XML objects.
- */
-public class RhinoE4XScript extends RhinoScript {
-
- private E4XDataBinding dataBinding;
-
- public RhinoE4XScript(String scriptName, String script, Map context, ClassLoader cl, E4XDataBinding dataBinding) {
- super(scriptName, script, context, cl);
- this.dataBinding = dataBinding;
- }
-
- protected RhinoE4XScript(String scriptName, String script, Scriptable scriptScope, E4XDataBinding dataBinding) {
- super(scriptName, script, scriptScope);
- this.dataBinding = dataBinding;
- }
-
- /**
- * Turn args to JS objects and convert any OMElement to E4X XML
- */
- @Override
- protected Object[] processArgs(String functionName, Object[] args, Scriptable scope) {
- return new Object[] { dataBinding.toE4X(functionName, args, scope) };
- }
-
- /**
- * Unwrap and convert response converting any E4X XML into Java objects
- */
- @Override
- protected Object processResponse(String functionName, Object response, Class responseClass) {
- if (response instanceof XMLObject) {
- Object[] os = dataBinding.toObjects((XMLObject) response);
- if (os == null || os.length < 1) {
- return null;
- } else {
- return os[0];
- }
- } else {
- return super.processResponse(functionName, response, responseClass);
- }
- }
-
- @Override
- protected Function getFunction(Scriptable scope, String functionName) {
- return super.getFunction(scope, "process");
- }
-
- @Override
- public RhinoE4XScript copy() {
- return new RhinoE4XScript(scriptName, script, scriptScope, dataBinding);
- }
-
-}
diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/RhinoScript.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/RhinoScript.java deleted file mode 100644 index 5518159f69..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/java/org/apache/tuscany/container/rhino/rhino/RhinoScript.java +++ /dev/null @@ -1,290 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.container.rhino.rhino; - -import java.util.Iterator; -import java.util.Map; - -import org.apache.tuscany.core.extension.ExternalServiceInvoker; -import org.mozilla.javascript.Context; -import org.mozilla.javascript.ContextFactory; -import org.mozilla.javascript.Function; -import org.mozilla.javascript.ImporterTopLevel; -import org.mozilla.javascript.Script; -import org.mozilla.javascript.Scriptable; -import org.mozilla.javascript.Wrapper; - -/** - * Represents, and is responsible for dispatching to, a JavaScript artifact in Rhino - */ -public class RhinoScript implements ExternalServiceInvoker { - - protected String scriptName; - - protected String script; - - protected Scriptable scriptScope; - - private Scriptable sharedScope; - - /* - * Enable dynamic scopes so a script can be used concurrently with a global shared scope and individual execution - * scopes. See http://www.mozilla.org/rhino/scopes.html TODO: need to review how ths fits in with Tuscany scopes - */ - private static class MyFactory extends ContextFactory { - protected boolean hasFeature(Context cx, int featureIndex) { - if (featureIndex == Context.FEATURE_DYNAMIC_SCOPE) { - return true; - } - return super.hasFeature(cx, featureIndex); - } - } - - static { - ContextFactory.initGlobal(new MyFactory()); - } - - /** - * Create a new RhinoInvoker. - * - * @param scriptName the name of the script. Can be anything, only used in messages to identify the script - * @param script the complete script - */ - public RhinoScript(String scriptName, String script) { - this(scriptName, script, (Map) null, null); - } - - /** - * Create a new RhinoInvoker. - * - * @param scriptName the name of the script. Can be anything, only used in messages to identify the script - * @param script the complete script - * @param context name-value pairs that are added in to the scope where the script is compiled. May be null. The - * value objects are made available to the script by using a variable with the name. - */ - public RhinoScript(String scriptName, String script, Map context, ClassLoader cl) { - this.scriptName = scriptName; - this.script = script; - initScriptScope(scriptName, script, context, cl); - initSharedScope(); - } - - /** - * Construct a RhinoInvoker from another RhinoInvoker object. This uses the original script scope so the script - * doesn't need to be recompiled. - */ - protected RhinoScript(String scriptName, String script, Scriptable scriptScope) { - this.scriptName = scriptName; - this.script = script; - this.scriptScope = scriptScope; - initSharedScope(); - } - - /** - * Invoke a script function - * - * @param functionName the name of the function to invoke. - * @param arg arguments to the function, may be a single object or an array of objects. - * @return the function return value. - */ - public Object invoke(String functionName, Object[] args) { - return invoke(functionName, args, null, null); - } - - /** - * Invoke a script function - * - * @param functionName the name of the function to invoke. - * @param arg arguments to the function, may be a single object or an array of objects. - * @param contexts a Map of name-value pairs which are added to the wire Scope to enable the script to access - * the values by using the variable in name. - * @return the function return value. - */ - public Object invoke(String functionName, Object[] args, Map contexts) { - return invoke(functionName, args, null, contexts); - } - - /** - * Invoke a script function - * - * @param functionName the name of the function to invoke. - * @param arg arguments to the function, may be a single object or an array of objects. - * @param responseClass the desired class of the response object. - * @param contexts a Map of name-value pairs which are added to the wire Scope to enable the script to access - * the values by using the variable in name. - * @return the function return value. - */ - public Object invoke(String functionName, Object[] args, Class responseClass, Map contexts) { - Context cx = Context.enter(); - try { - Function function = getFunction(scriptScope, functionName); - Scriptable invocationScope = getInvocationScope(cx, contexts); - Object[] jsArgs = processArgs(functionName, args, invocationScope); - Object jsResponse = function.call(cx, invocationScope, invocationScope, jsArgs); - Object response = processResponse(functionName, jsResponse, responseClass); - return response; - } finally { - Context.exit(); - } - } - - /** - * Turn args to JS objects and convert any OMElement to E4X XML - */ - protected Object[] processArgs(String functionName, Object[] arg, Scriptable scope) { - Object[] args; - if (arg == null) { - args = new Object[] { null }; - } else if (arg.getClass().isArray()) { - args = (Object[]) arg; - for (int i = 0; i < args.length; i++) { - args[i] = Context.toObject(args[i], scope); - } - } else { - args = new Object[] { Context.toObject(arg, scope) }; - } - return args; - } - - /** - * Unwrap and convert response - */ - protected Object processResponse(String functionName, Object response, Class responseClass) { - if (Context.getUndefinedValue().equals(response)) { - response = null; - } else if (response instanceof Wrapper) { - response = ((Wrapper) response).unwrap(); - } else { - if (responseClass != null) { - response = Context.jsToJava(response, responseClass); - } else { - response = Context.jsToJava(response, String.class); - } - } - return response; - } - - /** - * Create a Rhino scope and compile the script into it - */ - protected void initScriptScope(String fileName, String scriptCode, Map context, ClassLoader cl) { - Context cx = Context.enter(); - try { - - if (cl != null) { - cx.setApplicationClassLoader(cl); - } - this.scriptScope = new ImporterTopLevel( cx, true ); - Script compiledScript = cx.compileString(scriptCode, fileName, 1, null); - compiledScript.exec(cx, scriptScope); - addContexts(scriptScope, context); - - } finally { - Context.exit(); - } - } - - /** - * Initializes the shared scope - */ - protected void initSharedScope() { - Context cx = Context.enter(); - try { - - this.sharedScope = cx.newObject(scriptScope); - sharedScope.setPrototype(scriptScope); - sharedScope.setParentScope(null); - - } finally { - Context.exit(); - } - } - - /** - * Get a Rhino scope for the function wire. If the wire has no context objects then this will use the - * shared scope otherwise a new scope is created to hold the context objects. Any new variables the executing script - * might define will go in the sharedScope. This new scope is just to hold the wire specific context objects. - */ - protected Scriptable getInvocationScope(Context cx, Map contexts) { - - Scriptable scope; - if (contexts == null || contexts.size() == 0) { - scope = sharedScope; - } else { - scope = cx.newObject(sharedScope); - scope.setPrototype(sharedScope); - scope.setParentScope(null); - addContexts(scope, contexts); - } - - return scope; - } - - /** - * Add the context to the scope. This will make the objects available to a script by using the name it was added - * with. - */ - protected void addContexts(Scriptable scope, Map contexts) { - if (contexts != null) { - for (Iterator i = contexts.keySet().iterator(); i.hasNext();) { - String name = (String) i.next(); - Object value = contexts.get(name); - if (value != null) { - scope.put(name, scope, Context.toObject(value, scope)); - } - } - } - } - - /** - * Get the Rhino Function object for the named script function - */ - protected Function getFunction(Scriptable scope, String functionName) { - - Object handleObj = scope.get(functionName, scope); - - if (!(handleObj instanceof Function)) { - throw new RuntimeException("script function '" + functionName + "' is undefined or not a function in script " - + scriptName); - } - - return (Function) handleObj; - } - - /** - * Make a copy of this RhinoScript object. This shares the script scope to avoid the overhead of recompiling the - * script, and to allow any initialization done by the script to be shared. - */ - public RhinoScript copy() { - return new RhinoScript(scriptName, script, scriptScope); - } - - /** - * Update the scope where the script is complied with new context values - * - * @param properties - */ - public void updateScriptScope(Map context) { - Context.enter(); - try { - addContexts(scriptScope, context); - } finally { - Context.exit(); - } - } - -}
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/resources/system.fragment b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/resources/system.fragment deleted file mode 100644 index 840efd10bc..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/main/resources/system.fragment +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<!--
- Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-<moduleFragment xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
- xmlns:tuscany="http://org.apache.tuscany/xmlns/system/0.9"
- name="org.apache.tuscany.container.rhino">
-
- <component name="org.apache.tuscany.container.rhino.builder.JavaScriptContextFactoryBuilder">
- <tuscany:implementation.system class="org.apache.tuscany.container.rhino.builder.JavaScriptContextFactoryBuilder"/>
- </component>
-
- <component name="org.apache.tuscany.container.rhino.builder.JavaScriptTargetWireBuilder">
- <tuscany:implementation.system class="org.apache.tuscany.container.rhino.builder.JavaScriptTargetWireBuilder"/>
- </component>
-
- <component name="org.apache.tuscany.container.rhino.loader.JavaScriptImplementationLoader">
- <tuscany:implementation.system class="org.apache.tuscany.container.rhino.loader.JavaScriptImplementationLoader"/>
- </component>
-</moduleFragment>
diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/AbstractJavaScriptTestCase.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/AbstractJavaScriptTestCase.java deleted file mode 100644 index ee6b533ddf..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/AbstractJavaScriptTestCase.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package org.apache.tuscany.container.rhino.integration; - -import junit.framework.TestCase; - -import org.apache.tuscany.core.client.TuscanyRuntime; -import org.osoa.sca.CurrentModuleContext; -import org.osoa.sca.ModuleContext; - -/** - * Integration tests for JavaScript components - */ -public abstract class AbstractJavaScriptTestCase extends TestCase { - - protected TuscanyRuntime tuscany; - - protected ModuleContext moduleContext; - - @Override - protected void setUp() throws Exception { - super.setUp(); - - tuscany = new TuscanyRuntime("tests", null); - tuscany.start(); - moduleContext = CurrentModuleContext.getContext(); - - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - tuscany.stop(); - } -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/BasicTestCase.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/BasicTestCase.java deleted file mode 100644 index f66f2e1079..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/BasicTestCase.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package org.apache.tuscany.container.rhino.integration; - -/** - * Integration tests for JavaScript components - */ -public class BasicTestCase extends AbstractJavaScriptTestCase { - - public void testBasicInvocation() throws Exception { - HelloWorld helloworldService = (HelloWorld) moduleContext.locateService("HelloWorldComponent1"); - String response = helloworldService.getGreetings("petra"); - assertEquals("jsHello petra", response); - } - -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/E4XTestCase.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/E4XTestCase.java deleted file mode 100644 index d6060aea90..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/E4XTestCase.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package org.apache.tuscany.container.rhino.integration; - -/** - * Integration tests for JavaScript components and composite contexts - * - * @version $Rev$ $Date$ - */ -public class E4XTestCase extends AbstractJavaScriptTestCase { - - public void testE4X() throws Exception { - HelloWorld helloworldService = (HelloWorld) moduleContext.locateService("HelloWorldComponentE4X"); - String response = helloworldService.getGreetings("petra"); - assertEquals("e4xHello petra", response); - } - -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/HelloWorld.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/HelloWorld.java deleted file mode 100644 index 3a90be0102..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/HelloWorld.java +++ /dev/null @@ -1,26 +0,0 @@ -/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.container.rhino.integration;
-
-/**
- * This is the business interface of the HelloWorld service component.
- */
-public interface HelloWorld {
-
- public String getGreetings(String name);
-
-}
diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/InitializationTestCase.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/InitializationTestCase.java deleted file mode 100644 index 138d9a8452..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/InitializationTestCase.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package org.apache.tuscany.container.rhino.integration; - -/** - * Integration tests for JavaScript components - */ -public class InitializationTestCase extends AbstractJavaScriptTestCase { - - public void testInitialization() throws Exception { - HelloWorld helloworldService = (HelloWorld) moduleContext.locateService("HelloWorldComponent4"); - String response = helloworldService.getGreetings("petra"); - assertEquals("Bonjour petra", response); - } - - public void testImports1() throws Exception { - HelloWorld helloworldService = (HelloWorld) moduleContext.locateService("HelloWorldComponent5"); - String response = helloworldService.getGreetings("petra"); - assertEquals("Kia ora petra", response); - } - -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/PropertiesTestCase.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/PropertiesTestCase.java deleted file mode 100644 index 7b14376dbe..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/PropertiesTestCase.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package org.apache.tuscany.container.rhino.integration; - -/** - * Integration tests for JavaScript components - */ -public class PropertiesTestCase extends AbstractJavaScriptTestCase { - - public void testDefaultProperty() throws Exception { - HelloWorld helloworldService = (HelloWorld) moduleContext.locateService("HelloWorldComponent2a"); - String response = helloworldService.getGreetings("petra"); - assertEquals("Hi petra", response); - } - - public void testOverrideProperty() throws Exception { - HelloWorld helloworldService = (HelloWorld) moduleContext.locateService("HelloWorldComponent2b"); - String response = helloworldService.getGreetings("petra"); - assertEquals("Guten Tag petra", response); - } - -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/Salutation.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/Salutation.java deleted file mode 100644 index 42d46c16d1..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/Salutation.java +++ /dev/null @@ -1,25 +0,0 @@ -/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.container.rhino.integration;
-
-/**
- */
-public interface Salutation {
-
- public String getSalutation();
-
-}
diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/ServiceRefsTestCase.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/ServiceRefsTestCase.java deleted file mode 100644 index 27993c2b99..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/ServiceRefsTestCase.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package org.apache.tuscany.container.rhino.integration; - -/** - * Integration tests for JavaScript components - */ -public class ServiceRefsTestCase extends AbstractJavaScriptTestCase { - - public void testServiceReference() throws Exception { - HelloWorld helloworldService = (HelloWorld) moduleContext.locateService("HelloWorldComponent3a"); - String response = helloworldService.getGreetings("petra"); - assertEquals("Guten Tag petra", response); - } - -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/TestMethods.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/TestMethods.java deleted file mode 100644 index 327edd1cbb..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/integration/TestMethods.java +++ /dev/null @@ -1,30 +0,0 @@ -/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.container.rhino.integration;
-
-public class TestMethods {
-
- private String salutation = "Kia ora";
-
- public String getSalutation() {
- return salutation;
- }
-
- public void getSalutation(String s) {
- salutation = s;
- }
-}
diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/rhino/RhinoE4XScriptTestCase.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/rhino/RhinoE4XScriptTestCase.java deleted file mode 100644 index 714814f2cf..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/rhino/RhinoE4XScriptTestCase.java +++ /dev/null @@ -1,89 +0,0 @@ -/*
- * Copyright 2004,2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.container.rhino.rhino;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.helper.XSDHelperImpl;
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * Tests for the RhinoE4XScript
- */
-public class RhinoE4XScriptTestCase extends TestCase {
-
- private static final String scriptName = "RhinoE4XScriptTestCase.js";
-
- private String script;
-
- private E4XDataBinding dataBinding;
-
- protected void setUp() throws Exception {
- super.setUp();
- this.script = readResource(scriptName);
- TypeHelper th = SDOUtil.createTypeHelper();
- XSDHelper xsdHelper = new XSDHelperImpl(th);
- URL url = getClass().getResource("helloworld.wsdl");
- xsdHelper.define(url.openStream(), null);
-
- dataBinding = new E4XDataBinding(getClass().getClassLoader(),th);
- dataBinding.addElementQName("getGreetings", new QName("http://helloworld.samples.tuscany.apache.org", "getGreetings"));
- }
-
- public void testSimpleInvocation() throws IOException {
- RhinoE4XScript ri = new RhinoE4XScript(scriptName, script, null, null, dataBinding);
- Object x = ri.invoke("getGreetings", new Object[] { "petra" }, null);
- assertEquals(x, "hello petra");
- }
-
- /**
- * Read a resource into a String
- */
- private String readResource(String name) {
- try {
- URL url = getClass().getResource(name);
- if (url == null) {
- throw new RuntimeException("resource not found: " + name);
- }
- InputStream inputStream = url.openStream();
-
- StringBuffer resource = new StringBuffer();
- int n = 0;
-
- while ((n = inputStream.read()) != -1) {
- resource.append((char) n);
- }
-
- inputStream.close();
-
- String s = resource.toString();
- return s;
-
- } catch (IOException e) {
- throw new RuntimeException("IOException reading resource " + name, e);
- }
- }
-
-}
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/rhino/RhinoScriptTestCase.java b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/rhino/RhinoScriptTestCase.java deleted file mode 100644 index 19c0d9bcf6..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/java/org/apache/tuscany/container/rhino/rhino/RhinoScriptTestCase.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright 2004,2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.tuscany.container.rhino.rhino; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.HashMap; -import java.util.Map; - -import junit.framework.TestCase; - -import org.apache.tuscany.container.rhino.rhino.RhinoScript; -import org.mozilla.javascript.EcmaError; - -/** - * Tests for the RhinoScript - */ -public class RhinoScriptTestCase extends TestCase { - - private static final String scriptName = "RhinoScriptTestCase.js"; - - private String script; - - protected void setUp() throws Exception { - super.setUp(); - this.script = readResource(scriptName); - } - - public void testSimpleInvocation() { - RhinoScript ri = new RhinoScript(scriptName, script); - Object x = ri.invoke("echo", new Object[] { "petra" }, null); - assertEquals("petra", x); - } - - public void testCopy() { - RhinoScript ri = new RhinoScript(scriptName, script); - Object x = ri.invoke("echo", new Object[] { "petra" }, null); - assertEquals("petra", x); - - ri = ri.copy(); - x = ri.invoke("echo", new Object[] { "sue" }, null); - assertEquals("sue", x); - - } - - public void testContexts1() { - RhinoScript ri = new RhinoScript(scriptName, script); - Map<String, Object> contexts = new HashMap<String, Object>(); - contexts.put("a", "petra"); - Object x = ri.invoke("getA", null, contexts); - assertEquals("petra", x); - } - - /** - * Tests context not accessable across invocations - */ - public void testContexts2() { - RhinoScript ri = new RhinoScript(scriptName, script); - Map<String, Object> contexts = new HashMap<String, Object>(); - contexts.put("a", "petra"); - Object x = ri.invoke("getA", null, contexts); - assertEquals("petra", x); - - try { - x = ri.invoke("getA", null, null); - assertTrue("expected ReferenceError", false); - } catch (EcmaError e) { - assertEquals("ReferenceError", e.getName()); - } - } - - /** - * Tests shared scope is accessable across invocations - */ - public void testScopes1() { - RhinoScript ri = new RhinoScript(scriptName, script); - ri.invoke("setGlobalVarY", new Object[] { "petra" }, null); - - Object x = ri.invoke("getGlobalVarY", null, null); - assertEquals("petra", x); - } - - /** - * Tests local vars are NOT accessable across invocations - */ - public void testScopes2() { - RhinoScript ri = new RhinoScript(scriptName, script); - ri.invoke("setLocalVarY", new Object[] { "petra" }, null); - - try { - ri.invoke("getGlobalVarY", null, null); - assertTrue("expected ReferenceError", false); - } catch (EcmaError e) { - assertEquals("ReferenceError", e.getName()); - } - } - - /** - * Tests shared scope is accessable when using contexts (ie an wire scope) - */ - public void testScopes3() { - RhinoScript ri = new RhinoScript(scriptName, script); - ri.invoke("setGlobalVarY", new Object[] { "petra" }, null); - - Map<String, Object> contexts = new HashMap<String, Object>(); - contexts.put("a", "sue"); - Object x = ri.invoke("getGlobalVarY", null, contexts); - assertEquals("petra", x); - - x = ri.invoke("getA", null, contexts); - assertEquals("sue", x); - - } - - /** - * Tests a copy only retains the script scope not the shared scope - */ - public void testScopes4() { - RhinoScript ri = new RhinoScript(scriptName, script); - ri.invoke("setGlobalVarY", new Object[] { "petra" }, null); - - ri = ri.copy(); - try { - ri.invoke("getGlobalVarY", null, null); - assertTrue("expected ReferenceError", false); - } catch (EcmaError e) { - assertEquals("ReferenceError", e.getName()); - } - try { - ri.invoke("getA", null, null); - assertTrue("expected ReferenceError", false); - } catch (EcmaError e) { - assertEquals("ReferenceError", e.getName()); - } - - } - - public void testGetInt() { - RhinoScript ri = new RhinoScript(scriptName, script); - Object x = ri.invoke("getInt", null, Integer.TYPE, null); - assertEquals(Integer.class, x.getClass()); - } - - /** - * Read a resource into a String - */ - private String readResource(String name) { - try { - URL url = getClass().getResource(name); - if (url == null) { - throw new RuntimeException("resource not found: " + name); - } - InputStream inputStream = url.openStream(); - - StringBuffer resource = new StringBuffer(); - int n = 0; - - while ((n = inputStream.read()) != -1) { - resource.append((char) n); - } - - inputStream.close(); - - String s = resource.toString(); - return s; - - } catch (IOException e) { - throw new RuntimeException("IOException reading resource " + name, e); - } - } - -}
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/RhinoE4XScriptTestCase.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/RhinoE4XScriptTestCase.js deleted file mode 100644 index 20dc2245f9..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/RhinoE4XScriptTestCase.js +++ /dev/null @@ -1,11 +0,0 @@ - -function process(inXML) { - - var greeting = "hello " + inXML..*::in0; - var outXML = - <helloworldaxis:getGreetingsResponse xmlns:helloworldaxis="http://helloworld.samples.tuscany.apache.org"> - <helloworldaxis:getGreetingsReturn>{ greeting }</helloworldaxis:getGreetingsReturn> - </helloworldaxis:getGreetingsResponse>; - - return outXML; -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/RhinoScriptTestCase.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/RhinoScriptTestCase.js deleted file mode 100644 index 2de740d5f8..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/RhinoScriptTestCase.js +++ /dev/null @@ -1,22 +0,0 @@ - -function echo(x) { - return x; -} - -function getA(x) { - return a; -} - -function setGlobalVarY(x) { - y = x; -} -function setLocalVarY(x) { - var y = x; -} -function getGlobalVarY(x) { - return y; -} - -function getInt(x) { - return 42; -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/helloworld.wsdl b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/helloworld.wsdl deleted file mode 100644 index a402cc4d7c..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/org/apache/tuscany/container/rhino/rhino/helloworld.wsdl +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<wsdl:definitions targetNamespace="http://helloworld.samples.tuscany.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://helloworld.samples.tuscany.apache.org" xmlns:intf="http://helloworld.samples.tuscany.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld">
- <!--WSDL created by Apache Axis version: 1.2.1
-Built on Jun 14, 2005 (09:15:57 EDT)-->
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="http://helloworld.samples.tuscany.apache.org" xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="getGreetings">
- <complexType>
- <sequence>
- <element name="in0" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
- <element name="getGreetingsResponse">
- <complexType>
- <sequence>
- <element name="getGreetingsReturn" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
- </schema>
- </wsdl:types>
-
- <wsdl:message name="getGreetingsRequest">
-
- <wsdl:part element="impl:getGreetings" name="parameters"/>
-
- </wsdl:message>
-
- <wsdl:message name="getGreetingsResponse">
-
- <wsdl:part element="impl:getGreetingsResponse" name="parameters"/>
-
- </wsdl:message>
-
- <wsdl:portType name="HelloWorldServiceImpl">
-
- <wsdl:operation name="getGreetings">
-
- <wsdl:input message="impl:getGreetingsRequest" name="getGreetingsRequest"/>
-
- <wsdl:output message="impl:getGreetingsResponse" name="getGreetingsResponse"/>
-
- </wsdl:operation>
-
- </wsdl:portType>
-
- <wsdl:binding name="helloworldSoapBinding" type="impl:HelloWorldServiceImpl">
-
- <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <wsdl:operation name="getGreetings">
-
- <wsdlsoap:operation soapAction=""/>
-
- <wsdl:input name="getGreetingsRequest">
-
- <wsdlsoap:body use="literal"/>
-
- </wsdl:input>
-
- <wsdl:output name="getGreetingsResponse">
-
- <wsdlsoap:body use="literal"/>
-
- </wsdl:output>
-
- </wsdl:operation>
-
- </wsdl:binding>
-
- <wsdl:service name="HelloWorldServiceImplService">
-
- <wsdl:port binding="impl:helloworldSoapBinding" name="helloworld">
-
- <wsdlsoap:address location="http://localhost:8080/sample-helloworldws/services/HelloWorldService"/>
-
- </wsdl:port>
-
- </wsdl:service>
-
-</wsdl:definitions>
diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/sca.module b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/sca.module deleted file mode 100644 index f78a41381a..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/sca.module +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<module xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9" - xmlns:js="http://org.apache.tuscany/xmlns/js/0.9" - - name="JavaScriptTests"> - - <component name="HelloWorldComponent1"> - <js:implementation.js scriptFile="tests/HelloWorldImpl1.js"/> - </component> - - <component name="HelloWorldComponent2a"> - <js:implementation.js scriptFile="tests/HelloWorldImpl2.js"/> - </component> - - <component name="HelloWorldComponent2b"> - <js:implementation.js scriptFile="tests/HelloWorldImpl2.js"/> - <properties> - <v:salutation>Guten Tag</v:salutation> - </properties> - </component> - - <component name="HelloWorldComponent3a"> - <js:implementation.js scriptFile="tests/HelloWorldImpl3a.js"/> - <references> - <v:SalutationService>SalutationComponent3b</v:SalutationService> - </references> - </component> - - <component name="SalutationComponent3b"> - <js:implementation.js scriptFile="tests/SalutationImpl.js"/> - <properties> - <v:GREETING>Guten Tag</v:GREETING> - </properties> - </component> - - <component name="HelloWorldComponent4"> - <js:implementation.js scriptFile="tests/HelloWorldImpl4.js"/> - </component> - - <component name="HelloWorldComponent5"> - <js:implementation.js scriptFile="tests/HelloWorldImpl5.js"/> - </component> - - <import.sdo wsdlLocation="wsdl/helloworld.wsdl"/> - <import.wsdl wsdlLocation="wsdl/helloworld.wsdl"/> - - <component name="HelloWorldComponentE4X"> - <js:implementation.js scriptFile="tests/e4x.js"/> - </component> - -</module> diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl1.componentType b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl1.componentType deleted file mode 100644 index 90b6c09015..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl1.componentType +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <service name="HelloWorldService"> - <interface.java interface="org.apache.tuscany.container.rhino.integration.HelloWorld"/> - </service> - -</componentType>
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl1.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl1.js deleted file mode 100644 index b3104f78a5..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl1.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -function getGreetings(name) { - return "jsHello " + name; -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl2.componentType b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl2.componentType deleted file mode 100644 index 33208811bf..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl2.componentType +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <service name="HelloWorldService"> - <interface.java interface="org.apache.tuscany.container.rhino.integration.HelloWorld"/> - </service> - - <property name="salutation" type="xsd:string" default="Hi"/> - -</componentType>
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl2.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl2.js deleted file mode 100644 index 4f91dba40e..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl2.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -function getGreetings(name) { - return salutation + " " + name; -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl3a.componentType b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl3a.componentType deleted file mode 100644 index 1bc6922e6d..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl3a.componentType +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <service name="HelloWorldService"> - <interface.java interface="org.apache.tuscany.container.rhino.integration.HelloWorld"/> - </service> - - <reference name="SalutationService"> - <interface.java interface="org.apache.tuscany.container.rhino.integration.Salutation"/> - </reference> - -</componentType>
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl3a.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl3a.js deleted file mode 100644 index f3160f6f65..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl3a.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -function getGreetings(name) { - return SalutationService.getSalutation() + " " + name; -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl4.componentType b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl4.componentType deleted file mode 100644 index 90b6c09015..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl4.componentType +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <service name="HelloWorldService"> - <interface.java interface="org.apache.tuscany.container.rhino.integration.HelloWorld"/> - </service> - -</componentType>
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl4.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl4.js deleted file mode 100644 index 338c3ac3cd..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl4.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -initSalutation(); - -function getGreetings(name) { - return SALUTATION + name; -} - -function initSalutation() { - SALUTATION = "Bonjour "; -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl5.componentType b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl5.componentType deleted file mode 100644 index 90b6c09015..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl5.componentType +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <service name="HelloWorldService"> - <interface.java interface="org.apache.tuscany.container.rhino.integration.HelloWorld"/> - </service> - -</componentType>
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl5.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl5.js deleted file mode 100644 index f01cd1727f..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/HelloWorldImpl5.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -//importPackage(Packages.sample.utils); -importClass(Packages.org.apache.tuscany.container.rhino.integration.TestMethods); - -initSalutation(); - -function getGreetings(name) { - return SALUTATION.getSalutation() + " " + name; -} - -function initSalutation() { - SALUTATION = new TestMethods(); -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/SalutationImpl.componentType b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/SalutationImpl.componentType deleted file mode 100644 index 1c819bff32..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/SalutationImpl.componentType +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <service name="SalutationService"> - <interface.java interface="org.apache.tuscany.container.rhino.integration.Salutation"/> - </service> - - <property name="GREETING" type="xsd:string" default="Hi"/> - -</componentType>
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/SalutationImpl.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/SalutationImpl.js deleted file mode 100644 index 2116e40ae3..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/SalutationImpl.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -function getSalutation() { - return GREETING; -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/e4x.componentType b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/e4x.componentType deleted file mode 100644 index 6bf89d2ef8..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/e4x.componentType +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> - -<componentType xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <service name="HelloWorldService"> - <interface.wsdl interface="http://integration.rhino.container.tuscany.apache.org#HelloWorld"/> - </service> - -</componentType>
\ No newline at end of file diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/e4x.js b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/e4x.js deleted file mode 100644 index 7fe882df55..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/tests/e4x.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -function process(xmlIn) { - - var greeting = "e4xHello " + xmlIn..*::in0; - - var xmlOut = - <helloworld:getGreetingsResponse xmlns:helloworld="http://integration.rhino.container.tuscany.apache.org"> - <helloworld:getGreetingsReturn> { greeting } </helloworld:getGreetingsReturn> - </helloworld:getGreetingsResponse>; - - return xmlOut; -} diff --git a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/wsdl/helloworld.wsdl b/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/wsdl/helloworld.wsdl deleted file mode 100644 index 7bcb48dcf2..0000000000 --- a/tags/java-M1-20060518/java/sca/containers/container.rhino/src/test/resources/wsdl/helloworld.wsdl +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - --> -<wsdl:definitions targetNamespace="http://integration.rhino.container.tuscany.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://integration.rhino.container.tuscany.apache.org" xmlns:intf="http://helloworld.samples.tuscany.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld">
- <!--WSDL created by Apache Axis version: 1.2.1
-Built on Jun 14, 2005 (09:15:57 EDT)-->
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="http://integration.rhino.container.tuscany.apache.org" xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="getGreetings">
- <complexType>
- <sequence>
- <element name="in0" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
- <element name="getGreetingsResponse">
- <complexType>
- <sequence>
- <element name="getGreetingsReturn" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
- </schema>
- </wsdl:types>
-
- <wsdl:message name="getGreetingsRequest">
-
- <wsdl:part element="impl:getGreetings" name="parameters"/>
-
- </wsdl:message>
-
- <wsdl:message name="getGreetingsResponse">
-
- <wsdl:part element="impl:getGreetingsResponse" name="parameters"/>
-
- </wsdl:message>
-
- <wsdl:portType name="HelloWorld">
-
- <wsdl:operation name="getGreetings">
-
- <wsdl:input message="impl:getGreetingsRequest" name="getGreetingsRequest"/>
-
- <wsdl:output message="impl:getGreetingsResponse" name="getGreetingsResponse"/>
-
- </wsdl:operation>
-
- </wsdl:portType>
-
- <wsdl:binding name="helloworldSoapBinding" type="impl:HelloWorld">
-
- <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <wsdl:operation name="getGreetings">
-
- <wsdlsoap:operation soapAction=""/>
-
- <wsdl:input name="getGreetingsRequest">
-
- <wsdlsoap:body use="literal"/>
-
- </wsdl:input>
-
- <wsdl:output name="getGreetingsResponse">
-
- <wsdlsoap:body use="literal"/>
-
- </wsdl:output>
-
- </wsdl:operation>
-
- </wsdl:binding>
-
- <wsdl:service name="HelloWorldServiceImplService">
-
- <wsdl:port binding="impl:helloworldSoapBinding" name="helloworld">
-
- <wsdlsoap:address location="http://localhost:8080/helloworldws/services/HelloWorldService"/>
-
- </wsdl:port>
-
- </wsdl:service>
-
-</wsdl:definitions>
|