From 1c2df9a2458897ff6c2393913b2723457e42a0da Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 23 Nov 2009 05:48:11 +0000 Subject: Simplified the automake build using configure options instead of environment variables and cleaned up some of the makefile.am files. Adjusted build instructions. Moved directories that don't yet build or work out of the main build dir and obsolete docs to a contrib dir. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@883254 13f79535-47bb-0310-9956-ffa450edef68 --- .../trunk/contrib/samples/RestYahoo/Makefile.am | 23 +++ sca-cpp/trunk/contrib/samples/RestYahoo/README | 19 ++ .../trunk/contrib/samples/RestYahoo/README.html | 202 +++++++++++++++++++++ .../samples/RestYahoo/sample.yahoo.app.composite | 28 +++ .../RestYahoo/sample.yahoo.client/Makefile.am | 23 +++ .../sample.yahoo.client/YahooWebSearchClient.rb | 25 +++ .../RestYahoo/sample.yahoo.client/runclient.bat | 50 +++++ .../RestYahoo/sample.yahoo.client/runclient.sh | 51 ++++++ .../samples/RestYahoo/sample.yahoo/Makefile.am | 22 +++ .../RestYahoo/sample.yahoo/YahooWebSearchImpl.py | 60 ++++++ .../sample.yahoo/YahooWebSearchResponse.xsd | 47 +++++ .../RestYahoo/sample.yahoo/sample.yahoo.composite | 33 ++++ 12 files changed, 583 insertions(+) create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/Makefile.am create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/README create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/README.html create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.app.composite create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/Makefile.am create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/runclient.bat create mode 100755 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/runclient.sh create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/Makefile.am create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd create mode 100644 sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/sample.yahoo.composite (limited to 'sca-cpp/trunk/contrib/samples/RestYahoo') diff --git a/sca-cpp/trunk/contrib/samples/RestYahoo/Makefile.am b/sca-cpp/trunk/contrib/samples/RestYahoo/Makefile.am new file mode 100644 index 0000000000..de28cf2d53 --- /dev/null +++ b/sca-cpp/trunk/contrib/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/sca-cpp/trunk/contrib/samples/RestYahoo/README b/sca-cpp/trunk/contrib/samples/RestYahoo/README new file mode 100644 index 0000000000..79ee6c7813 --- /dev/null +++ b/sca-cpp/trunk/contrib/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/sca-cpp/trunk/contrib/samples/RestYahoo/README.html b/sca-cpp/trunk/contrib/samples/RestYahoo/README.html new file mode 100644 index 0000000000..967f2c84b1 --- /dev/null +++ b/sca-cpp/trunk/contrib/samples/RestYahoo/README.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + Tuscany SCA Native Samples - REST Yahoo Search Sample + + + +
+
+
+

Tuscany SCA Native Samples - REST Yahoo Search Sample

+ +

This is a very simple sample to show how to use the SCA REST binding to + invoke the Yahoo Web Search REST service. +

+

The REST Yahoo Search sample requires the following extensions: +

+ Please follow the documentation to ensure you have these extensions built and installed + on your system +

+

There are two sub projects in this workspace:

+
    +
  • sample.yahoo
    + 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 +
  • +
  • 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. +

+
+ + + + +
+

Building the Ruby & Python samples on Linux and Mac OS X

+

If using the binary distribution the samples are built and installed in + <tuscany_sca_install_dir>/samples - go directly to Running the samples on Linux and Mac OS X.

+
    +
  1. The following environment variables are required: +
      +
    • TUSCANY_SCACPP=<path to installed Tuscany SCA> +
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO> +
  2. + +
  3. 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: +
      +
    • cd <tuscany_sca_install_dir>/samples
    • +
    • ./configure --enable-ruby --enable-python --enable-cpp=no --prefix=$TUSCANY_SCACPP/samples
    • +
    • make install
    • +
    + NOTE: If you don't provide the --prefix configure option, it will by default install into + /usr/local/tuscany/sca/samples/RestYahoo
  4. +
+
+ +
+

Running the REST Yahoo Search sample on Linux and Mac OS X

