Return-Path: Delivered-To: apmail-ws-tuscany-commits-archive@locus.apache.org Received: (qmail 80774 invoked from network); 25 Feb 2007 12:18:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Feb 2007 12:18:30 -0000 Received: (qmail 48108 invoked by uid 500); 25 Feb 2007 12:18:39 -0000 Delivered-To: apmail-ws-tuscany-commits-archive@ws.apache.org Received: (qmail 48069 invoked by uid 500); 25 Feb 2007 12:18:39 -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 48060 invoked by uid 99); 25 Feb 2007 12:18:39 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 25 Feb 2007 04:18:39 -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; Sun, 25 Feb 2007 04:18:29 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 82B9E1A981A; Sun, 25 Feb 2007 04:18:09 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r511484 - in /incubator/tuscany/branches/sca-java-integration/sca/extensions/script: container.bsf/src/main/java/org/apache/tuscany/container/script/ itests/src/main/resources/calculator/ itests/src/test/java/calculator/ Date: Sun, 25 Feb 2007 12:18:09 -0000 To: tuscany-commits@ws.apache.org From: antelder@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070225121809.82B9E1A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: antelder Date: Sun Feb 25 04:18:08 2007 New Revision: 511484 URL: http://svn.apache.org/viewvc?view=rev&rev=511484 Log: Get the script container working with the Ruby calculator sample from the Tuscany C++ runtime Added: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.py - copied unchanged from r511482, incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/CalculatorImpl.py incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.py - copied unchanged from r511482, incubator/tuscany/cpp/sca/samples/PythonCalculator/sample.calculator/DivideImpl.py Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptImplementationLoader.java incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptImplementationPythonLoader.java incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.componentType incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/sample.calculator.composite incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/calculator/CalculatorClientTestCase.java Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptImplementationLoader.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/ScriptImplementationLoader.java?view=diff&rev=511484&r1=511483&r2=511484 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptImplementationLoader.java (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptImplementationLoader.java Sun Feb 25 04:18:08 2007 @@ -75,15 +75,12 @@ ClassLoader cl = deploymentContext.getClassLoader(); String scriptSource = loadSource(cl, scriptName); -// ScriptInstanceFactory instanceFactory = new ScriptInstanceFactory(scriptName, className, scriptSource, cl); - ScriptImplementation implementation = new ScriptImplementation(); implementation.setResourceName(scriptName); implementation.setScriptSource(scriptSource); implementation.setClassName(className); implementation.setScriptName(scriptName); implementation.setClassLoader(cl); - //implementation.setScriptInstanceFactory(instanceFactory); registry.loadComponentType(parent, implementation, deploymentContext); Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptImplementationPythonLoader.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/ScriptImplementationPythonLoader.java?view=diff&rev=511484&r1=511483&r2=511484 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptImplementationPythonLoader.java (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/container.bsf/src/main/java/org/apache/tuscany/container/script/ScriptImplementationPythonLoader.java Sun Feb 25 04:18:08 2007 @@ -22,9 +22,17 @@ import static org.osoa.sca.Version.XML_NAMESPACE_1_0; import javax.xml.namespace.QName; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; import org.apache.tuscany.spi.annotation.Autowire; +import org.apache.tuscany.spi.component.CompositeComponent; +import org.apache.tuscany.spi.deployer.DeploymentContext; +import org.apache.tuscany.spi.loader.LoaderException; import org.apache.tuscany.spi.loader.LoaderRegistry; +import org.apache.tuscany.spi.loader.LoaderUtil; +import org.apache.tuscany.spi.loader.MissingResourceException; +import org.apache.tuscany.spi.model.ModelObject; import org.osoa.sca.annotations.Constructor; public class ScriptImplementationPythonLoader extends ScriptImplementationLoader { @@ -38,6 +46,33 @@ public QName getXMLType() { return IMPLEMENTATION_PYTHON; + } + + @Override + public ScriptImplementation load(CompositeComponent parent, ModelObject mo, XMLStreamReader reader, + DeploymentContext deploymentContext) throws XMLStreamException, LoaderException { + String scriptName = reader.getAttributeValue(null, "module"); + if (scriptName == null) { + throw new MissingResourceException("implementation element has no 'module' attribute"); + } + + String className = reader.getAttributeValue(null, "class"); + + LoaderUtil.skipToEndElement(reader); + + ClassLoader cl = deploymentContext.getClassLoader(); + String scriptSource = loadSource(cl, scriptName); + + ScriptImplementation implementation = new ScriptImplementation(); + implementation.setResourceName(scriptName); + implementation.setScriptSource(scriptSource); + implementation.setClassName(className); + implementation.setScriptName(scriptName); + implementation.setClassLoader(cl); + + registry.loadComponentType(parent, implementation, deploymentContext); + + return implementation; } } Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.componentType URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.componentType?view=diff&rev=511484&r1=511483&r2=511484 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.componentType (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.componentType Sun Feb 25 04:18:08 2007 @@ -6,6 +6,7 @@ false + false Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/sample.calculator.composite URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/sample.calculator.composite?view=diff&rev=511484&r1=511483&r2=511484 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/sample.calculator.composite (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/sample.calculator.composite Sun Feb 25 04:18:08 2007 @@ -21,14 +21,25 @@ - + - DivideComponent + RubyDivideComponent - + true + + + + PythonDivideComponent + + + + + false + + Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/calculator/CalculatorClientTestCase.java URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/calculator/CalculatorClientTestCase.java?view=diff&rev=511484&r1=511483&r2=511484 ============================================================================== --- incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/calculator/CalculatorClientTestCase.java (original) +++ incubator/tuscany/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/calculator/CalculatorClientTestCase.java Sun Feb 25 04:18:08 2007 @@ -32,11 +32,15 @@ private CompositeContext compositeContext; - public void testHelloWorldRuby() throws Exception { - CalculatorService calculatorService = compositeContext.locateService(CalculatorService.class, "CalculatorComponent"); - + public void testCalculatorRuby() throws Exception { + CalculatorService calculatorService = compositeContext.locateService(CalculatorService.class, "RubyCalculatorComponent"); Assert.assertEquals(3.0, calculatorService.add(1,2)); + Assert.assertEquals(1.5, calculatorService.div(3,2)); + } + public void testCalculatorPython() throws Exception { + CalculatorService calculatorService = compositeContext.locateService(CalculatorService.class, "PythonCalculatorComponent"); + Assert.assertEquals(3.0, calculatorService.add(1,2)); Assert.assertEquals(1.5, calculatorService.div(3,2)); } --------------------------------------------------------------------- To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org For additional commands, e-mail: tuscany-commits-help@ws.apache.org