diff options
Diffstat (limited to 'branches/sca-java-integration/sca/extensions/script/itests/src')
45 files changed, 1729 insertions, 0 deletions
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/calculator/CalculatorService.java b/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/calculator/CalculatorService.java new file mode 100644 index 0000000000..5fc0a052c5 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/calculator/CalculatorService.java @@ -0,0 +1,32 @@ +/* + * 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 calculator; + +public interface CalculatorService { + + double add(double n1, double n2); + + double sub(double n1, double n2); + + double mul(double n1, double n2); + + double div(double n1, double n2); + +} diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/calculator/DivideService.java b/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/calculator/DivideService.java new file mode 100644 index 0000000000..56a556ce3b --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/calculator/DivideService.java @@ -0,0 +1,24 @@ +/* + * 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 calculator; + +public interface DivideService { + double divide(double n1, double n2); +} diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/helloworld/HelloWorldService.java b/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/helloworld/HelloWorldService.java new file mode 100644 index 0000000000..bd527ff8e2 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/java/helloworld/HelloWorldService.java @@ -0,0 +1,33 @@ +/* + * 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 org.osoa.sca.annotations.Remotable; +import org.osoa.sca.annotations.Service; + +/** + * This is the business interface of the HelloWorld greetings service. + */ +@Remotable +@Service +public interface HelloWorldService { + + public String getGreetings(String name); +} + diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/helloworld.composite b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/helloworld.composite new file mode 100644 index 0000000000..14977b87db --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/helloworld.composite @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+
+ name="ScriptItests">
+
+ <component name="HelloWorldJSComponent">
+ <implementation.script script="helloworld/helloworld.js"/>
+ </component>
+
+ <component name="HelloWorldRubyComponent">
+ <implementation.script script="helloworld/helloworld.rb"/>
+ </component>
+
+ <component name="HelloWorldPythonComponent">
+ <implementation.script script="helloworld/helloworld.py"/>
+ </component>
+
+ <component name="HelloWorldGroovyComponent">
+ <implementation.script script="helloworld/helloworld.groovy" />
+ </component>
+
+</composite>
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/properties.composite b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/properties.composite new file mode 100644 index 0000000000..17378bafe8 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/properties.composite @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+
+ name="ScriptItests">
+
+ <component name="HelloWorldJSDefaultComponent">
+ <implementation.script script="properties/helloworld.js"/>
+ </component>
+
+ <component name="HelloWorldJSOverrideComponent">
+ <implementation.script script="properties/helloworld.js"/>
+ <property name="GREETING">Namaskaar</property>
+ </component>
+
+ <component name="HelloWorldJSDynDefaultComponent">
+ <implementation.script script="properties/helloworldDyn.js"/>
+ </component>
+
+ <component name="HelloWorldJSDynOverrideComponent">
+ <implementation.script script="properties/helloworldDyn.js"/>
+ <property name="GREETING">Namaste</property>
+ </component>
+
+ <component name="HelloWorldRubyDefaultComponent">
+ <implementation.script script="properties/helloworld.rb"/>
+ </component>
+
+ <component name="HelloWorldRubyOverrideComponent">
+ <implementation.script script="properties/helloworld.rb"/>
+ <property name="GREETING">Namaskaar</property>
+ </component>
+
+ <component name="HelloWorldRubyDynDefaultComponent">
+ <implementation.script script="properties/helloworldDyn.rb"/>
+ </component>
+
+ <component name="HelloWorldRubyDynOverrideComponent">
+ <implementation.script script="properties/helloworldDyn.rb"/>
+ <property name="GREETING">Namaste</property>
+ </component>
+
+ <component name="HelloWorldPythonDefaultComponent">
+ <implementation.script script="properties/helloworld.py"/>
+ </component>
+
+ <component name="HelloWorldPythonOverrideComponent">
+ <implementation.script script="properties/helloworld.py"/>
+ <property name="GREETING">Namaskaar</property>
+ </component>
+
+ <component name="HelloWorldPythonDynDefaultComponent">
+ <implementation.script script="properties/helloworldDyn.py"/>
+ </component>
+
+ <component name="HelloWorldPythonDynOverrideComponent">
+ <implementation.script script="properties/helloworldDyn.py"/>
+ <property name="GREETING">Namaste</property>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/references.composite b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/references.composite new file mode 100644 index 0000000000..ff51f9f429 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/references.composite @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+
+ name="ScriptItests">
+
+ <component name="HelloWorldJSProxyComponent">
+ <implementation.script script="references/helloworldProxy.js"/>
+ <reference name="ref">HelloWorldJSComponent</reference>
+ </component>
+
+ <component name="HelloWorldRubyProxyComponent">
+ <implementation.script script="references/helloworldProxy.rb"/>
+ <reference name="ref">HelloWorldJSComponent</reference>
+ </component>
+
+ <component name="HelloWorldPythonProxyComponent">
+ <implementation.script script="references/helloworldProxy.py"/>
+ <reference name="ref">HelloWorldJSComponent</reference>
+ </component>
+
+ <component name="HelloWorldJSComponent">
+ <implementation.script script="helloworld/helloworld.js"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/xml.composite b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/xml.composite new file mode 100644 index 0000000000..14b048eeac --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/META-INF/sca/xml.composite @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+
+ name="ScriptItests">
+
+ <component name="HelloWorldJSComponent">
+ <implementation.script script="xml/helloworld.js"/>
+ <reference name="ref">HelloWorldXMLJSComponent</reference>
+ </component>
+
+ <component name="HelloWorldXMLJSComponent">
+ <implementation.script script="xml/helloworldXML.js"/>
+ </component>
+
+ <component name="HelloWorldJSViaProxyComponent">
+ <implementation.script script="xml/helloworld.js"/>
+ <reference name="ref">HelloWorldXMLProxyJSComponent</reference>
+ </component>
+
+ <component name="HelloWorldXMLProxyJSComponent">
+ <implementation.script script="xml/helloworldXMLProxy.js"/>
+ <reference name="ref">HelloWorldXMLJSComponent</reference>
+ </component>
+
+
+</composite>
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.componentType new file mode 100644 index 0000000000..adbfd29266 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.componentType @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="CalculatorService"> + <interface.java class="calculator.CalculatorService" /> + </service> + + <reference name="divideService"> + <interface.java class="calculator.DivideService" /> + </reference> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.py b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.py new file mode 100644 index 0000000000..86dbef9e4d --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.py @@ -0,0 +1,56 @@ +# 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. +# +# +# +# +# This Python code is a simple sample that provides a Python implementation of +# the Calculator sample +# + + +# The module-level add function +def add(val1, val2): + result = float(val1) + float(val2) + print "Python - CalculatorImpl.add " + str(val1) + " + " + str(val2) + " = " + str(result) + return result + +# The module-level sub function +def sub(val1, val2): + result = float(val1) - float(val2) + print "Python - CalculatorImpl.sub " + str(val1) + " - " + str(val2) + " = " + str(result) + return result + +# The module-level mul function +def mul(val1, val2): + result = float(val1) * float(val2) + print "Python - CalculatorImpl.mul " + str(val1) + " * " + str(val2) + " = " + str(result) + return result + +# The module-level div function +def div(val1, val2): + + + print "Python - CalculatorImpl.div calling divideService to determine " + str(val1) + " / " + str(val2) + + # Use the divideService reference + result = divideService.divide(val1, val2) + + print "Python - CalculatorImpl.div divideService returned " + str(result) + + return result + diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.rb b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.rb new file mode 100644 index 0000000000..c198719b89 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/CalculatorImpl.rb @@ -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. +# +# + +class CalculatorImpl + + attr_writer :divideService + + def initialize() + print "Ruby - CalculatorImpl.initialize\n" + end + + def div(arg1, arg2) + print "Ruby - CalculatorImpl.div\n" + $divideService.divide(arg1.to_f, arg2.to_f) + end + + def add(arg1, arg2) + print "Ruby - CalculatorImpl.add\n" + arg1.to_f + arg2.to_f + end + + def sub(arg1, arg2) + print "Ruby - CalculatorImpl.sub\n" + arg1.to_f - arg2.to_f + end + + def mul(arg1, arg2) + print "Ruby - CalculatorImpl.mul\n" + arg1.to_f * arg2.to_f + end + +end
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.componentType new file mode 100644 index 0000000000..38704e597b --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.componentType @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="DivideService"> + <interface.java class="calculator.DivideService" /> + </service> + + <property name="round" type="xsd:boolean">false</property> + <property name="doRounding" type="xsd:boolean">false</property> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.py b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.py new file mode 100644 index 0000000000..3921731de6 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.py @@ -0,0 +1,65 @@ +# 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. +# +# +# +# +# This Python code is a simple sample that provides a Python implementation of +# the Divide Service used in the Calculator sample +# +# Either use the divide function in the DivideClass class (using classes allows +# composite scoping to be used) +# e.g. in CalculatorComposite.composite use the line: +# <implementation.python module="DivideImpl" class="DivideClass"/> +# +# Or just use the module-level divide function +# e.g. in CalculatorComposite.composite use the line: +# <implementation.python module="DivideImpl" /> +# + + +class DivideClass: + "A class to handle dividing" + + def __init__(self): + print "Python - DivideImpl.DivideClass constructor" + + # The class-level divide function + def divide(self, val1, val2): + result = float(val1) / float(val2) + + print "Python - DivideImpl.DivideClass.divide " + str( val1 ) + " / " + str(val2) + " = " + str(result) + + # Use the doRounding property + if doRounding: + result = round(result) + print "Python - DivideImpl.DivideClass.divide is rounding the result to " + str(result) + + return result + +# The module-level divide function +def divide(val1, val2): + result = float(val1) / float(val2) + print "Python - DivideImpl.divide " + str(val1) + " / " + str(val2) + " = " + str(result) + + # Use the doRounding property + if doRounding: + result = round(result) + print "Python - DivideImpl.divide is rounding the result to " + str(result) + + return result + diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.rb b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.rb new file mode 100644 index 0000000000..c6615bfcfa --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/DivideImpl.rb @@ -0,0 +1,39 @@ +# 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. +# +# + +class DivideImpl + + attr_writer :round + + def initialize() + print "Ruby - DivideImpl.initialize\n" + end + + def divide(arg1, arg2) + print "Ruby - DivideImpl.divide ", arg1, " / ", arg2, "\n" + res = arg1.to_f / arg2.to_f + if @round then + res = res.round + print "DivideImpl.divide rounding\n" + end + print "DivideImpl.divide ", res, "\n" + res + end + +end
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/sample.calculator.composite b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/sample.calculator.composite new file mode 100644 index 0000000000..4006d3efe0 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/calculator/sample.calculator.composite @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> + +<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" + name="sample.calculator"> + + <component name="RubyCalculatorComponent"> + <implementation.ruby script="calculator/CalculatorImpl.rb" class="CalculatorImpl"/> + <reference name="divideService">RubyDivideComponent</reference> + </component> + + <component name="RubyDivideComponent"> + <implementation.ruby script="calculator/DivideImpl.rb" class="DivideImpl"/> + <property name="round">true</property> + </component> + + <component name="PythonCalculatorComponent"> + <implementation.python module="calculator/CalculatorImpl.py" scope="composite"/> + <reference name="divideService">PythonDivideComponent</reference> + </component> + + <component name="PythonDivideComponent"> + <implementation.python module="calculator/DivideImpl.py" scope="composite"/> + <property name="doRounding">false</property> + </component> + + +</composite>
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.componentType new file mode 100644 index 0000000000..31bfe88206 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.componentType @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="HelloWorldService"> + <interface.java class="helloworld.HelloWorldService" /> + </service> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.groovy b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.groovy new file mode 100644 index 0000000000..7b42990e11 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.groovy @@ -0,0 +1,22 @@ +/*
+ * 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.
+ */
+
+String getGreetings(s) {
+ return "groovyHello " + s;
+}
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.js b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.js new file mode 100644 index 0000000000..d1ecf36dbf --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.js @@ -0,0 +1,22 @@ +/* + * 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) { + return "jsHello " + s; +}
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.py b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.py new file mode 100644 index 0000000000..f082e01963 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.py @@ -0,0 +1,19 @@ +# 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. + +def getGreetings(s): + return "pyHello " + s
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.rb b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.rb new file mode 100644 index 0000000000..16488714d5 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/helloworld/helloworld.rb @@ -0,0 +1,21 @@ +# 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.
+
+def getGreetings(s)
+ return "rbHello " + s
+end
+
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.componentType new file mode 100644 index 0000000000..b35967862b --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.componentType @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="HelloWorldService"> + <interface.java class="helloworld.HelloWorldService" /> + </service> + + <property name="GREETING" type="xsd:string">Kia Ora</property> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.js b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.js new file mode 100644 index 0000000000..0e2333d3a7 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.js @@ -0,0 +1,22 @@ +/* + * 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) { + return "js" + GREETING + " " + s; +}
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.py b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.py new file mode 100644 index 0000000000..d8c47be953 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.py @@ -0,0 +1,19 @@ +# 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. + +def getGreetings(s): + return "py" + GREETING + " " + s
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.rb b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.rb new file mode 100644 index 0000000000..bc3a5a5c9e --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworld.rb @@ -0,0 +1,21 @@ +# 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.
+
+def getGreetings(s)
+ return "rb" + $GREETING + " " + s
+end
+
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.componentType new file mode 100644 index 0000000000..31bfe88206 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.componentType @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="HelloWorldService"> + <interface.java class="helloworld.HelloWorldService" /> + </service> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.js b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.js new file mode 100644 index 0000000000..a55706dfe0 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.js @@ -0,0 +1,24 @@ +/* + * 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. + */ + +var GREETING = "Yo!"; + +function getGreetings(s) { + return "js" + GREETING + " " + s; +}
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.py b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.py new file mode 100644 index 0000000000..a8365597a9 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.py @@ -0,0 +1,21 @@ +# 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. + +GREETING = "Yo!" + +def getGreetings(s): + return "py" + GREETING + " " + s
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.rb b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.rb new file mode 100644 index 0000000000..5c86c179c0 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/properties/helloworldDyn.rb @@ -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.
+
+$GREETING = "Yo!"
+
+def getGreetings(s)
+ return "rb" + $GREETING + " " + s
+end
+
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.componentType new file mode 100644 index 0000000000..297c1d28c0 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.componentType @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="HelloWorldService"> + <interface.java class="helloworld.HelloWorldService" /> + </service> + + <reference name="ref"> + <interface.java class="helloworld.HelloWorldService" /> + </reference> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.js b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.js new file mode 100644 index 0000000000..60f18e66f7 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.js @@ -0,0 +1,22 @@ +/* + * 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) { + return "jsproxy" + ref.getGreetings(s); +}
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.py b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.py new file mode 100644 index 0000000000..edb3e0f04e --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.py @@ -0,0 +1,19 @@ +# 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. + +def getGreetings(s): + return "pyproxy" + ref.getGreetings(s)
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.rb b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.rb new file mode 100644 index 0000000000..9b503a3e05 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/references/helloworldProxy.rb @@ -0,0 +1,21 @@ +# 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.
+
+def getGreetings(s)
+ return "rbproxy" + $ref.getGreetings(s)
+end
+
diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl new file mode 100644 index 0000000000..68174d1ecd --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/wsdl/helloworld.wsdl @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * 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. +--> +<wsdl:definitions targetNamespace="http://helloworld" xmlns:tns="http://helloworld" 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:types> + <schema elementFormDefault="qualified" targetNamespace="http://helloworld" xmlns="http://www.w3.org/2001/XMLSchema"> + + <element name="getGreetings"> + <complexType> + <sequence> + <element name="name" 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="tns:getGreetings" name="parameters"/> + </wsdl:message> + + <wsdl:message name="getGreetingsResponse"> + <wsdl:part element="tns:getGreetingsResponse" name="parameters"/> + </wsdl:message> + + <wsdl:portType name="HelloWorld"> + <wsdl:operation name="getGreetings"> + <wsdl:input message="tns:getGreetingsRequest" name="getGreetingsRequest"/> + <wsdl:output message="tns:getGreetingsResponse" name="getGreetingsResponse"/> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="HelloWorldSoapBinding" type="tns: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="HelloWorldService"> + <wsdl:port binding="tns:HelloWorldSoapBinding" name="HelloWorldSoapPort"> + <wsdlsoap:address location="http://localhost:8080/services/HelloWorldWebService"/> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType new file mode 100644 index 0000000000..297c1d28c0 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.componentType @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="HelloWorldService"> + <interface.java class="helloworld.HelloWorldService" /> + </service> + + <reference name="ref"> + <interface.java class="helloworld.HelloWorldService" /> + </reference> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js new file mode 100644 index 0000000000..2e6a35a695 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworld.js @@ -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 s:" + s); + return ref.getGreetings(s); +}
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType new file mode 100644 index 0000000000..24b65f8f2d --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.componentType @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="HelloWorldService"> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" wsdli:wsdlLocation="http://helloworld wsdl/helloworld.wsdl" /> + </service> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js new file mode 100644 index 0000000000..929dddf04e --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXML.js @@ -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 = + <ns1:getGreetingsResponse xmlns:ns1="http://helloworld"> + <ns1:getGreetingsReturn>{ s }</ns1:getGreetingsReturn> + </ns1:getGreetingsResponse>; + + return xmlOut; +}
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXMLProxy.componentType b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXMLProxy.componentType new file mode 100644 index 0000000000..8ccd5cce98 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXMLProxy.componentType @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="ASCII"?> +<!-- + * 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. +--> +<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"> + + <service name="HelloWorldService"> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" wsdli:wsdlLocation="http://helloworld wsdl/helloworld.wsdl" /> + </service> + + <reference name="ref"> + <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" wsdli:wsdlLocation="http://helloworld wsdl/helloworld.wsdl" /> + </reference> + +</componentType> +
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXMLProxy.js b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXMLProxy.js new file mode 100644 index 0000000000..6d403c2965 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/main/resources/xml/helloworldXMLProxy.js @@ -0,0 +1,27 @@ +/* + * 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("via proxy type of in: " + typeof xmlIn); + + var xmlOut = ref.getGreetings(xmlIn); + + java.lang.System.out.println("via proxy type of out: " + typeof xmlOut); + return xmlOut; +}
\ No newline at end of file diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/calculator/CalculatorClientTestCase.java b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/calculator/CalculatorClientTestCase.java new file mode 100644 index 0000000000..a98e3f000b --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/calculator/CalculatorClientTestCase.java @@ -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 calculator; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import org.apache.tuscany.api.SCARuntime; +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * Test case for caluclator service + */ +public class CalculatorClientTestCase extends TestCase { + + private CompositeContext compositeContext; + + 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)); + } + + @Override + protected void setUp() throws Exception { + SCARuntime.start("calculator/sample.calculator.composite"); + this.compositeContext = CurrentCompositeContext.getContext(); + } + + @Override + protected void tearDown() throws Exception { + SCARuntime.stop(); + } + +} diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/HelloWorldClientTestCase.java b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/HelloWorldClientTestCase.java new file mode 100644 index 0000000000..e1c382a6bc --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/HelloWorldClientTestCase.java @@ -0,0 +1,72 @@ +/* + * 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 junit.framework.TestCase; + +import org.apache.tuscany.api.SCARuntime; +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * Test case for helloworld web service client + */ +public class HelloWorldClientTestCase extends TestCase { + + private CompositeContext compositeContext; + + public void testHelloWorldJavaScript() throws Exception { + HelloWorldService helloWorldService = compositeContext.locateService(HelloWorldService.class, "HelloWorldJSComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("jsHello Petra", msg); + } + + public void testHelloWorldRuby() throws Exception { + HelloWorldService helloWorldService = compositeContext.locateService(HelloWorldService.class, "HelloWorldRubyComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("rbHello Petra", msg); + } + + public void testHelloWorldPython() throws Exception { + HelloWorldService helloWorldService = compositeContext.locateService(HelloWorldService.class, "HelloWorldPythonComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("pyHello Petra", msg); + } + +// TODO: Groovy doesn't work yet. Looks like a bug in the Groovy BSF engine +// public void testHelloWorldGroovy() throws Exception { +// HelloWorldService helloWorldService = compositeContext.locateService(HelloWorldService.class, "HelloWorldGroovyComponent"); +// String msg = helloWorldService.getGreetings("Petra"); +// Assert.assertEquals("groovyHello Petra", msg); +// } + + @Override + protected void setUp() throws Exception { + SCARuntime.start("META-INF/sca/helloworld.composite"); + this.compositeContext = CurrentCompositeContext.getContext(); + } + + @Override + protected void tearDown() throws Exception { + SCARuntime.stop(); + } + +} diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/JavaScriptPropertiesTestCase.java b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/JavaScriptPropertiesTestCase.java new file mode 100644 index 0000000000..b87e96d365 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/JavaScriptPropertiesTestCase.java @@ -0,0 +1,75 @@ +/* + * 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 junit.framework.TestCase; + +import org.apache.tuscany.api.SCARuntime; +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * Test case for using references in script components + */ +public class JavaScriptPropertiesTestCase extends TestCase { + + private CompositeContext compositeContext; + + public void testJavaScriptDefault() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldJSDefaultComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("jsKia Ora Petra", msg); + } + + public void testJavaScriptOverride() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldJSOverrideComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("jsNamaskaar Petra", msg); + } + + public void testJavaScriptDynDefault() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldJSDynDefaultComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("jsYo! Petra", msg); + } + + public void testJavaScriptDynOverride() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldJSDynOverrideComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("jsNamaste Petra", msg); + } + + @Override + protected void setUp() throws Exception { + SCARuntime.start("META-INF/sca/properties.composite"); + this.compositeContext = CurrentCompositeContext.getContext(); + } + + @Override + protected void tearDown() throws Exception { + SCARuntime.stop(); + } + +} diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/PythonPropertiesTestCase.java b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/PythonPropertiesTestCase.java new file mode 100644 index 0000000000..c26fddff70 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/PythonPropertiesTestCase.java @@ -0,0 +1,74 @@ +/* + * 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 junit.framework.TestCase; + +import org.apache.tuscany.api.SCARuntime; +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * Test case for using references in script components + */ +public class PythonPropertiesTestCase extends TestCase { + + private CompositeContext compositeContext; + + public void testPythonDefault() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldPythonDefaultComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("pyKia Ora Petra", msg); + } + public void testPythonOverride() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldPythonOverrideComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("pyNamaskaar Petra", msg); + } + + public void testPythonDynDefault() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldPythonDynDefaultComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("pyYo! Petra", msg); + } + + public void testPythonDynOverride() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldPythonDynOverrideComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("pyNamaste Petra", msg); + } + + @Override + protected void setUp() throws Exception { + SCARuntime.start("META-INF/sca/properties.composite"); + this.compositeContext = CurrentCompositeContext.getContext(); + } + + @Override + protected void tearDown() throws Exception { + SCARuntime.stop(); + } + +} diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/ReferencesTestCase.java b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/ReferencesTestCase.java new file mode 100644 index 0000000000..04a7bf0de3 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/ReferencesTestCase.java @@ -0,0 +1,68 @@ +/* + * 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 junit.framework.TestCase; + +import org.apache.tuscany.api.SCARuntime; +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * Test case for using references in script components + */ +public class ReferencesTestCase extends TestCase { + + private CompositeContext compositeContext; + + public void testHelloWorldJavaScript() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldJSProxyComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("jsproxyjsHello Petra", msg); + } + + public void testHelloWorldPython() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldPythonProxyComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("pyproxyjsHello Petra", msg); + } + + public void testHelloWorldRuby() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldRubyProxyComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("rbproxyjsHello Petra", msg); + } + + @Override + protected void setUp() throws Exception { + SCARuntime.start("META-INF/sca/references.composite"); + this.compositeContext = CurrentCompositeContext.getContext(); + } + + @Override + protected void tearDown() throws Exception { + SCARuntime.stop(); + } + +} diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/RubyPropertiesTestCase.java b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/RubyPropertiesTestCase.java new file mode 100644 index 0000000000..262141f680 --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/RubyPropertiesTestCase.java @@ -0,0 +1,73 @@ +/* + * 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 junit.framework.TestCase; + +import org.apache.tuscany.api.SCARuntime; +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * Test case for using references in script components + */ +public class RubyPropertiesTestCase extends TestCase { + + private CompositeContext compositeContext; + + public void testRubyDefault() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldRubyDefaultComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("rbKia Ora Petra", msg); + } + public void testRubyOverride() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldRubyOverrideComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("rbNamaskaar Petra", msg); + } + + public void testRubyDynDefault() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldRubyDynDefaultComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("rbYo! Petra", msg); + } + public void testRubyDynOverride() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldRubyDynOverrideComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("rbNamaste Petra", msg); + } + + @Override + protected void setUp() throws Exception { + SCARuntime.start("META-INF/sca/properties.composite"); + this.compositeContext = CurrentCompositeContext.getContext(); + } + + @Override + protected void tearDown() throws Exception { + SCARuntime.stop(); + } + +} diff --git a/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java new file mode 100644 index 0000000000..4099559a2a --- /dev/null +++ b/branches/sca-java-integration/sca/extensions/script/itests/src/test/java/helloworld/XMLTestCase.java @@ -0,0 +1,61 @@ +/* + * 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 junit.framework.TestCase; + +import org.apache.tuscany.api.SCARuntime; +import org.osoa.sca.CompositeContext; +import org.osoa.sca.CurrentCompositeContext; + +/** + * Test case for using XML in script components + */ +public class XMLTestCase extends TestCase { + + 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); + } + + public void testHelloWorldJavaScript2() throws Exception { + HelloWorldService helloWorldService = + compositeContext.locateService(HelloWorldService.class, "HelloWorldJSViaProxyComponent"); + String msg = helloWorldService.getGreetings("Petra"); + Assert.assertEquals("e4xHi Petra", msg); + } + + @Override + protected void setUp() throws Exception { + SCARuntime.start("META-INF/sca/xml.composite"); + this.compositeContext = CurrentCompositeContext.getContext(); + } + + @Override + protected void tearDown() throws Exception { + SCARuntime.stop(); + } + +} |