You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by aj...@apache.org on 2007/02/08 01:53:51 UTC

svn commit: r504756 - in /incubator/tuscany/cpp/sca/samples/AlertAggregator: ./ httpserver/ httpserver/conf/ httpserver/htdocs/ sample.alerter/

Author: ajborley
Date: Wed Feb  7 16:53:50 2007
New Revision: 504756

URL: http://svn.apache.org/viewvc?view=rev&rev=504756
Log:
Added Alert Aggregator sample

Added:
    incubator/tuscany/cpp/sca/samples/AlertAggregator/
    incubator/tuscany/cpp/sca/samples/AlertAggregator/Makefile.am   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/README   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/config.xml   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/deploy.bat   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/Makefile.am   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/httpd.conf
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/mime.types
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/index.html   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/pop.png   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/rss.png   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/style.css
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.bat   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.sh   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/stopserver.sh   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/
    incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter.app.composite   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertCheckerImpl.py   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertConfigImpl.py   (with props)
    incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/Alerter.xsd   (with props)

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/Makefile.am?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/Makefile.am (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/Makefile.am Wed Feb  7 16:53:50 2007
@@ -0,0 +1,21 @@
+#  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)/samples/PythonCalculator/deploy
+SUBDIRS = sample.alerter sample.alerter.client httpserver
+EXTRA_DIST = *.composite README.html
+deploy_DATA = *.composite

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/Makefile.am
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/Makefile.am
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/README
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/README?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/README (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/README Wed Feb  7 16:53:50 2007
@@ -0,0 +1,38 @@
+Tuscany SCA for C++ Samples - Alert Aggregator Sample
+=====================================================
+
+This is a sample that shows how a Web 2.0-style application can be built using
+SCA. The Alert Aggregator Sample aggregates various data sources and presents 
+a unified view of data from these sources, served as XML and displayed via a 
+web page
+
+There are three sub-directories in this workspace:
+    - sample.alerter
+      This contains the source code and SCDL artifacts for the Alert 
+      Aggregator. Includes components to retrieve emails from POP servers and
+      to retrieve items from RSS/Atom feeds, a component that aggregates these 
+      alerts and a component that manages the configuration of which POP accounts
+      and which RSS feeds to read.
+
+    - sample.display
+      Contains a single SCA component that provides a HTML display of the
+      Alert Aggregator data
+
+    - httpserver
+      Configuration files and scripts to run the sample under Apache HTTPD. Also
+      includes the HTML file that calls the HTMLDisplay component
+
+
+Additionally, there is the sample.alerter.app.composite file. This 
+describes the configuration of the Alerter and Display composites deployed to the 
+SCA runtime.
+
+This sample requires the following Tuscany extensions:
+Python
+REST service
+REST reference
+
+It also requires the Python FeedParser library, available from http://feedparser.org/
+
+
+

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/README
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/README
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/config.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/config.xml?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/config.xml (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/config.xml Wed Feb  7 16:53:50 2007
@@ -0,0 +1,14 @@
+<ns0:config xmlns:ns0="http://tuscany.apache.org/samples/alerter">
+<ns0:source id="0" type="rss">
+  <ns0:name>BBC News</ns0:name>
+  <ns0:address>http://news.bbc.co.uk/</ns0:address>
+  <ns0:lastChecked>2007-02-07T17:11:16</ns0:lastChecked>
+  <ns0:feedAddress>http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/world/rss.xml</ns0:feedAddress>
+</ns0:source>
+<ns0:source id="1" type="rss">
+  <ns0:name>Engadget</ns0:name>
+  <ns0:address>http://www.engadget.com</ns0:address>
+  <ns0:lastChecked>2007-02-07T17:11:14</ns0:lastChecked>
+  <ns0:feedAddress>http://www.engadget.com/rss.xml</ns0:feedAddress>
+</ns0:source>
+</ns0:config>
\ No newline at end of file

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/config.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/config.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/deploy.bat
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/deploy.bat?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/deploy.bat (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/deploy.bat Wed Feb  7 16:53:50 2007
@@ -0,0 +1,63 @@
+@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 alertdir=%samplesdir%\AlertAggregator
+
+if . == %1. (
+set destinationPath=%alertdir%\deploy
+) ELSE (
+set destinationPath=%1
+)
+
+if not exist %samplesdir%                                mkdir %samplesdir%
+if not exist %alertdir%                                  mkdir %alertdir%
+if not exist %destinationPath%                           mkdir %destinationPath%
+if not exist %destinationPath%\sample.alerter            mkdir %destinationPath%\sample.alerter
+if not exist %destinationPath%\sample.display            mkdir %destinationPath%\sample.display
+if not exist %destinationPath%\httpserver                mkdir %destinationPath%\httpserver
+if not exist %destinationPath%\httpserver\conf           mkdir %destinationPath%\httpserver\conf
+if not exist %destinationPath%\httpserver\htdocs         mkdir %destinationPath%\httpserver\htdocs
+
+copy %sourcePath%\sample.alerter\*.composite     %destinationPath%\sample.alerter
+copy %sourcePath%\sample.alerter\*.py            %destinationPath%\sample.alerter
+copy %sourcePath%\sample.alerter\*.rb            %destinationPath%\sample.alerter
+copy %sourcePath%\sample.alerter\*.xsd           %destinationPath%\sample.alerter
+
+copy %sourcePath%\sample.display\*.composite     %destinationPath%\sample.display
+copy %sourcePath%\sample.display\*.py            %destinationPath%\sample.display
+copy %sourcePath%\sample.display\*.xsd           %destinationPath%\sample.display
+
+copy %sourcePath%\httpserver\*.bat         %destinationPath%\httpserver
+copy %sourcePath%\httpserver\conf\*.types  %destinationPath%\httpserver\conf
+copy %sourcePath%\httpserver\conf\*.conf   %destinationPath%\httpserver\conf
+copy %sourcePath%\httpserver\htdocs\*.html %destinationPath%\httpserver\htdocs
+copy %sourcePath%\httpserver\htdocs\*.css %destinationPath%\httpserver\htdocs
+copy %sourcePath%\httpserver\htdocs\*.png %destinationPath%\httpserver\htdocs
+
+copy %sourcePath%\*.composite %destinationPath%
+copy %sourcePath%\*.xml       %destinationPath%
+
+endlocal

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/deploy.bat
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/deploy.bat
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/Makefile.am?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/Makefile.am (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/Makefile.am Wed Feb  7 16:53:50 2007
@@ -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)/samples/AlertAggregator/deploy
+serverdir=$(deploydir)/httpserver
+
+server_SCRIPTS = startserver.sh stopserver.sh
+EXTRA_DIST = startserver.sh stopserver.sh conf htdocs
+nobase_server_DATA = conf/httpd.conf conf/mime.types htdocs/index.html htdocs/style.css htdocs/*.png

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/Makefile.am
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/Makefile.am
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/httpd.conf
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/httpd.conf?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/httpd.conf (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/httpd.conf Wed Feb  7 16:53:50 2007
@@ -0,0 +1,27 @@
+#  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.
+
+# This is the main Apache HTTP server configuration file.  It contains the
+# configuration directives that give the server its instructions.
+# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.
+
+Listen 9090
+
+# Generated by the startserver script
+Include conf/base.conf
+Include conf/tuscany_sca_mod_rest.conf
+

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/mime.types
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/mime.types?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/mime.types (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/conf/mime.types Wed Feb  7 16:53:50 2007
@@ -0,0 +1,607 @@
+#  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.
+
+# This file controls what Internet media types are sent to the client for
+# given file extension(s).  Sending the correct media type to the client
+# is important so they know how to handle the content of the file.
+# Extra types can either be added here or by using an AddType directive
+# in your config files. For more information about Internet media types,
+# please read RFC 2045, 2046, 2047, 2048, and 2077.  The Internet media type
+# registry is at <http://www.iana.org/assignments/media-types/>.
+
+# MIME type			Extensions
+application/activemessage
+application/andrew-inset	ez
+application/applefile
+application/atom+xml		atom
+application/atomicmail
+application/batch-smtp
+application/beep+xml
+application/cals-1840
+application/cnrp+xml
+application/commonground
+application/cpl+xml
+application/cybercash
+application/dca-rft
+application/dec-dx
+application/dvcs
+application/edi-consent
+application/edifact
+application/edi-x12
+application/eshop
+application/font-tdpfr
+application/http
+application/hyperstudio
+application/iges
+application/index
+application/index.cmd
+application/index.obj
+application/index.response
+application/index.vnd
+application/iotp
+application/ipp
+application/isup
+application/mac-binhex40	hqx
+application/mac-compactpro	cpt
+application/macwriteii
+application/marc
+application/mathematica
+application/mathml+xml		mathml
+application/msword		doc
+application/news-message-id
+application/news-transmission
+application/ocsp-request
+application/ocsp-response
+application/octet-stream	bin dms lha lzh exe class so dll dmg
+application/oda			oda
+application/ogg			ogg
+application/parityfec
+application/pdf			pdf
+application/pgp-encrypted
+application/pgp-keys
+application/pgp-signature
+application/pkcs10
+application/pkcs7-mime
+application/pkcs7-signature
+application/pkix-cert
+application/pkix-crl
+application/pkixcmp
+application/postscript		ai eps ps
+application/prs.alvestrand.titrax-sheet
+application/prs.cww
+application/prs.nprend
+application/prs.plucker
+application/qsig
+application/rdf+xml		rdf
+application/reginfo+xml
+application/remote-printing
+application/riscos
+application/rtf
+application/sdp
+application/set-payment
+application/set-payment-initiation
+application/set-registration
+application/set-registration-initiation
+application/sgml
+application/sgml-open-catalog
+application/sieve
+application/slate
+application/smil		smi smil
+application/srgs		gram
+application/srgs+xml		grxml
+application/timestamp-query
+application/timestamp-reply
+application/tve-trigger
+application/vemmi
+application/vnd.3gpp.pic-bw-large
+application/vnd.3gpp.pic-bw-small
+application/vnd.3gpp.pic-bw-var
+application/vnd.3gpp.sms
+application/vnd.3m.post-it-notes
+application/vnd.accpac.simply.aso
+application/vnd.accpac.simply.imp
+application/vnd.acucobol
+application/vnd.acucorp
+application/vnd.adobe.xfdf
+application/vnd.aether.imp
+application/vnd.amiga.ami
+application/vnd.anser-web-certificate-issue-initiation
+application/vnd.anser-web-funds-transfer-initiation
+application/vnd.audiograph
+application/vnd.blueice.multipass
+application/vnd.bmi
+application/vnd.businessobjects
+application/vnd.canon-cpdl
+application/vnd.canon-lips
+application/vnd.cinderella
+application/vnd.claymore
+application/vnd.commerce-battelle
+application/vnd.commonspace
+application/vnd.contact.cmsg
+application/vnd.cosmocaller
+application/vnd.criticaltools.wbs+xml
+application/vnd.ctc-posml
+application/vnd.cups-postscript
+application/vnd.cups-raster
+application/vnd.cups-raw
+application/vnd.curl
+application/vnd.cybank
+application/vnd.data-vision.rdz
+application/vnd.dna
+application/vnd.dpgraph
+application/vnd.dreamfactory
+application/vnd.dxr
+application/vnd.ecdis-update
+application/vnd.ecowin.chart
+application/vnd.ecowin.filerequest
+application/vnd.ecowin.fileupdate
+application/vnd.ecowin.series
+application/vnd.ecowin.seriesrequest
+application/vnd.ecowin.seriesupdate
+application/vnd.enliven
+application/vnd.epson.esf
+application/vnd.epson.msf
+application/vnd.epson.quickanime
+application/vnd.epson.salt
+application/vnd.epson.ssf
+application/vnd.ericsson.quickcall
+application/vnd.eudora.data
+application/vnd.fdf
+application/vnd.ffsns
+application/vnd.fints
+application/vnd.flographit
+application/vnd.framemaker
+application/vnd.fsc.weblaunch
+application/vnd.fujitsu.oasys
+application/vnd.fujitsu.oasys2
+application/vnd.fujitsu.oasys3
+application/vnd.fujitsu.oasysgp
+application/vnd.fujitsu.oasysprs
+application/vnd.fujixerox.ddd
+application/vnd.fujixerox.docuworks
+application/vnd.fujixerox.docuworks.binder
+application/vnd.fut-misnet
+application/vnd.grafeq
+application/vnd.groove-account
+application/vnd.groove-help
+application/vnd.groove-identity-message
+application/vnd.groove-injector
+application/vnd.groove-tool-message
+application/vnd.groove-tool-template
+application/vnd.groove-vcard
+application/vnd.hbci
+application/vnd.hhe.lesson-player
+application/vnd.hp-hpgl
+application/vnd.hp-hpid
+application/vnd.hp-hps
+application/vnd.hp-pcl
+application/vnd.hp-pclxl
+application/vnd.httphone
+application/vnd.hzn-3d-crossword
+application/vnd.ibm.afplinedata
+application/vnd.ibm.electronic-media
+application/vnd.ibm.minipay
+application/vnd.ibm.modcap
+application/vnd.ibm.rights-management
+application/vnd.ibm.secure-container
+application/vnd.informix-visionary
+application/vnd.intercon.formnet
+application/vnd.intertrust.digibox
+application/vnd.intertrust.nncp
+application/vnd.intu.qbo
+application/vnd.intu.qfx
+application/vnd.irepository.package+xml
+application/vnd.is-xpr
+application/vnd.japannet-directory-service
+application/vnd.japannet-jpnstore-wakeup
+application/vnd.japannet-payment-wakeup
+application/vnd.japannet-registration
+application/vnd.japannet-registration-wakeup
+application/vnd.japannet-setstore-wakeup
+application/vnd.japannet-verification
+application/vnd.japannet-verification-wakeup
+application/vnd.jisp
+application/vnd.kde.karbon
+application/vnd.kde.kchart
+application/vnd.kde.kformula
+application/vnd.kde.kivio
+application/vnd.kde.kontour
+application/vnd.kde.kpresenter
+application/vnd.kde.kspread
+application/vnd.kde.kword
+application/vnd.kenameaapp
+application/vnd.koan
+application/vnd.liberty-request+xml
+application/vnd.llamagraphics.life-balance.desktop
+application/vnd.llamagraphics.life-balance.exchange+xml
+application/vnd.lotus-1-2-3
+application/vnd.lotus-approach
+application/vnd.lotus-freelance
+application/vnd.lotus-notes
+application/vnd.lotus-organizer
+application/vnd.lotus-screencam
+application/vnd.lotus-wordpro
+application/vnd.mcd
+application/vnd.mediastation.cdkey
+application/vnd.meridian-slingshot
+application/vnd.micrografx.flo
+application/vnd.micrografx.igx
+application/vnd.mif		mif
+application/vnd.minisoft-hp3000-save
+application/vnd.mitsubishi.misty-guard.trustweb
+application/vnd.mobius.daf
+application/vnd.mobius.dis
+application/vnd.mobius.mbk
+application/vnd.mobius.mqy
+application/vnd.mobius.msl
+application/vnd.mobius.plc
+application/vnd.mobius.txf
+application/vnd.mophun.application
+application/vnd.mophun.certificate
+application/vnd.motorola.flexsuite
+application/vnd.motorola.flexsuite.adsi
+application/vnd.motorola.flexsuite.fis
+application/vnd.motorola.flexsuite.gotap
+application/vnd.motorola.flexsuite.kmr
+application/vnd.motorola.flexsuite.ttc
+application/vnd.motorola.flexsuite.wem
+application/vnd.mozilla.xul+xml	xul
+application/vnd.ms-artgalry
+application/vnd.ms-asf
+application/vnd.ms-excel	xls
+application/vnd.ms-lrm
+application/vnd.ms-powerpoint	ppt
+application/vnd.ms-project
+application/vnd.ms-tnef
+application/vnd.ms-works
+application/vnd.ms-wpl
+application/vnd.mseq
+application/vnd.msign
+application/vnd.music-niff
+application/vnd.musician
+application/vnd.netfpx
+application/vnd.noblenet-directory
+application/vnd.noblenet-sealer
+application/vnd.noblenet-web
+application/vnd.novadigm.edm
+application/vnd.novadigm.edx
+application/vnd.novadigm.ext
+application/vnd.obn
+application/vnd.osa.netdeploy
+application/vnd.palm
+application/vnd.pg.format
+application/vnd.pg.osasli
+application/vnd.powerbuilder6
+application/vnd.powerbuilder6-s
+application/vnd.powerbuilder7
+application/vnd.powerbuilder7-s
+application/vnd.powerbuilder75
+application/vnd.powerbuilder75-s
+application/vnd.previewsystems.box
+application/vnd.publishare-delta-tree
+application/vnd.pvi.ptid1
+application/vnd.pwg-multiplexed
+application/vnd.pwg-xhtml-print+xml
+application/vnd.quark.quarkxpress
+application/vnd.rapid
+application/vnd.s3sms
+application/vnd.sealed.net
+application/vnd.seemail
+application/vnd.shana.informed.formdata
+application/vnd.shana.informed.formtemplate
+application/vnd.shana.informed.interchange
+application/vnd.shana.informed.package
+application/vnd.smaf
+application/vnd.sss-cod
+application/vnd.sss-dtf
+application/vnd.sss-ntf
+application/vnd.street-stream
+application/vnd.svd
+application/vnd.swiftview-ics
+application/vnd.triscape.mxs
+application/vnd.trueapp
+application/vnd.truedoc
+application/vnd.ufdl
+application/vnd.uplanet.alert
+application/vnd.uplanet.alert-wbxml
+application/vnd.uplanet.bearer-choice
+application/vnd.uplanet.bearer-choice-wbxml
+application/vnd.uplanet.cacheop
+application/vnd.uplanet.cacheop-wbxml
+application/vnd.uplanet.channel
+application/vnd.uplanet.channel-wbxml
+application/vnd.uplanet.list
+application/vnd.uplanet.list-wbxml
+application/vnd.uplanet.listcmd
+application/vnd.uplanet.listcmd-wbxml
+application/vnd.uplanet.signal
+application/vnd.vcx
+application/vnd.vectorworks
+application/vnd.vidsoft.vidconference
+application/vnd.visio
+application/vnd.visionary
+application/vnd.vividence.scriptfile
+application/vnd.vsf
+application/vnd.wap.sic
+application/vnd.wap.slc
+application/vnd.wap.wbxml	wbxml
+application/vnd.wap.wmlc	wmlc
+application/vnd.wap.wmlscriptc	wmlsc
+application/vnd.webturbo
+application/vnd.wrq-hp3000-labelled
+application/vnd.wt.stf
+application/vnd.wv.csp+wbxml
+application/vnd.xara
+application/vnd.xfdl
+application/vnd.yamaha.hv-dic
+application/vnd.yamaha.hv-script
+application/vnd.yamaha.hv-voice
+application/vnd.yellowriver-custom-menu
+application/voicexml+xml	vxml
+application/watcherinfo+xml
+application/whoispp-query
+application/whoispp-response
+application/wita
+application/wordperfect5.1
+application/x-bcpio		bcpio
+application/x-cdlink		vcd
+application/x-chess-pgn		pgn
+application/x-compress
+application/x-cpio		cpio
+application/x-csh		csh
+application/x-director		dcr dir dxr
+application/x-dvi		dvi
+application/x-futuresplash	spl
+application/x-gtar		gtar
+application/x-gzip
+application/x-hdf		hdf
+application/x-javascript	js
+application/x-koan		skp skd skt skm
+application/x-latex		latex
+application/x-netcdf		nc cdf
+application/x-sh		sh
+application/x-shar		shar
+application/x-shockwave-flash	swf
+application/x-stuffit		sit
+application/x-sv4cpio		sv4cpio
+application/x-sv4crc		sv4crc
+application/x-tar		tar
+application/x-tcl		tcl
+application/x-tex		tex
+application/x-texinfo		texinfo texi
+application/x-troff		t tr roff
+application/x-troff-man		man
+application/x-troff-me		me
+application/x-troff-ms		ms
+application/x-ustar		ustar
+application/x-wais-source	src
+application/x400-bp
+application/xhtml+xml		xhtml xht
+application/xslt+xml		xslt
+application/xml			xml xsl
+application/xml-dtd		dtd
+application/xml-external-parsed-entity
+application/zip			zip
+audio/32kadpcm
+audio/amr
+audio/amr-wb
+audio/basic			au snd
+audio/cn
+audio/dat12
+audio/dsr-es201108
+audio/dvi4
+audio/evrc
+audio/evrc0
+audio/g722
+audio/g.722.1
+audio/g723
+audio/g726-16
+audio/g726-24
+audio/g726-32
+audio/g726-40
+audio/g728
+audio/g729
+audio/g729D
+audio/g729E
+audio/gsm
+audio/gsm-efr
+audio/l8
+audio/l16
+audio/l20
+audio/l24
+audio/lpc
+audio/midi			mid midi kar
+audio/mpa
+audio/mpa-robust
+audio/mp4a-latm
+audio/mpeg			mpga mp2 mp3
+audio/parityfec
+audio/pcma
+audio/pcmu
+audio/prs.sid
+audio/qcelp
+audio/red
+audio/smv
+audio/smv0
+audio/telephone-event
+audio/tone
+audio/vdvi
+audio/vnd.3gpp.iufp
+audio/vnd.cisco.nse
+audio/vnd.cns.anp1
+audio/vnd.cns.inf1
+audio/vnd.digital-winds
+audio/vnd.everad.plj
+audio/vnd.lucent.voice
+audio/vnd.nortel.vbk
+audio/vnd.nuera.ecelp4800
+audio/vnd.nuera.ecelp7470
+audio/vnd.nuera.ecelp9600
+audio/vnd.octel.sbc
+audio/vnd.qcelp
+audio/vnd.rhetorex.32kadpcm
+audio/vnd.vmx.cvsd
+audio/x-aiff			aif aiff aifc
+audio/x-alaw-basic
+audio/x-mpegurl			m3u
+audio/x-pn-realaudio		ram ra
+audio/x-pn-realaudio-plugin
+application/vnd.rn-realmedia	rm
+audio/x-wav			wav
+chemical/x-pdb			pdb
+chemical/x-xyz			xyz
+image/bmp			bmp
+image/cgm			cgm
+image/g3fax
+image/gif			gif
+image/ief			ief
+image/jpeg			jpeg jpg jpe
+image/naplps
+image/png			png
+image/prs.btif
+image/prs.pti
+image/svg+xml			svg
+image/t38
+image/tiff			tiff tif
+image/tiff-fx
+image/vnd.cns.inf2
+image/vnd.djvu			djvu djv
+image/vnd.dwg
+image/vnd.dxf
+image/vnd.fastbidsheet
+image/vnd.fpx
+image/vnd.fst
+image/vnd.fujixerox.edmics-mmr
+image/vnd.fujixerox.edmics-rlc
+image/vnd.globalgraphics.pgb
+image/vnd.mix
+image/vnd.ms-modi
+image/vnd.net-fpx
+image/vnd.svf
+image/vnd.wap.wbmp		wbmp
+image/vnd.xiff
+image/x-cmu-raster		ras
+image/x-icon			ico
+image/x-portable-anymap		pnm
+image/x-portable-bitmap		pbm
+image/x-portable-graymap	pgm
+image/x-portable-pixmap		ppm
+image/x-rgb			rgb
+image/x-xbitmap			xbm
+image/x-xpixmap			xpm
+image/x-xwindowdump		xwd
+message/delivery-status
+message/disposition-notification
+message/external-body
+message/http
+message/news
+message/partial
+message/rfc822
+message/s-http
+message/sip
+message/sipfrag
+model/iges			igs iges
+model/mesh			msh mesh silo
+model/vnd.dwf
+model/vnd.flatland.3dml
+model/vnd.gdl
+model/vnd.gs-gdl
+model/vnd.gtw
+model/vnd.mts
+model/vnd.parasolid.transmit.binary
+model/vnd.parasolid.transmit.text
+model/vnd.vtu
+model/vrml			wrl vrml
+multipart/alternative
+multipart/appledouble
+multipart/byteranges
+multipart/digest
+multipart/encrypted
+multipart/form-data
+multipart/header-set
+multipart/mixed
+multipart/parallel
+multipart/related
+multipart/report
+multipart/signed
+multipart/voice-message
+text/calendar			ics ifb
+text/css			css
+text/directory
+text/enriched
+text/html			html htm
+text/parityfec
+text/plain			asc txt
+text/prs.lines.tag
+text/rfc822-headers
+text/richtext			rtx
+text/rtf			rtf
+text/sgml			sgml sgm
+text/t140
+text/tab-separated-values	tsv
+text/uri-list
+text/vnd.abc
+text/vnd.curl
+text/vnd.dmclientscript
+text/vnd.fly
+text/vnd.fmi.flexstor
+text/vnd.in3d.3dml
+text/vnd.in3d.spot
+text/vnd.iptc.nitf
+text/vnd.iptc.newsml
+text/vnd.latex-z
+text/vnd.motorola.reflex
+text/vnd.ms-mediapackage
+text/vnd.net2phone.commcenter.command
+text/vnd.sun.j2me.app-descriptor
+text/vnd.wap.si
+text/vnd.wap.sl
+text/vnd.wap.wml		wml
+text/vnd.wap.wmlscript		wmls
+text/x-setext			etx
+text/xml
+text/xml-external-parsed-entity
+video/bmpeg
+video/bt656
+video/celb
+video/dv
+video/h261
+video/h263
+video/h263-1998
+video/h263-2000
+video/jpeg
+video/mp1s
+video/mp2p
+video/mp2t
+video/mp4v-es
+video/mpv
+video/mpeg			mpeg mpg mpe
+video/nv
+video/parityfec
+video/pointer
+video/quicktime			qt mov
+video/smpte292m
+video/vnd.fvt
+video/vnd.motorola.video
+video/vnd.motorola.videop
+video/vnd.mpegurl		mxu m4u
+video/vnd.nokia.interleaved-multimedia
+video/vnd.objectvideo
+video/vnd.vivo
+video/x-msvideo			avi
+video/x-sgi-movie		movie
+x-conference/x-cooltalk		ice

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/index.html
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/index.html?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/index.html (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/index.html Wed Feb  7 16:53:50 2007
@@ -0,0 +1,280 @@
+<!--
+   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>
+    <TITLE>Apache Tuscany Alert Aggregator Sample</TITLE>
+    <link REL="stylesheet" TYPE="text/css" href="style.css">
+</HEAD>
+
+<BODY ONLOAD="getSources()">
+<script type="text/javascript">
+function getXMLHTTP()
+{
+    var xmlHttp;
+    try
+    {
+      // Firefox, Opera 8.0+, Safari
+      xmlHttp=new XMLHttpRequest();
+    }
+    catch (e)
+    {
+        // Internet Explorer
+        try
+        {
+            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
+        }
+        catch (e)
+        {
+            try
+            {
+                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
+            }
+            catch (e)
+            {
+                alert("Your browser does not support AJAX!");
+                return false;
+            }
+        }
+    }
+    return xmlHttp;
+}
+
+var callIsRunning = false;
+
+function getAlerts()
+{
+  var xmlHttp = getXMLHTTP();
+  xmlHttp.onreadystatechange=function()
+  {
+      var refr = document.getElementById("refresh");
+      if(xmlHttp.readyState<4)
+      {
+          callIsRunning = true;
+          refr.innerHTML="<SPAN>Updating...</SPAN>";
+      }
+      if(xmlHttp.readyState==4)
+      {
+          callIsRunning = false;
+          refr.innerHTML="<SPAN CLASS=\"clickable link\" ONCLICK=\"getAlerts()\">Refresh</SPAN>";
+          document.getElementById("alertTable").innerHTML=xmlHttp.responseText;
+      }
+  }
+
+  if(!callIsRunning)
+  {
+      xmlHttp.open("GET","rest/sample.display.DisplayComponent/HTMLDisplayService/getAlertsHTMLTable",true);
+      xmlHttp.send(null);
+  }
+
+  // Call this function again after x minutes
+  setTimeout("getAlerts();", 5*60000);
+}
+
+function displayAlert(url, alertid)
+{
+    if(alertid=="")
+    {
+        document.getElementById("alertData").innerHTML="<IFRAME CLASS=\"alert_data\" SRC=\""+url+"\"/>";
+        window.location="#data";
+        return;
+    }
+
+    document.getElementById(alertid).className="read_title";
+
+    var xmlHttp = getXMLHTTP()
+    xmlHttp.onreadystatechange=function()
+    {        
+        if(xmlHttp.readyState==4)
+        {            
+            if(xmlHttp.responseText=="")
+            {
+                document.getElementById("alertData").innerHTML="<IFRAME CLASS=\"alert_data\" SRC=\""+url+"\"/>";
+            }
+            else
+            {
+                document.getElementById("alertData").innerHTML=xmlHttp.responseText;
+            }
+            window.location="#data";
+        }
+    }
+
+    xmlHttp.open("GET","rest/sample.display.DisplayComponent/HTMLDisplayService/readAlert?alertID="+alertid,true);
+    xmlHttp.send(null);    
+}
+
+function getSources()
+{
+    var xmlHttp = getXMLHTTP()
+    xmlHttp.onreadystatechange=function()
+    {        
+        var refreshSources = document.getElementById("refreshSources");
+        var refresh = document.getElementById("refresh");
+        if(xmlHttp.readyState<4)
+        {
+            refreshSources.innerHTML=" (Updating...)";
+            refresh.innerHTML="<SPAN>Updating...</SPAN>";
+        }
+        if(xmlHttp.readyState==4)
+        {
+            refreshSources.innerHTML="";
+            document.getElementById("sourcesTable").innerHTML=xmlHttp.responseText;
+            getAlerts();
+        }
+    }
+    xmlHttp.open("GET","rest/sample.display.DisplayComponent/HTMLDisplayService/getAlertSourcesHTMLTable",true);
+    xmlHttp.send(null);
+}
+
+function showEditSource(sourceid)
+{
+    document.getElementById("edit_source_"+sourceid).className = "source_"+sourceid;
+}
+
+function hideEditSource(sourceid)
+{
+    document.getElementById("edit_source_"+sourceid).className = "hidden source_"+sourceid;
+}
+
+function updateSource(sourceid)
+{
+    hideEditSource(sourceid);
+    var type = document.getElementById("source_"+sourceid+"_type").value;
+    var sourceXML = constructSourceXML(sourceid, type);
+
+    sendSource("rest/sample.display.DisplayComponent/HTMLDisplayService/updateAlertSource", sourceXML);
+
+}
+
+function sendSource(url, sourceXML)
+{    
+    var xmlHttp = getXMLHTTP()
+    xmlHttp.onreadystatechange=function()
+    {        
+        var refreshSources = document.getElementById("refreshSources");
+        var refresh = document.getElementById("refresh");
+        if(xmlHttp.readyState<4)
+        {
+            refreshSources.innerHTML=" (Updating...)";
+            refresh.innerHTML="<SPAN>Updating...</SPAN>";
+        }
+        if(xmlHttp.readyState==4)
+        {            
+            getSources();
+        }
+    }
+    xmlHttp.open("POST",url,true);
+    xmlHttp.send(sourceXML);
+
+}
+
+function deleteSource(sourceid)
+{
+    var xmlHttp = getXMLHTTP()
+    xmlHttp.onreadystatechange=function()
+    {        
+        if(xmlHttp.readyState==4)
+        {
+            getSources();
+            document.getElementById("alertData").innerHTML=""
+        }
+    }
+    xmlHttp.open("GET","rest/sample.display.DisplayComponent/HTMLDisplayService/deleteAlertSource?sourceId="+sourceid,true);
+    xmlHttp.send(null);
+}
+
+function showAddNewSource(sourceid)
+{
+    document.getElementById("add_source_"+sourceid).className = "source_"+sourceid;
+}
+
+function hideAddNewSource(sourceid)
+{
+    document.getElementById("add_source_"+sourceid).className = "hidden source_"+sourceid;
+}
+
+function showSourceType(sourceid)
+{
+    var typeElem = document.getElementById("source_"+sourceid+"_type");
+    var type = typeElem.options[typeElem.selectedIndex].value;
+    
+    if(type=="rss")
+    {
+        document.getElementById("add_rss_source").className = "";
+        document.getElementById("add_pop_source").className = "hidden";
+    }
+    else if(type=="pop")
+    {
+        document.getElementById("add_rss_source").className = "hidden";
+        document.getElementById("add_pop_source").className = "";
+    }
+}
+
+function addSource(sourceid)
+{
+    hideAddNewSource(sourceid);
+
+    var typeElem = document.getElementById("source_"+sourceid+"_type");
+    var type = typeElem.options[typeElem.selectedIndex].value;
+    var sourceXML = constructSourceXML(sourceid, type);
+
+    sendSource("rest/sample.display.DisplayComponent/HTMLDisplayService/addAlertSource", sourceXML);
+
+}
+
+function constructSourceXML(sourceid, type)
+{
+    var name = document.getElementById("source_"+sourceid+"_name").value;
+    var address = document.getElementById("source_"+sourceid+"_address").value;
+
+    var sourceXML = "<source xmlns=\"http://tuscany.apache.org/samples/alerter\" type=\""+type+"\" id=\""+sourceid+"\">";
+    sourceXML += "<name>"+name+"</name>";
+    sourceXML += "<address>"+address+"</address>";
+
+    if(type=="rss")
+    {
+        var feedAddress = document.getElementById("source_"+sourceid+"_feedAddress").value;
+        sourceXML += "<feedAddress>"+feedAddress+"</feedAddress>";
+    }
+    else if(type=="pop")
+    {
+        var popServer = document.getElementById("source_"+sourceid+"_popServer").value;
+        sourceXML += "<popServer>"+popServer+"</popServer>";
+        var popUsername = document.getElementById("source_"+sourceid+"_popUsername").value;
+        sourceXML += "<popUsername>"+popUsername+"</popUsername>";
+        var popPassword = document.getElementById("source_"+sourceid+"_popPassword").value;
+        sourceXML += "<popPassword>"+popPassword+"</popPassword>";
+    }
+    sourceXML += "</source>";
+
+    return sourceXML;
+}
+</script>
+<H1 ID="top">Apache Tuscany Alert Aggregator Sample</H1>
+<P>Alert Sources<SPAN ID="refreshSources"></SPAN>:</P>
+<DIV ID="sourcesTable"></DIV>
+<P>Recent Alerts (<SPAN ID="refresh"><SPAN CLASS="clickable link" ONCLICK="getAlerts()">Refresh</SPAN></SPAN>):</P
+<DIV ID="alertTable"></DIV>
+<HR></HR>
+<P><A ID="data" HREF="#top">Back to top</A></P>
+<DIV ID="alertData"></DIV>
+
+</BODY>
+</HTML>
+

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/index.html
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/index.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/pop.png
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/pop.png?view=auto&rev=504756
==============================================================================
Binary file - no diff available.

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/pop.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/rss.png
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/rss.png?view=auto&rev=504756
==============================================================================
Binary file - no diff available.

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/rss.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/style.css
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/style.css?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/style.css (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/htdocs/style.css Wed Feb  7 16:53:50 2007
@@ -0,0 +1,147 @@
+p,table,li,h1,h2,h3
+{
+font-family: verdana, arial, 'sans serif'; 
+}
+
+p, h1, h2, h3, table, li, hr
+{
+margin-left: 10pt;
+}
+
+table
+{
+border-color: black;
+border-collapse: separate;
+border-spacing: 0px 1px;
+
+margin-right: 10pt;
+margin-left: 10pt;
+width: 800px;
+}
+
+.sourceDetailsTable
+{
+width: 600px;
+}
+
+tr, td
+{
+margin-left: 0pt;
+margin-right: 0pt;
+padding-left: 10pt;
+font-size: 90%;
+}
+
+p,li,th
+{
+font-size: 90%;
+margin-left: 10pt;
+}
+
+pre
+{
+margin-left: 10pt;
+}
+
+body
+{
+#ffffff;
+}
+
+h1,h2,h3,hr
+{
+color: firebrick;
+}
+
+a:link {COLOR: firebrick;}
+a:visited {COLOR: firebrick;}
+a:active {COLOR: navy;}
+
+.link
+{
+COLOR: firebrick;
+text-decoration: underline;
+}
+
+.clickable
+{
+cursor: pointer
+}
+
+.unread_title
+{
+font-weight: bold;
+}
+
+.read_title
+{
+font-weight: normal;
+}
+
+.summary
+{
+color: DimGrey;
+}
+
+.hidden
+{
+visibility: collapse;
+}
+
+.alert_data
+{
+margin-left: 10px;
+width: 800px;
+height: 800px;
+}
+
+.source_0
+{
+background-color: LightGreen;
+}    
+
+.source_1
+{
+background-color: LightSkyBlue;
+}
+
+.source_2
+{
+background-color: Khaki;
+}
+
+.source_3
+{
+background-color: LightPink;
+}
+
+.source_4
+{
+background-color: Orange;
+}
+
+.source_5
+{
+background-color: LightCoral;
+}
+
+.source_6
+{
+background-color: Orchid;
+}
+
+.source_7
+{
+background-color: Peru;
+}
+
+.source_8
+{
+background-color: SpringGreen;
+}
+
+.source_9
+{
+background-color: LightGrey;
+}
+

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.bat
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.bat?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.bat (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.bat Wed Feb  7 16:53:50 2007
@@ -0,0 +1,73 @@
+@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
+
+set APFULLDIR=%~d0%~p0
+echo Running from %APFULLDIR%
+
+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 "%HTTPD_HOME%" == "" (
+echo "HTTPD_HOME not set"
+goto end
+)
+echo Using HTTPD installed at %HTTPD_HOME%
+
+set PATH=%TUSCANY_SCACPP%\extensions\python\bin;%TUSCANY_SCACPP%\extensions\rest\interface\bin;%TUSCANY_SCACPP%\extensions\rest\service\bin;%TUSCANY_SCACPP%\bin;%TUSCANY_SDOCPP%\bin;%HTTPD_HOME%\bin;%PATH%
+set PYTHONPATH=%TUSCANY_SCACPP%\extensions\python\bin
+
+set TUSCANY_SCACPP_ROOT=%APFULLDIR%\..\
+set TUSCANY_SCACPP_BASE_URI=http://localhost:9090/rest/
+
+@REM Generate the tuscany_sca_mod_rest configuration
+if not exist %APFULLDIR%\conf\tuscany_sca_mod_rest.conf (
+  echo LoadModule sca_rest_module %TUSCANY_SCACPP%/extensions/rest\service/bin/tuscany_sca_mod_rest.dll > %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+  echo TuscanyHome %TUSCANY_SCACPP% >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+  echo ^<Location /rest^> >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+  echo        SetHandler sca_rest_module >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+  echo        TuscanyRoot %TUSCANY_SCACPP_ROOT% >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+  echo ^</Location^> >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+)
+
+@REM Generate the base HTTPD configuration
+if not exist %APFULLDIR%\conf\base.conf (
+  echo LoadModule mime_module %HTTPD_HOME%\modules\mod_mime.so > %APFULLDIR%\conf\base.conf
+  echo LoadModule dir_module %HTTPD_HOME%\modules\mod_dir.so >> %APFULLDIR%\conf\base.conf
+  echo DocumentRoot %APFULLDIR%\htdocs >> %APFULLDIR%\conf\base.conf
+)
+
+@REM Create logs directory
+if not exist %APFULLDIR%\logs mkdir %APFULLDIR%\logs
+set TUSCANY_SCACPP_LOG=%APFULLDIR%\logs\tuscany-server.log
+set TUSCANY_SCACPP_LOGGING=9
+
+@REM Start the HTTP server
+echo Starting Apache httpd
+httpd -d %APFULLDIR%

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.bat
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.bat
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.sh
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.sh?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.sh (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.sh Wed Feb  7 16:53:50 2007
@@ -0,0 +1,61 @@
+#!/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/python/lib:$TUSCANY_SCACPP/lib:$TUSCANY_SDOCPP/lib:$AXIS2C_HOME/lib:$LD_LIBRARY_PATH
+
+export TUSCANY_SCACPP_ROOT=$APFULLDIR/../
+export TUSCANY_SCACPP_BASE_URI=http://localhost:9090/rest/
+
+# Generate the mod_rest configuration
+if [ ! -f conf/tuscany_sca_mod_rest.conf ]; then
+  echo "LoadModule sca_rest_module $TUSCANY_SCACPP/extensions/rest/service/lib/libtuscany_sca_mod_rest.so.0.0.0" >conf/tuscany_sca_mod_rest.conf
+  echo "TuscanyHome $TUSCANY_SCACPP" >>conf/tuscany_sca_mod_rest.conf
+  echo "<Location /rest>" >>conf/tuscany_sca_mod_rest.conf
+  echo "        SetHandler sca_rest_module" >>conf/tuscany_sca_mod_rest.conf
+  echo "        TuscanyRoot $TUSCANY_SCACPP_ROOT" >>conf/tuscany_sca_mod_rest.conf
+  echo "</Location>" >>conf/tuscany_sca_mod_rest.conf
+fi
+
+if [ ! -f conf/base.conf ]; then
+  echo "DocumentRoot $APFULLDIR/htdocs" >conf/base.conf
+fi
+
+# Create logs directory
+if [ ! -d logs ]; then
+  mkdir logs
+fi
+
+# Start the HTTP server
+echo "Starting Apache httpd"
+apachectl -k start -d $APFULLDIR
+

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.sh
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/startserver.sh
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/stopserver.sh
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/stopserver.sh?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/stopserver.sh (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/stopserver.sh Wed Feb  7 16:53:50 2007
@@ -0,0 +1,25 @@
+#!/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`
+
+# Stop the HTTP server
+echo "Stopping Apache httpd"
+apachectl -k stop -d $APFULLDIR
+

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/stopserver.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/stopserver.sh
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/httpserver/stopserver.sh
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter.app.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter.app.composite?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter.app.composite (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter.app.composite Wed Feb  7 16:53:50 2007
@@ -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.alerter.app">
+	
+        <component name="sample.display.DisplayComponent">
+            <implementation.composite name="sample.display" />
+            <reference name="AlerterService">sample.alerter.AlerterComponent/AlerterService</reference>
+        </component>
+      
+        <component name="sample.alerter.AlerterComponent">
+            <implementation.composite name="sample.alerter" />
+        </component>      
+
+</composite>

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter.app.composite
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter.app.composite
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertCheckerImpl.py
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertCheckerImpl.py?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertCheckerImpl.py (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertCheckerImpl.py Wed Feb  7 16:53:50 2007
@@ -0,0 +1,108 @@
+# 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.
+#
+import xml.etree.ElementTree, datetime
+
+def getAllNewAlerts ():
+
+    returnXML = "<alerts xmlns=\"http://tuscany.apache.org/samples/alerter\">\n</alerts>"
+    returnElem = xml.etree.ElementTree.XML(returnXML)
+
+    # Use the alertConfigService to get the configuration
+    configElem = alertConfigService.getAlertConfig()
+
+    for sourceElem in configElem.findall("./{http://tuscany.apache.org/samples/alerter}source"):
+
+        sourceid = sourceElem.attrib["id"]
+
+        newAlerts = getAlerts(sourceElem)
+        if xml.etree.ElementTree.iselement(newAlerts):
+            # Add the sourceid to each alert and append to the entire list
+            for alert in newAlerts.findall("./{http://tuscany.apache.org/samples/alerter}alert"):
+                alert.attrib["sourceid"] = sourceid
+                returnElem.append(alert)
+
+    return returnElem
+
+def getAlerts (sourceElem):
+
+    lastcheckedElem = sourceElem.find("./{http://tuscany.apache.org/samples/alerter}lastChecked")
+    if not xml.etree.ElementTree.iselement(lastcheckedElem):
+        lastcheckedElem = xml.etree.ElementTree.SubElement(sourceElem, "lastChecked")
+        lastcheckedElem.text = ""
+
+    if sourceElem.attrib["type"] == "rss":
+
+        feedaddress = sourceElem.find("./{http://tuscany.apache.org/samples/alerter}feedAddress").text
+
+        if feedaddress:
+            # Use the rssCheckerService to get new articles for this config
+            newAlerts = rssCheckerService.getNewAlerts(feedaddress, lastcheckedElem.text)
+
+            lastcheckedElem.text = datetime.datetime.now().replace(microsecond=0).isoformat()
+            alertConfigService.updateSourceConfig(sourceElem)
+            return newAlerts            
+
+    elif sourceElem.attrib["type"] == "pop":
+
+        popserver = sourceElem.find("./{http://tuscany.apache.org/samples/alerter}popServer").text
+        popusername = sourceElem.find("./{http://tuscany.apache.org/samples/alerter}popUsername").text
+        poppassword = sourceElem.find("./{http://tuscany.apache.org/samples/alerter}popPassword").text
+
+        if popserver and popusername and poppassword:
+            # Use the popCheckerService to get new emails for this config
+            newAlerts = popCheckerService.getNewAlerts(popserver, popusername, poppassword, lastcheckedElem.text)
+
+            lastcheckedElem.text = datetime.datetime.now().replace(microsecond=0).isoformat()
+            alertConfigService.updateSourceConfig(sourceElem)
+            return newAlerts            
+
+    else:
+        print "Source type not supported: ", sourceElem.attrib["type"]
+
+    return None
+        
+
+def getNewAlerts (sourceId):
+    # Use the alertConfigService to get the configuration
+    sourceConfigElem = alertConfigService.getSourceConfig(sourceId)
+
+    # Get the alerts
+    newAlerts = getAlerts(sourceConfigElem)
+
+    if xml.etree.ElementTree.iselement(newAlerts):
+        # Add the sourceid to each alert
+        for alert in newAlerts.findall("./{http://tuscany.apache.org/samples/alerter}alert"):
+            alert.attrib["sourceid"] = sourceId
+        
+    return newAlerts
+
+def addAlertSource (sourceElem):    
+    # Add the source directly to the configuration
+    return alertConfigService.addSourceConfig(sourceElem)
+
+def updateAlertSource (sourceElem):
+    # Update the source in the configuration
+    return alertConfigService.updateSourceConfig(sourceElem)
+
+def removeAlertSource (sourceId):
+    # Remove the source from the configuration
+    alertConfigService.removeSourceConfig(sourceId)
+
+def getAlertSources ():
+    # Get the config for all the sources
+    return alertConfigService.getAlertConfig()

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertCheckerImpl.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertCheckerImpl.py
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertConfigImpl.py
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertConfigImpl.py?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertConfigImpl.py (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertConfigImpl.py Wed Feb  7 16:53:50 2007
@@ -0,0 +1,175 @@
+# 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.
+#
+
+import xml.etree.ElementTree, os.path, datetime
+
+def getAlertConfig ():
+
+    # Set up some default config data
+    configData = "<config xmlns=\"http://tuscany.apache.org/samples/alerter\">\n</config>"
+
+    if os.path.isfile("config.xml"):
+        # Retrieve the configuration from a file
+        f = open("config.xml")
+        try:
+            configData = f.read()
+        finally:
+            f.close()
+   
+    configElem = xml.etree.ElementTree.XML(configData)
+
+    return configElem
+
+def getSourceConfig (sourceId):
+
+    configElem = getAlertConfig()
+
+    for sourceElem in configElem.findall("./{http://tuscany.apache.org/samples/alerter}source"):
+        if sourceElem.attrib["id"] == sourceId:
+            return sourceElem
+
+    print "Source with id matching",sourceId,"not found"
+    return
+
+def updateSourceConfig (alertSourceConfigElem):
+
+    configElem = getAlertConfig()
+    sourceId = alertSourceConfigElem.attrib["id"]
+
+    for sourceElem in configElem.findall("./{http://tuscany.apache.org/samples/alerter}source"):
+        if sourceElem.attrib["id"] == sourceId:
+            configElem.remove(sourceElem)
+            configElem.append(alertSourceConfigElem)
+            saveConfigData(configElem)
+            return
+    print "Source with id matching",sourceId,"not found"
+    return
+
+def addSourceConfig (alertSourceConfigElem):
+    configElem = getAlertConfig()
+
+    #check for source ID, make sure it's not the same as others and create one if it's missing
+    if "id" in alertSourceConfigElem.attrib:
+        configId = alertSourceConfigElem.attrib["id"]   
+    else:
+        configId = "0"
+
+    gotConfigId = False
+
+    while gotConfigId == False:
+
+        config = getSourceConfig(configId)
+        if config:
+            configId = str( int(configId)+1 )
+        else:
+            gotConfigId = True
+
+
+    alertSourceConfigElem.attrib["id"] = configId
+
+    configElem.append(alertSourceConfigElem)
+    saveConfigData(configElem)
+
+    return configId
+
+def saveConfigData (configElem):
+    configData = xml.etree.ElementTree.tostring(configElem)
+
+    # Save the configuration to a file
+    f = open("config.xml", "w")
+
+    if not f:
+        print "Failed to open config file for writing"
+    try:
+        f.write(configData)
+    finally:
+        f.close()
+
+def removeSourceConfig(sourceId):
+    configElem = getAlertConfig()
+    for sourceElem in configElem.findall("./{http://tuscany.apache.org/samples/alerter}source"):
+        if sourceElem.attrib["id"] == sourceId:
+            configElem.remove(sourceElem)
+            saveConfigData(configElem)
+            return
+
+# # Testing
+# if os.path.isfile("config.xml"):
+#     os.remove("config.xml")
+# data = getAlertConfig()
+# print xml.etree.ElementTree.tostring(data), "\n"
+#
+# newsrcxml = "<source xmlns=\"http://tuscany.apache.org/samples/alerter\" type=\"rss\" id=\"0\">\n"
+# newsrcxml += "<name>PSP Updates</name>\n"
+# newsrcxml += "<address>http://pspupdates.qj.net</address>\n"
+# newsrcxml += "<feedAddress>http://pspupdates.qj.net/rss.xml</feedAddress></source>"
+#
+# newsrc = xml.etree.ElementTree.XML(newsrcxml)
+# ID = addSourceConfig(newsrc)
+# print "Added src with ID:", ID, "\n"
+#
+# newsrcxml = "<source xmlns=\"http://tuscany.apache.org/samples/alerter\" type=\"rss\" id=\"1\">\n"
+# newsrcxml += "<name>PSP Updates</name>\n"
+# newsrcxml += "<address>http://pspupdates.qj.net!</address>\n"
+# newsrcxml += "<feedAddress>http://pspupdates.qj.net/atom.xml</feedAddress></source>"
+#
+# newsrc = xml.etree.ElementTree.XML(newsrcxml)
+# ID = addSourceConfig(newsrc)
+# print "Added src with ID:", ID, "\n"
+#
+# data = getAlertConfig()
+# print xml.etree.ElementTree.tostring(data), "\n"
+#
+# data = getSourceConfig("0")
+# print xml.etree.ElementTree.tostring(data), "\n"
+# print dir(data), "\n"
+#
+# name = data.find("./{http://tuscany.apache.org/samples/alerter}name")
+# name.text = "Hello world!"
+#
+# updateSourceConfig(data)
+# data = getSourceConfig("1")
+# print xml.etree.ElementTree.tostring(data), "\n"
+#
+# removeSourceConfig("1")
+# data = getAlertConfig()
+# print xml.etree.ElementTree.tostring(data), "\n"
+#
+# ID = addSourceConfig(newsrc)
+# print "Added src with ID:", ID, "\n"
+#
+# ID = addSourceConfig(newsrc)
+# print "Added src with ID:", ID, "\n"
+#
+# data = getAlertConfig()
+# print xml.etree.ElementTree.tostring(data), "\n"
+#
+#
+# newsrcxml = "<source xmlns=\"http://tuscany.apache.org/samples/alerter\" type=\"rss\">\n"
+# newsrcxml += "<name>PSP Updates</name>\n"
+# newsrcxml += "<address>http://pspupdates.qj.net!</address>\n"
+# newsrcxml += "<feedAddress>http://pspupdates.qj.net/atom.xml</feedAddress></source>"
+#
+# newsrc = xml.etree.ElementTree.XML(newsrcxml)
+# ID = addSourceConfig(newsrc)
+# print "Added src with ID:", ID, "\n"
+#
+# data = getAlertConfig()
+# print xml.etree.ElementTree.tostring(data), "\n"
+#
+

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertConfigImpl.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/AlertConfigImpl.py
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/Alerter.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/Alerter.xsd?view=auto&rev=504756
==============================================================================
--- incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/Alerter.xsd (added)
+++ incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/Alerter.xsd Wed Feb  7 16:53:50 2007
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema targetNamespace="http://tuscany.apache.org/samples/alerter" 
+		xmlns="http://www.w3.org/2001/XMLSchema" 
+		xmlns:ns="http://tuscany.apache.org/samples/alerter">
+    <element name="alerts" type="ns:alerts"/>
+
+    <complexType name="alert">
+    	<sequence>
+    		<element name="title" type="string"/>
+    		<element name="summary" type="string"/>
+    		<element name="address" type="anyURI" maxOccurs="1" minOccurs="1"/>
+    		<element name="date" type="string" maxOccurs="1" minOccurs="1"/>
+    	</sequence>
+        <attribute name="sourceid" type="string" use="optional"/>
+    </complexType>
+
+    <complexType name="alerts">
+    	<sequence>
+    		<element name="alert" type="ns:alert" maxOccurs="unbounded" minOccurs="0" />
+    	</sequence>        
+    </complexType>
+       
+    <element name="config" type="ns:config"/>
+    <element name="source" type="ns:source"/>
+
+    <complexType name="source">
+    	<sequence>
+    		<element name="name" type="string" maxOccurs="1" minOccurs="1"/>
+            <element name="address" type="anyURI" maxOccurs="1" minOccurs="1"/>
+            <element name="lastChecked" type="string" maxOccurs="1" minOccurs="0"/>
+            <element name="feedAddress" type="string" maxOccurs="1" minOccurs="0"/>
+            <element name="popServer" type="string" maxOccurs="1" minOccurs="0"/>
+            <element name="popUsername" type="string" maxOccurs="1" minOccurs="0"/>
+            <element name="popPassword" type="string" maxOccurs="1" minOccurs="0"/>
+    		<any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+    	</sequence>
+        <attribute name="id" type="string" use="optional"/>
+    	<attribute name="type" use="required">
+    		<simpleType>
+    			<restriction base="string">
+    				<enumeration value="rss"/>
+    				<enumeration value="pop"/>
+    				<enumeration value="nntp"/>
+    			</restriction>
+    		</simpleType>
+    	</attribute>
+    </complexType>
+
+    <complexType name="config">
+    	<sequence>
+    		<element name="source" type="ns:source" maxOccurs="unbounded" minOccurs="0"/>
+    	</sequence>
+    </complexType>
+</schema>
\ No newline at end of file

Propchange: incubator/tuscany/cpp/sca/samples/AlertAggregator/sample.alerter/Alerter.xsd
------------------------------------------------------------------------------
    svn:keywords = Rev Date



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org