summaryrefslogtreecommitdiffstats
path: root/sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator')
-rw-r--r--sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/CalculatorImpl.rb48
-rw-r--r--sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/DivideImpl.rb39
-rw-r--r--sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/Makefile.am22
-rw-r--r--sca-cpp/tags/native-sca-1.0.incubating-M3/samples/RestCalculator/sample.calculator/sample.calculator.composite39
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>