diff options
Diffstat (limited to 'sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator')
4 files changed, 148 insertions, 0 deletions
diff --git a/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/CalculatorImpl.rb b/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/CalculatorImpl.rb new file mode 100644 index 0000000000..36ed15ff9b --- /dev/null +++ b/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.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/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/DivideImpl.rb b/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/DivideImpl.rb new file mode 100644 index 0000000000..c6615bfcfa --- /dev/null +++ b/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.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/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/Makefile.am b/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/Makefile.am new file mode 100644 index 0000000000..b715fe2424 --- /dev/null +++ b/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/Makefile.am @@ -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. + +deploydir=$(prefix)/RestCalculator/deploy +compositedir=$(deploydir)/sample.calculator + +composite_DATA = *.composite *.rb +EXTRA_DIST = *.composite *.rb diff --git a/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/sample.calculator.composite b/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/sample.calculator.composite new file mode 100644 index 0000000000..49fbf17f54 --- /dev/null +++ b/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/sample.calculator.composite @@ -0,0 +1,39 @@ +<?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"> + + <service name="CalculatorService"> + <binding.rest/> + <reference>CalculatorComponent</reference> + </service> + + <component name="CalculatorComponent"> + <implementation.ruby script="CalculatorImpl.rb" class="CalculatorImpl"/> + <reference name="divideService">DivideComponent</reference> + </component> + + <component name="DivideComponent"> + <implementation.ruby script="DivideImpl.rb" class="DivideImpl"/> + <property name="round">true</property> + </component> + +</composite> |