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