+
    +
  1. The REST Yahoo Search sample requires the following extensions: + + Please follow the documentation to ensure you have these extensions built and installed + on your system +
  2. +
  3. The following environment variables are required: +
      +
    • TUSCANY_SCACPP=<path to installed Tuscany SCA>
    • +
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
    • +
    +
  4. +
  5. Run the sample with the following commands: +
      +
    • cd <tuscany_sca_install_dir>/samples/RestYahoo/deploy/sample.yahoo.client
    • +
    • ./runclient.sh
    • +
    +
  6. +
+
+ +
+

Building the REST Yahoo Search sample on Windows

+

If using the binary distribution the samples are built and installed in + <tuscany_sca_install_dir>\samples - go directly to Running the samples on Windows.

+
    +
  1. The following environment variables are required: +
      +
    • TUSCANY_SCACPP=<path to installed Tuscany SCA> +
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO> +
  2. + +
  3. 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: +
      +
    • cd <tuscany_sca_install_dir>\samples\RestYahoo
    • +
    • deploy.bat
    • +
    +
  4. +
+
+ +
+

Running the REST Yahoo Search sample on Windows

+
    +
  1. The REST Yahoo Search sample requires the following extensions: + + Please follow the documentation to ensure you have these extensions built and installed + on your system +
  2. +
  3. The following environment variables are required: +
      +
    • TUSCANY_SCACPP=<path to installed Tuscany SCA>
    • +
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
    • +
    • LIBCURL_HOME=<path to libcurl>
    • +
    +
  4. +
  5. Run the sample with the following commands: +
      +
    • cd <tuscany_sca_install_dir>\samples\RestYahoo\deploy\sample.yahoo.client
    • +
    • runclient.bat
    • +
    +
  6. +
+
+ + + +
+

Getting Help

+ +

The first place to look is at the Tuscany SCA FAQ at + http://cwiki.apache.org/confluence/display/TUSCANY/Tuscany+SCA+-+FAQ

+ +

Any problem with this release can be reported to the Tuscany + mailing lists or create a JIRA issue at http://issues.apache.org/jira/browse/Tuscany.

+ +
+
+
+ + + + diff --git a/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.app.composite b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.app.composite new file mode 100644 index 0000000000..eb19962fe3 --- /dev/null +++ b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.app.composite @@ -0,0 +1,28 @@ + + + + + + + + + + diff --git a/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/Makefile.am b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/Makefile.am new file mode 100644 index 0000000000..4fcbf00e16 --- /dev/null +++ b/sca-cpp/trunk/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/trunk/contrib/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/YahooWebSearchClient.rb new file mode 100644 index 0000000000..0a87ccd815 --- /dev/null +++ b/sca-cpp/trunk/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/trunk/contrib/samples/RestYahoo/sample.yahoo.client/runclient.bat b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/runclient.bat new file mode 100644 index 0000000000..bf95f27738 --- /dev/null +++ b/sca-cpp/trunk/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/trunk/contrib/samples/RestYahoo/sample.yahoo.client/runclient.sh b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo.client/runclient.sh new file mode 100755 index 0000000000..7dbae64748 --- /dev/null +++ b/sca-cpp/trunk/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/trunk/contrib/samples/RestYahoo/sample.yahoo/Makefile.am b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/Makefile.am new file mode 100644 index 0000000000..7e330ca7b1 --- /dev/null +++ b/sca-cpp/trunk/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/trunk/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchImpl.py new file mode 100644 index 0000000000..7ba6ab80ef --- /dev/null +++ b/sca-cpp/trunk/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/trunk/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd new file mode 100644 index 0000000000..210aabcf42 --- /dev/null +++ b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/YahooWebSearchResponse.xsd @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/sample.yahoo.composite b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/sample.yahoo.composite new file mode 100644 index 0000000000..a37a9be7c4 --- /dev/null +++ b/sca-cpp/trunk/contrib/samples/RestYahoo/sample.yahoo/sample.yahoo.composite @@ -0,0 +1,33 @@ + + + + + + + + YahooWebSearchReference + ApacheTuscanyC++SampleRestYahoo + + + + + + + -- cgit v1.2.3