diff options
author | dims <dims@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-17 00:23:01 +0000 |
---|---|---|
committer | dims <dims@13f79535-47bb-0310-9956-ffa450edef68> | 2008-06-17 00:23:01 +0000 |
commit | bdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a (patch) | |
tree | 38a92061c0793434c4be189f1d70c3458b6bc41d /tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo |
Move Tuscany from Incubator to top level.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo')
13 files changed, 633 insertions, 0 deletions
diff --git a/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/Makefile.am b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/Makefile.am new file mode 100644 index 0000000000..de28cf2d53 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/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 +SUBDIRS = sample.yahoo sample.yahoo.client + +EXTRA_DIST = *.composite README.html +deploy_DATA = *.composite + diff --git a/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/README b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/README new file mode 100644 index 0000000000..79ee6c7813 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/README @@ -0,0 +1,19 @@ +Tuscany SCA for C++ Samples - REST Yahoo Sample +=============================================== + +This is a very simple sample to show how to use the SCA REST binding to +invoke the Yahoo Web Search REST service. + +There are two sub-projects in this workspace: + - sample.yahoo + This contains the SCDL artifacts and source code for the WebSearch + Component which calls a Reference that is configured to call the + Yahoo service + - sample.yahoo.client + A Ruby client which calls the WebSearch component. + +Additionally, there is the sample.yahoo.app.composite file. This +describes the configuration of the SCA Yahoo Search composite deployed to +the SCA runtime. + +See the README.html file for instructions to build and run this sample diff --git a/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/README.html b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/README.html new file mode 100644 index 0000000000..967f2c84b1 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/README.html @@ -0,0 +1,202 @@ + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<!-- + 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. +--> + +<HTML> +<HEAD> + <META CONTENT="text/html; charset=iso-8859-1" HTTP-EQUIV="Content-Type"> + <META CONTENT="text/css" HTTP-EQUIV="Content-Style-Type"> + <STYLE MEDIA="all" TYPE="text/css"> +@import url("../../doc/css/maven-base.css"); +@import url("../../doc/css/maven-theme.css"); + </STYLE> + + <LINK HREF="../doc/css/maven-theme.css" MEDIA="print" REL="stylesheet" + TYPE="text/css"> + <TITLE>Tuscany SCA Native Samples - REST Yahoo Search Sample</TITLE> +</HEAD> + +<BODY> +<DIV ID="bodyColumn"> + <DIV ID="contentBox"> + <DIV CLASS="section"> + <H1>Tuscany SCA Native Samples - REST Yahoo Search Sample</H1> + + <P>This is a very simple sample to show how to use the SCA REST binding to + invoke the Yahoo Web Search REST service. + </P> + <P>The REST Yahoo Search sample requires the following extensions: + <UL> + <LI><A HREF="../../doc/RESTExtension.html">REST Reference Extensions</A></LI> + <LI><A HREF="../../doc/PythonExtension.html">Python Extension</A></LI> + <LI><A HREF="../../doc/RubyExtension.html">Ruby Extension</A></LI> + </UL> + Please follow the documentation to ensure you have these extensions built and installed + on your system + </P> + <P>There are two sub projects in this workspace:</P> + <UL> + <LI>sample.yahoo<BR/> + This contains the SCDL artifacts and Python source code for the WebSearch + Component which calls a Reference that is configured to call the + Yahoo service + </LI> + <LI>sample.yahoo.client<BR/> + A Ruby client which calls the WebSearch component + </LI> + </UL> + <P>Additionally, there is the sample.yahoo.app.composite file. This + describes the configuration of the SCA Yahoo Search composite deployed to + the SCA runtime. + </P> + </DIV> + + <DIV CLASS="section"> + <H2>Contents</H2> + <OL> + <LI><A HREF="#linuxbld">Building the REST Yahoo Search sample on Linux and Mac OS X</A></LI> + <LI><A HREF="#linuxrun">Running the REST Yahoo Search sample on Linux and Mac OS X</A></LI> + <LI><A HREF="#winbld">Building the REST Yahoo Search sample on Windows</A></LI> + <LI><A HREF="#winrun">Running the REST Yahoo Search sample on Windows</A></LI> + <LI><A HREF="#help">Getting help</A></LI> + </OL> + </DIV> + + + <DIV CLASS="section"> + <A NAME="linuxbld"><H2>Building the Ruby & Python samples on Linux and Mac OS X</H2></A> + <P>If using the binary distribution the samples are built and installed in + <tuscany_sca_install_dir>/samples - go directly to <A HREF="#linuxrun">Running the samples on Linux and Mac OS X</A>.</P> + <OL> + <LI>The following environment variables are required: + <UL> + <LI>TUSCANY_SCACPP=<path to installed Tuscany SCA> + <LI>TUSCANY_SDOCPP=<path to installed Tuscany SDO> + </UL></LI> + </LI> + <LI>As the REST Yahoo sample is based on Ruby and Python scripts, a specific compilation step is not necessary - + only deployment is required. Deploy the Ruby and Python samples only with the following command sequence: + <UL> + <LI>cd <tuscany_sca_install_dir>/samples</LI> + <LI>./configure --enable-ruby --enable-python --enable-cpp=no --prefix=$TUSCANY_SCACPP/samples</LI> + <LI>make install</LI> + </UL> + NOTE: If you don't provide the --prefix configure option, it will by default install into + /usr/local/tuscany/sca/samples/RestYahoo</LI> + </OL> + </DIV> + + <DIV CLASS="section"> + <A NAME="linuxrun"><H2>Running the REST Yahoo Search sample on Linux and Mac OS X</H2></A> + <OL> + <LI>The REST Yahoo Search sample requires the following extensions: + <UL> + <LI><A HREF="../../doc/RESTExtension.html">REST Reference Extensions</A></LI> + <LI><A HREF="../../doc/PythonExtension.html">Python Extension</A></LI> + <LI><A HREF="../../doc/RubyExtension.html">Ruby Extension</A></LI> + </UL> + Please follow the documentation to ensure you have these extensions built and installed + on your system + </LI> + <LI>The following environment variables are required: + <UL> + <LI>TUSCANY_SCACPP=<path to installed Tuscany SCA></LI> + <LI>TUSCANY_SDOCPP=<path to installed Tuscany SDO></LI> + </UL> + </LI> + <LI>Run the sample with the following commands: + <UL> + <LI>cd <tuscany_sca_install_dir>/samples/RestYahoo/deploy/sample.yahoo.client</LI> + <LI>./runclient.sh</LI> + </UL> + </LI> + </OL> + </DIV> + + <DIV CLASS="section"> + <A NAME="winbld"><H2>Building the REST Yahoo Search sample on Windows</H2></A> + <P>If using the binary distribution the samples are built and installed in + <tuscany_sca_install_dir>\samples - go directly to <A HREF="#winrun">Running the samples on Windows</A>.</P> + <OL> + <LI>The following environment variables are required: + <UL> + <LI>TUSCANY_SCACPP=<path to installed Tuscany SCA> + <LI>TUSCANY_SDOCPP=<path to installed Tuscany SDO> + </UL></LI> + </LI> + <LI>As this sample is based on Ruby and Python scripts, a specific compilation step is not necessary - + only deployment is required. Deploy the sample with the following commands: + <UL> + <LI>cd <tuscany_sca_install_dir>\samples\RestYahoo</LI> + <LI>deploy.bat</LI> + </UL> + </LI> + </OL> + </DIV> + + <DIV CLASS="section"> + <A NAME="winrun"><H2>Running the REST Yahoo Search sample on Windows</H2></A> + <OL> + <LI>The REST Yahoo Search sample requires the following extensions: + <UL> + <LI><A HREF="../../doc/RESTExtension.html">REST Reference Extensions</A></LI> + <LI><A HREF="../../doc/PythonExtension.html">Python Extension</A></LI> + <LI><A HREF="../../doc/RubyExtension.html">Ruby Extension</A></LI> + </UL> + Please follow the documentation to ensure you have these extensions built and installed + on your system + </LI> + <LI>The following environment variables are required: + <UL> + <LI>TUSCANY_SCACPP=<path to installed Tuscany SCA></LI> + <LI>TUSCANY_SDOCPP=<path to installed Tuscany SDO></LI> + <LI>LIBCURL_HOME=<path to libcurl></LI> + </UL> + </LI> + <LI>Run the sample with the following commands: + <UL> + <LI>cd <tuscany_sca_install_dir>\samples\RestYahoo\deploy\sample.yahoo.client</LI> + <LI>runclient.bat</LI> + </UL> + </LI> + </OL> + </DIV> + + + + <DIV CLASS="section"> + <A NAME="help"><H2>Getting Help</H2></A> + + <P>The first place to look is at the Tuscany SCA FAQ at + <A HREF="http://cwiki.apache.org/confluence/display/TUSCANY/Tuscany+SCA+-+FAQ" + TARGET="_blank">http://cwiki.apache.org/confluence/display/TUSCANY/Tuscany+SCA+-+FAQ</A> </P> + + <P>Any problem with this release can be reported to the Tuscany + <A HREF="http://cwiki.apache.org/TUSCANY/mailing-lists.html" + TARGET="_blank">mailing lists</A> or create a JIRA issue at <A HREF="http://issues.apache.org/jira/browse/Tuscany" + TARGET="_blank">http://issues.apache.org/jira/browse/Tuscany</A>.</P> + + </DIV> + </DIV> +</DIV> +</BODY> + +</HTML> + diff --git a/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/deploy.bat b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/deploy.bat new file mode 100644 index 0000000000..128ceafc38 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/deploy.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. + +rem Will copy the correct files from the source tree for packaging and deployment of the +rem SCA sample. +setlocal +set currentPath=%~d0%~p0 +set sourcePath=%currentPath% + +set deploydir=%TUSCANY_SCACPP% +set samplesdir=%deploydir%\samples +set yahoodir=%samplesdir%\RestYahoo + +if . == %1. ( +set destinationPath=%yahoodir%\deploy +) ELSE ( +set destinationPath=%1 +) + +if not exist %samplesdir% mkdir %samplesdir% +if not exist %yahoodir% mkdir %yahoodir% +if not exist %destinationPath% mkdir %destinationPath% + +if not exist %destinationPath%\sample.yahoo mkdir %destinationPath%\sample.yahoo +copy %sourcePath%\sample.yahoo\*.py %destinationPath%\sample.yahoo +copy %sourcePath%\sample.yahoo\*.composite %destinationPath%\sample.yahoo +copy %sourcePath%\sample.yahoo\*.xsd %destinationPath%\sample.yahoo + +if not exist %destinationPath%\sample.yahoo.client mkdir %destinationPath%\sample.yahoo.client +copy %sourcePath%\sample.yahoo.client\*.rb %destinationPath%\sample.yahoo.client +copy %sourcePath%\sample.yahoo.client\runclient.bat %destinationPath%\sample.yahoo.client + +copy %sourcePath%\*.composite %destinationPath% + +endlocal diff --git a/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.app.composite b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.app.composite new file mode 100644 index 0000000000..eb19962fe3 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.client/Makefile.am b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.client/Makefile.am new file mode 100644 index 0000000000..4fcbf00e16 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb new file mode 100644 index 0000000000..0a87ccd815 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.client/runclient.bat b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.client/runclient.bat new file mode 100644 index 0000000000..bf95f27738 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.client/runclient.sh b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo.client/runclient.sh new file mode 100755 index 0000000000..7dbae64748 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo/Makefile.am b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo/Makefile.am new file mode 100644 index 0000000000..7e330ca7b1 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py new file mode 100644 index 0000000000..7ba6ab80ef --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd new file mode 100644 index 0000000000..210aabcf42 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo/sample.yahoo.composite b/tags/native-sca-1.0.incubating-M3-RC4/samples/RestYahoo/sample.yahoo/sample.yahoo.composite new file mode 100644 index 0000000000..a37a9be7c4 --- /dev/null +++ b/tags/native-sca-1.0.incubating-M3-RC4/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> |