Return-Path: Delivered-To: apmail-ws-tuscany-commits-archive@locus.apache.org Received: (qmail 5327 invoked from network); 24 Feb 2007 20:22:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 24 Feb 2007 20:22:19 -0000 Received: (qmail 97445 invoked by uid 500); 24 Feb 2007 20:22:27 -0000 Delivered-To: apmail-ws-tuscany-commits-archive@ws.apache.org Received: (qmail 97423 invoked by uid 500); 24 Feb 2007 20:22:27 -0000 Mailing-List: contact tuscany-commits-help@ws.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: tuscany-dev@ws.apache.org Delivered-To: mailing list tuscany-commits@ws.apache.org Received: (qmail 97414 invoked by uid 99); 24 Feb 2007 20:22:27 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 24 Feb 2007 12:22:27 -0800 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 24 Feb 2007 12:22:16 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id BFBF51A981A; Sat, 24 Feb 2007 12:21:55 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r511334 - in /incubator/tuscany/branches/sca-java-integration/sca/extensions/script: container.bsf/ container.bsf/src/main/java/org/apache/tuscany/container/script/ databinding.e4x/ databinding.e4x/src/ databinding.e4x/src/main/ databinding... Date: Sat, 24 Feb 2007 20:21:55 -0000 To: tuscany-commits@ws.apache.org From: antelder@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070224202155.BFBF51A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: antelder Date: Sat Feb 24 12:21:53 2007 New Revision: 511334 URL: http://svn.apache.org/viewvc?view=rev&rev=511334 Log: Start support for XML with script components, this is E4X Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/ (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/LICENSE.txt (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/NOTICE.txt (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/pom.xml (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2OMElement.java (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2Object.java (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XDataBinding.java (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XWrapperHandler.java (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/OMElement2E4X.java (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/Object2E4X.java (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/databinding.e4x.scdl (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/default.scdl (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/extension.composite incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/Test.java (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/xmlimpl/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/xmlimpl/AxiomNodeAccessor.java (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/resources/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/xml.composite incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js (with props) incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java (with props) Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/pom.xml incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponent.java incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponentBuilder.java incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/pom.xml Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/pom.xml URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/pom.xml?view=diff&rev=511334&r1=511333&r2=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/pom.xml (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/pom.xml Sat Feb 24 12:21:53 2007 @@ -61,13 +61,6 @@ - rhino - js - 1.6R2 - test - - - org.easymock easymock Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponent.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponent.java?view=diff&rev=511334&r1=511333&r2=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponent.java (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponent.java Sat Feb 24 12:21:53 2007 @@ -67,9 +67,7 @@ } public TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire) { - Method[] methods = operation.getServiceContract().getInterfaceClass().getMethods(); - Method method = findMethod(operation, methods); - return new ScriptTargetInvoker(method.getName(), this); + return new ScriptTargetInvoker(operation.getName(), this); } @SuppressWarnings({"unchecked"}) Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponentBuilder.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponentBuilder.java?view=diff&rev=511334&r1=511333&r2=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponentBuilder.java (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptComponentBuilder.java Sat Feb 24 12:21:53 2007 @@ -24,9 +24,11 @@ import org.apache.tuscany.spi.component.ScopeContainer; import org.apache.tuscany.spi.deployer.DeploymentContext; import org.apache.tuscany.spi.extension.ComponentBuilderExtension; +import org.apache.tuscany.spi.idl.java.JavaServiceContract; import org.apache.tuscany.spi.model.ComponentDefinition; import org.apache.tuscany.spi.model.PropertyValue; import org.apache.tuscany.spi.model.Scope; +import org.apache.tuscany.spi.model.ServiceDefinition; /** * Extension point for creating {@link ScriptComponent}s from an assembly configuration @@ -46,6 +48,13 @@ DeploymentContext deploymentContext) throws BuilderConfigException { ScriptImplementation implementation = componentDefinition.getImplementation(); + + for (ServiceDefinition service : implementation.getComponentType().getServices().values()) { + // if its not a Java interface assume WSDL and want XML databinding + if (!(service.getServiceContract() instanceof JavaServiceContract)) { + service.getServiceContract().setDataBinding("org.mozilla.javascript.xml.XMLObject"); + } + } ScriptInstanceFactory instanceFactory = createInstanceFactory(componentDefinition, implementation); Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Feb 24 12:21:53 2007 @@ -0,0 +1,14 @@ +target +*.iws +*.ipr +*.iml +.project +.classpath +maven.log +velocity.log* +junit*.properties +surefire*.properties +.settings +.deployables +.wtpmodules + Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/LICENSE.txt URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/LICENSE.txt?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/LICENSE.txt (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/LICENSE.txt Sat Feb 24 12:21:53 2007 @@ -0,0 +1,202 @@ + + 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, serviceDefinition 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. Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/LICENSE.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/LICENSE.txt ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/NOTICE.txt URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/NOTICE.txt?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/NOTICE.txt (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/NOTICE.txt Sat Feb 24 12:21:53 2007 @@ -0,0 +1,14 @@ +${pom.name} +Copyright (c) 2005 - 2006 The Apache Software Foundation + +Apache Tuscany is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the Apache 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. + +This product includes software developed by +The Apache Software Foundation (http://www.apache.org/). + Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/NOTICE.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/NOTICE.txt ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/pom.xml URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/pom.xml?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/pom.xml (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/pom.xml Sat Feb 24 12:21:53 2007 @@ -0,0 +1,117 @@ + + + + + + org.apache.tuscany.sca.extensions + parent + 0.1-integration-incubating-SNAPSHOT + + + 4.0.0 + tuscany-e4x + Apache Tuscany JavaScript E4X DataBinding + Apache Tuscany JavaScript E4X DataBinding + + + + + wso2-thilina + http://www-lk.wso2.com/~thilina/repository + + true + + legacy + + + + + wso2 + http://dist.wso2.org/maven + + true + + legacy + + + + + + + org.apache.tuscany.sca.kernel + tuscany-spi + 0.1-integration-incubating-SNAPSHOT + compile + + + + org.mozilla.javascript + js-core + SNAPSHOT + compile + + + + org.wso2.javascript.rhino + js-axiom + SNAPSHOT + compile + + + + org.apache.ws.commons.axiom + axiom-impl + compile + + + + org.apache.tuscany.sca.extensions.axis2 + databinding-axiom + 0.1-integration-incubating-SNAPSHOT + runtime + + + + org.apache.tuscany.sca + tuscany-test + 0.1-integration-incubating-SNAPSHOT + test + + + + org.apache.tuscany.sca + tuscany-test + 0.1-integration-incubating-SNAPSHOT + test + + + + org.easymock + easymock + + + + org.easymock + easymockclassextension + + + + + Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/pom.xml ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/pom.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2OMElement.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2OMElement.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2OMElement.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2OMElement.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.extensions.script.databinding.e4x; + +import org.apache.axiom.om.OMElement; +import org.apache.tuscany.spi.databinding.PullTransformer; +import org.apache.tuscany.spi.databinding.TransformationContext; +import org.apache.tuscany.spi.databinding.Transformer; +import org.apache.tuscany.spi.databinding.extension.TransformerExtension; +import org.mozilla.javascript.xmlimpl.XML; +import org.osoa.sca.annotations.Service; + +@Service(Transformer.class) +public class E4X2OMElement extends TransformerExtension implements PullTransformer { + + public OMElement transform(XML source, TransformationContext context) { + return (OMElement)source.getAxiomFromXML(); + } + + public Class getSourceType() { + return XML.class; + } + + public Class getTargetType() { + return OMElement.class; + } + + public int getWeight() { + return 10; + } + + +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2OMElement.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2OMElement.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2Object.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2Object.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2Object.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2Object.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.extensions.script.databinding.e4x; + +import org.apache.tuscany.spi.databinding.Transformer; +import org.apache.tuscany.spi.databinding.extension.SimpleType2JavaTransformer; +import org.mozilla.javascript.xml.XMLObject; +import org.mozilla.javascript.xmlimpl.XML; +import org.osoa.sca.annotations.Service; + +/** + * Transformer to convert data from a simple java bject to OMElement + */ +@Service(Transformer.class) +public class E4X2Object extends SimpleType2JavaTransformer { + + private E4X2OMElement e4x2om; + + public E4X2Object() { + e4x2om = new E4X2OMElement(); + } + + @Override + protected String getText(XML source) { + return e4x2om.transform(source, null).getText(); + } + + public Class getSourceType() { + return XMLObject.class; + } +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2Object.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4X2Object.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XDataBinding.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XDataBinding.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XDataBinding.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XDataBinding.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.extensions.script.databinding.e4x; + +import org.apache.tuscany.spi.databinding.DataBinding; +import org.apache.tuscany.spi.databinding.WrapperHandler; +import org.apache.tuscany.spi.databinding.extension.DataBindingExtension; +import org.mozilla.javascript.xml.XMLObject; +import org.osoa.sca.annotations.Service; + +/** + * DataBinding for E4X + */ +@Service(DataBinding.class) +public class E4XDataBinding extends DataBindingExtension { + + public static final String NAME = XMLObject.class.getName(); + public static final String[] ALIASES = new String[] {"e4x"}; + + public E4XDataBinding() { + super(NAME, ALIASES, XMLObject.class); + } + + /** + * @see org.apache.tuscany.spi.databinding.extension.DataBindingExtension#getWrapperHandler() + */ + @Override + public WrapperHandler getWrapperHandler() { + return new E4XWrapperHandler(); + } +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XDataBinding.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XDataBinding.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XWrapperHandler.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XWrapperHandler.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XWrapperHandler.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XWrapperHandler.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.extensions.script.databinding.e4x; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import javax.xml.namespace.QName; + +import org.apache.axiom.om.OMAbstractFactory; +import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.OMFactory; +import org.apache.axiom.om.OMNamespace; +import org.apache.tuscany.spi.databinding.TransformationContext; +import org.apache.tuscany.spi.databinding.WrapperHandler; +import org.apache.tuscany.spi.idl.ElementInfo; +import org.mozilla.javascript.xmlimpl.XML; + +/** + * OMElement wrapper handler implementation + */ +public class E4XWrapperHandler implements WrapperHandler { + + private OMFactory factory; + private OMElement2E4X om2e4x; + private E4X2OMElement e4x2om; + + public E4XWrapperHandler() { + this.factory = OMAbstractFactory.getOMFactory(); + om2e4x = new OMElement2E4X(); + e4x2om = new E4X2OMElement(); + } + + public XML create(ElementInfo element, TransformationContext context) { + OMElement wrapper = factory.createOMElement(element.getQName(), null); + return om2e4x.transform(wrapper, null); + } + + public void setChild(XML wrapper, int i, ElementInfo childElement, Object value) { + OMElement omWrapper = e4x2om.transform(wrapper, null); + OMElement element = e4x2om.transform((XML)value, null); + QName elementName = childElement.getQName(); + OMNamespace namespace = factory.createOMNamespace(elementName.getNamespaceURI(), elementName.getPrefix()); + element.setNamespace(namespace); + element.setLocalName(childElement.getQName().getLocalPart()); + omWrapper.addChild(element); + } + + public List getChildren(XML wrapper) { + OMElement omWrapper = e4x2om.transform(wrapper, null); + List elements = new ArrayList(); + for (Iterator i = omWrapper.getChildElements(); i.hasNext();) { + elements.add(om2e4x.transform((OMElement)i.next(), null)); + } + return elements; + } + +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XWrapperHandler.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/E4XWrapperHandler.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/OMElement2E4X.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/OMElement2E4X.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/OMElement2E4X.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/OMElement2E4X.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.extensions.script.databinding.e4x; + +import org.apache.axiom.om.OMElement; +import org.apache.tuscany.spi.databinding.PullTransformer; +import org.apache.tuscany.spi.databinding.TransformationContext; +import org.apache.tuscany.spi.databinding.Transformer; +import org.apache.tuscany.spi.databinding.extension.TransformerExtension; +import org.mozilla.javascript.Context; +import org.mozilla.javascript.ScriptableObject; +import org.mozilla.javascript.xmlimpl.XML; +import org.osoa.sca.annotations.Service; + +@Service(Transformer.class) +public class OMElement2E4X extends TransformerExtension implements PullTransformer { + + private ScriptableObject scope; + + public OMElement2E4X() { + Context cx = Context.enter(); + try { + + this.scope = cx.initStandardObjects(); + + } finally { + Context.exit(); + } + } + + public Class getSourceType() { + return OMElement.class; + } + + public Class getTargetType() { + return XML.class; + } + + public int getWeight() { + return 10; + } + + public XML transform(OMElement source, TransformationContext context) { + Context cx = Context.enter(); + try { + + Object[] jsArgs = new Object[] {cx.newObject(scope, "XML", new Object[] {source})}; + return (XML)jsArgs[0]; + + } finally { + Context.exit(); + } + } + +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/OMElement2E4X.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/OMElement2E4X.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/Object2E4X.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/Object2E4X.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/Object2E4X.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/Object2E4X.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.extensions.script.databinding.e4x; + +import javax.xml.namespace.QName; + +import org.apache.axiom.om.OMAbstractFactory; +import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.OMFactory; +import org.apache.tuscany.spi.databinding.TransformationContext; +import org.apache.tuscany.spi.databinding.Transformer; +import org.apache.tuscany.spi.databinding.extension.Java2SimpleTypeTransformer; +import org.mozilla.javascript.xml.XMLObject; +import org.mozilla.javascript.xmlimpl.XML; +import org.osoa.sca.annotations.Service; + +/** + * Transformer to convert data from an simple OMElement to Java Object + */ +@Service(Transformer.class) +public class Object2E4X extends Java2SimpleTypeTransformer { + + private OMFactory factory; + private OMElement2E4X om2e4x; + + public Object2E4X() { + super(); + factory = OMAbstractFactory.getOMFactory(); + om2e4x = new OMElement2E4X(); + } + + protected XML createElement(QName element, String text, TransformationContext context) { + OMElement omElement = factory.createOMElement(element, null); + factory.createOMText(omElement, text); + return om2e4x.transform(omElement, context); + } + + @Override + public Class getTargetType() { + return XMLObject.class; + } + +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/Object2E4X.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/java/org/apache/tuscany/extensions/script/databinding/e4x/Object2E4X.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/databinding.e4x.scdl URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/databinding.e4x.scdl?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/databinding.e4x.scdl (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/databinding.e4x.scdl Sat Feb 24 12:21:53 2007 @@ -0,0 +1,50 @@ + + + + + + + org.apache.tuscany.sca.extensions.script + databinding-e4x + 0.1-integration-incubating-SNAPSHOT + + + + + + + + + + + + + + + + + + + + + + + Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/databinding.e4x.scdl ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/databinding.e4x.scdl ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/default.scdl URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/default.scdl?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/default.scdl (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/default.scdl Sat Feb 24 12:21:53 2007 @@ -0,0 +1,50 @@ + + + + + + + org.apache.tuscany.sca.extensions.script + databinding-e4x + 0.1-integration-incubating-SNAPSHOT + + + + + + + + + + + + + + + + + + + + + + + Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/default.scdl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/default.scdl ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/default.scdl ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/extension.composite URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/extension.composite?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/extension.composite (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/main/resources/META-INF/sca/extension.composite Sat Feb 24 12:21:53 2007 @@ -0,0 +1,22 @@ + + + + + \ No newline at end of file Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/Test.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/Test.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/Test.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/Test.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,58 @@ +import org.apache.axiom.om.OMNode; +import org.mozilla.javascript.Context; +import org.mozilla.javascript.Function; +import org.mozilla.javascript.Script; +import org.mozilla.javascript.Scriptable; +import org.mozilla.javascript.xmlimpl.AxiomNode; +import org.mozilla.javascript.xmlimpl.AxiomNodeAccessor; +import org.mozilla.javascript.xmlimpl.XML; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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. + */ + +public class Test { + + public static void main(String[] args) { + Context cx = Context.enter(); + try { + Scriptable scope = cx.initStandardObjects(); + + String script = "var xml = petra; java.lang.System.out.println(typeof xml); xml;"; + + Object result = cx.evaluateString(scope, script, "", 1, null); + System.out.println(result); + XML xml = (XML) result; + OMNode om = xml.getAxiomFromXML(); + String script2 = "function foo(x) { java.lang.System.out.println(typeof x); return x; }"; + Script func = cx.compileString(script2, "", 1, null); + func.exec(cx, scope); + Function f = (Function)scope.get("foo", scope); + +// AxiomNode x = AxiomNodeAccessor.toAxiomNode(om); +// Object jsXML = cx.getWrapFactory().wrap(cx, scope, om, OMNode.class); + Object[] jsArgs = new Object[] { cx.newObject(scope, "XML", new Object[] { om }) }; + + Object result2 = f.call(cx, scope, scope, jsArgs); + System.out.println(result2); + } finally { + Context.exit(); + } + } + +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/Test.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/Test.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/xmlimpl/AxiomNodeAccessor.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/xmlimpl/AxiomNodeAccessor.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/xmlimpl/AxiomNodeAccessor.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/xmlimpl/AxiomNodeAccessor.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.mozilla.javascript.xmlimpl; + +import org.apache.axiom.om.OMNode; + +public class AxiomNodeAccessor { + + public static AxiomNode toAxiomNode(OMNode om) { + return AxiomNode.buildAxiomNode(om, null); + } + +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/xmlimpl/AxiomNodeAccessor.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/databinding.e4x/src/test/java/org/mozilla/javascript/xmlimpl/AxiomNodeAccessor.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/pom.xml URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/pom.xml?view=diff&rev=511334&r1=511333&r2=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/pom.xml (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/pom.xml Sat Feb 24 12:21:53 2007 @@ -66,10 +66,10 @@ - rhino - js - 1.6R2 - test + org.apache.tuscany.sca.extensions + tuscany-e4x + 0.1-integration-incubating-SNAPSHOT + compile @@ -92,6 +92,20 @@ 1.0 test + + + org.apache.tuscany.sca.services.idl + tuscany-wsdl + 0.1-integration-incubating-SNAPSHOT + test + + + + org.apache.tuscany.sca.extensions.axis2 + databinding-axiom + 0.1-integration-incubating-SNAPSHOT + test + Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/xml.composite URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/xml.composite?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/xml.composite (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/xml.composite Sat Feb 24 12:21:53 2007 @@ -0,0 +1,33 @@ + + + + + + + HelloWorldXMLJSComponent + + + + + + + Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl Sat Feb 24 12:21:53 2007 @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType Sat Feb 24 12:21:53 2007 @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js Sat Feb 24 12:21:53 2007 @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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(s) { + java.lang.System.out.println("in helloworld.js calling "); + return ref.getGreetings(s); +} \ No newline at end of file Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType Sat Feb 24 12:21:53 2007 @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js Sat Feb 24 12:21:53 2007 @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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(xmlIn) { + java.lang.System.out.println(xmlIn); + var s = "e4xHi " + xmlIn..*::name; + var xmlOut = + + { s } + ; + + return xmlOut; +} \ No newline at end of file Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java?view=auto&rev=511334 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java (added) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java Sat Feb 24 12:21:53 2007 @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 helloworld; + +import junit.framework.Assert; + +import org.apache.tuscany.test.SCATestCase; +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * Test case for using XML in script components + */ +public class XMLTestCase extends SCATestCase { + + private CompositeContext compositeContext; + + public void testHelloWorldJavaScript() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldJSComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("e4xHi Petra", msg); + } + + @Override + protected void setUp() throws Exception { + setApplicationSCDL(getClass().getResource("/META-INF/sca/xml.composite")); + super.setUp(); + this.compositeContext = CurrentCompositeContext.getContext(); + } + + @Override + protected void tearDown() throws Exception { + super.tearDown(); + } + +} Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java ------------------------------------------------------------------------------ svn:keywords = Rev Date --------------------------------------------------------------------- To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org For additional commands, e-mail: tuscany-commits-help@ws.apache.org