summaryrefslogtreecommitdiffstats
path: root/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.app.composite28
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/Makefile.am23
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb25
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/runclient.bat50
-rwxr-xr-xsca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/runclient.sh51
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/Makefile.am22
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py60
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd47
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/sample.yahoo.composite33
9 files changed, 339 insertions, 0 deletions
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.app.composite b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.app.composite
new file mode 100644
index 0000000000..eb19962fe3
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.app.composite
@@ -0,0 +1,28 @@
+<?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.yahoo.app">
+
+ <component name="sample.yahoo.app.WebSearchComponent">
+ <implementation.composite name="sample.yahoo" />
+ </component>
+
+</composite>
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/Makefile.am b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/Makefile.am
new file mode 100644
index 0000000000..4fcbf00e16
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/Makefile.am
@@ -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.
+
+deploydir=$(prefix)/RestYahoo/deploy
+clientdir=$(deploydir)/sample.yahoo.client
+
+client_DATA = *.rb
+client_SCRIPTS = runclient.sh
+EXTRA_DIST = runclient.sh *.rb
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb
new file mode 100644
index 0000000000..0a87ccd815
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb
@@ -0,0 +1,25 @@
+# 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.
+#
+#
+
+require("tuscany_sca_ruby")
+
+yahooWebSearch = SCA::locateService("WebSearchComponent")
+
+results = yahooWebSearch.search("Tuscany")
+print results, "\n"
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/runclient.bat b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/runclient.bat
new file mode 100644
index 0000000000..bf95f27738
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/runclient.bat
@@ -0,0 +1,50 @@
+@echo off
+
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+setlocal
+
+if "%TUSCANY_SCACPP%" == "" (
+echo TUSCANY_SCACPP not set
+goto end
+)
+echo using SCA installed at %TUSCANY_SCACPP%
+
+if "%TUSCANY_SDOCPP%" == "" (
+echo TUSCANY_SDOCPP not set
+goto end
+)
+echo using SDO installed at %TUSCANY_SDOCPP%
+
+if "%LIBCURL_HOME%" == "" (
+echo LIBCURL_HOME not set
+goto end
+)
+echo using Libcurl installed at %LIBCURL_HOME%
+
+set PATH=%LIBCURL_HOME%\lib;%TUSCANY_SCACPP%\extensions\rest\interface\bin;%TUSCANY_SCACPP%\extensions\ruby\bin;%TUSCANY_SCACPP%\extensions\rest\reference\bin;%TUSCANY_SCACPP%\bin;%TUSCANY_SDOCPP%\bin;%PATH%
+set PYTHONPATH=%TUSCANY_SCACPP%\extensions\python\bin
+
+set TUSCANY_SCACPP_ROOT=%~d0%~p0\..\
+set TUSCANY_SCACPP_COMPONENT=sample.yahoo.app.WebSearchComponent
+
+cd %TUSCANY_SCACPP_ROOT%\sample.yahoo.client
+ruby -I%TUSCANY_SCACPP%\extensions\ruby\bin YahooWebSearchClient.rb
+
+:end
+endlocal
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/runclient.sh b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/runclient.sh
new file mode 100755
index 0000000000..7dbae64748
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo.client/runclient.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# 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.
+
+
+APFULLDIR=`pwd`
+
+if [ x$TUSCANY_SCACPP = x ]; then
+echo "TUSCANY_SCACPP not set"
+exit;
+fi
+echo "Using SCA installed at $TUSCANY_SCACPP"
+
+if [ x$TUSCANY_SDOCPP = x ]; then
+echo "TUSCANY_SDOCPP not set"
+exit;
+fi
+echo "Using SDO installed at $TUSCANY_SDOCPP"
+
+export LD_LIBRARY_PATH=$TUSCANY_SCACPP/extensions/ruby/lib:$TUSCANY_SCACPP/lib:$TUSCANY_SDOCPP/lib:$TUSCANY_SCACPP/extensions/python/lib:$LD_LIBRARY_PATH
+export PYTHONPATH=$TUSCANY_SCACPP/extensions/python/lib:$PYTHONPATH
+
+export TUSCANY_SCACPP_ROOT=$APFULLDIR/../
+export TUSCANY_SCACPP_COMPONENT=sample.yahoo.app.WebSearchComponent
+
+cd $TUSCANY_SCACPP_ROOT/sample.yahoo.client
+
+libsuffix=.so
+UNAME=`uname -s`
+if [ "x$UNAME" = "xDarwin" ]; then
+ libsuffix=.dylib
+fi
+# Set LD_PRELOAD to use the expat included in Python to avoid incompatibilities
+export LD_PRELOAD=$TUSCANY_SCACPP/extensions/python/lib/libtuscany_sca_python$libsuffix
+
+ruby -I$TUSCANY_SCACPP/extensions/ruby/lib YahooWebSearchClient.rb
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/Makefile.am b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/Makefile.am
new file mode 100644
index 0000000000..7e330ca7b1
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/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)/RestYahoo/deploy
+compositedir=$(deploydir)/sample.yahoo
+
+composite_DATA = *.composite *.py *.xsd
+EXTRA_DIST = *.composite *.py *.xsd
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py
new file mode 100644
index 0000000000..7ba6ab80ef
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py
@@ -0,0 +1,60 @@
+# 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.
+#
+#
+
+try:
+ import xml.etree.ElementTree
+except ImportError:
+ # Running under a pre-Python2.5
+ try:
+ import elementtree.ElementTree
+ except ImportError:
+ print "The RestYahoo sample requires the ElementTree package"
+
+
+def search(searchText):
+
+ print "Python - YahooWebSearchImpl.py running Yahoo search for:", searchText, "with ID:", yahooAppID
+
+ # Use the yahooWebSearchService reference to call the Yahoo REST service
+ # also use the yahooAppID property from the composite definition
+ xmlResult = yahooWebSearchService.webSearch(appid = yahooAppID, query = searchText, results = 5)
+
+ print "Python - YahooWebSearchImpl.py formatting result from Yahoo:", xmlResult
+
+ return formatResults(xmlResult, searchText)
+
+
+def formatResults(results, searchText):
+
+ formatted = "Failed to run Yahoo search service for \"" + str(searchText) + "\""
+
+ ns = "{urn:yahoo:srch}"
+ pathAndNS = "./" + ns
+
+ formatted = "\n\nYahoo Web Search Results for \""+ str(searchText) +"\"\n"
+ formatted += results.attrib["totalResultsAvailable"]+ " results available. First "+ results.attrib["totalResultsReturned"]+ " below\n\n"
+ pos = 1
+
+ for node in results.findall(".//"+ns+"Result"):
+ formatted += str(pos) + ". "+ node.findtext(pathAndNS+"Title") +"\n\t"
+ formatted += node.findtext(pathAndNS+"Summary") +"\n\t"
+ formatted += node.findtext(pathAndNS+"Url") +"\n\n"
+ pos += 1
+
+ return formatted
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd
new file mode 100644
index 0000000000..210aabcf42
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd
@@ -0,0 +1,47 @@
+<?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.
+-->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="urn:yahoo:srch"
+ xmlns="urn:yahoo:srch"
+ elementFormDefault="qualified">
+
+ <xsd:element name="ResultSet">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="Result" type="ResultType" minOccurs="0" maxOccurs="100" />
+ </xsd:sequence>
+ <xsd:attribute name="totalResultsAvailable" type="xsd:integer" />
+ <xsd:attribute name="totalResultsReturned" type="xsd:integer" />
+ <xsd:attribute name="firstResultPosition" type="xsd:integer" />
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="ResultType">
+ <xsd:sequence>
+ <xsd:element name="Title" type="xsd:string" />
+ <xsd:element name="Summary" type="xsd:string" />
+ <xsd:element name="Url" type="xsd:string" />
+ <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
+
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/sample.yahoo.composite b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/sample.yahoo.composite
new file mode 100644
index 0000000000..a37a9be7c4
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RestYahoo/sample.yahoo/sample.yahoo.composite
@@ -0,0 +1,33 @@
+<?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.yahoo">
+
+ <component name="WebSearchComponent">
+ <implementation.python module="YahooWebSearchImpl"/>
+ <reference name="yahooWebSearchService">YahooWebSearchReference</reference>
+ <property name="yahooAppID">ApacheTuscanyC++SampleRestYahoo</property>
+ </component>
+
+ <reference name="YahooWebSearchReference">
+ <binding.rest uri="http://search.yahooapis.com/WebSearchService/V1"/>
+ </reference>
+
+</composite>