diff options
Diffstat (limited to 'sandbox/slaws/old/httpserver.php')
17 files changed, 1891 insertions, 0 deletions
diff --git a/sandbox/slaws/old/httpserver.php/README b/sandbox/slaws/old/httpserver.php/README new file mode 100644 index 0000000000..b318a289f2 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/README @@ -0,0 +1,28 @@ +Alert Aggregator - PHP Display Component
+========================================
+
+This httpserver configuration includes a PHP implementation of the
+feed aggregator display component
+
+The startserver script can be used to start up an HTTPD server
+configured to run the display component. It relies on two environment
+variables being correctl configured. See the top of startserver.bat.
+
+PHP must be configured to include the PHP SCA_SDO v1.2.1 extension from PECL.
+
+http://pecl.php.net/package/sca_sdo
+
+This provides the SCA and SDO support that the display component relies on.
+
+To run the display component on windows.
+
+> cd httpserver.php
+
+fix up the paths at the top of startserver.bat and then
+
+> startserver.bat
+
+then point your browser at
+
+http://localhost:9091/index.html
+
diff --git a/sandbox/slaws/old/httpserver.php/conf/httpd.conf b/sandbox/slaws/old/httpserver.php/conf/httpd.conf new file mode 100644 index 0000000000..92026c9717 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/conf/httpd.conf @@ -0,0 +1,28 @@ +# 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 9091
+
+# Generated by the startserver script
+Include conf/base.conf
+
+# SCA rest module not required for the PHP part
+# Include conf/tuscany_sca_mod_rest.conf
diff --git a/sandbox/slaws/old/httpserver.php/conf/mime.types b/sandbox/slaws/old/httpserver.php/conf/mime.types new file mode 100644 index 0000000000..4279f51bca --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/conf/mime.types @@ -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 diff --git a/sandbox/slaws/old/httpserver.php/htdocs/AlertDisplay.php b/sandbox/slaws/old/httpserver.php/htdocs/AlertDisplay.php new file mode 100644 index 0000000000..94b5352818 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/AlertDisplay.php @@ -0,0 +1,274 @@ +<!-- + 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. +--> +<?php +include 'SCA/SCA.php'; + +/** + * @service + * @binding.restrpc + * @types http://tuscany.apache.org/sca/samples/aggregator/types ./Alerts.xsd + */ +class AlertDisplay +{ + /** + * @reference + * @binding.soap ./Alerts.wsdl + */ + public $alert_service; + + /** + * @reference + * @binding.soap ./AlertsSources.wsdl + */ + public $alert_sources_service; + + /** + * @return string + */ + public function getAlertsHTMLTable() + { + $xmldas = SDO_DAS_XML::create("./Alerts.xsd"); + $doc = $xmldas->loadFile("./Cached_Alerts.xml"); + $cached_alerts = $doc->getRootDataObject(); + + // Use the alertService reference + $request = $this->alert_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/service", + "getAllNewAlerts"); + $request->parm = "AString"; + $new_alerts = $this->alert_service->getAllNewAlerts($request); + + foreach($new_alerts->parm->Alert as $alert){ + $new_alert = $cached_alerts->createDataObject('Alert'); + $new_alert->Title = $alert->Title; + $new_alert->Summary = $alert->Summary; + $new_alert->Address = $alert->Address; + $new_alert->Date = $alert->Date; + $new_alert->SourceId = $alert->SourceId; + $new_alert->Unread = true; + } + + $return_table = "<TABLE border=\'0\'>"; + $alert_id_number = 0; + foreach($cached_alerts->Alert as $alert){ + $alert->Id = "alert_" . $alert_id_number; + $title = substr($alert->Title,0,80); + $summary = substr($alert->Summary,0,40); + $unread_string = $alert->Unread ? "unread_title" : "read_title"; + $return_row = <<<ALERTROW +<TR class="source_$alert->SourceId clickable" onclick="displayAlert('$alert->Address', '')"> + <TD> + <SPAN id="$alert->Id" class="$unread_string">$title</SPAN> + <SPAN class="summary"> - $summary ...</SPAN> + </TD> + <TD> + $alert->Date + </TD> +</TR> +ALERTROW; + $return_table = $return_table . $return_row; + $alert_id_number += 1; + } + $return_table = $return_table . "</TABLE>"; + + // as php is one shot we have to save away the alerts we want to cache + $xmldas->saveFile($doc, "./Cached_Alerts.xml"); + + return $return_table; + } + + /** + * @param string $alert_id + * @return string + */ + public function readAlert($alert_id) + { + $xmldas = SDO_DAS_XML::create("./Alerter.xsd"); + $doc = $xmldas->loadFile("./Cached_Alerts.xml"); + $cached_alerts = $doc->getRootDataObject(); + + $return_summary = ""; + + foreach($cached_alerts->alert as $alert){ + if (strcmp($alert->Id,$alert_Id) == 0){ + SCA::$logger->log("Match"); + $alert->Unread = false; + $return_summary = "<PRE>" . $alert->Summary . "</PRE>"; + } + } + + // as php is one shot we have to save away the alerts we want to cache + $xmldas->saveFile($doc, "./Cached_Alerts.xml"); + + return $return_summary; + } + + /** + * @return string + */ + public function getAlertSourcesHTMLTable() + { + $request = $this->alert_sources_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/sources", + "getAlertSources"); + $request->parm = "AString"; + $alert_sources = $this->alert_sources_service->getAlertSources($request); + + $return_table = "<TABLE border='0'>\n"; + + $no_of_sources = 0; + + foreach ($alert_sources->parm->Source as $alert_source){ + $source_id = $alert_source->Id; + $return_row = <<<SOURCEROW +<TR CLASS="source_$source_id" > + <TD CLASS="clickable" ONCLICK="displayAlert('$alert_source->Address', '')"> + <IMG SRC="rss.png"/> $alert_source->Name + </TD> + <TD CLASS="clickable link" ONCLICK="showEditSource('$source_id')">Edit</TD> + <TD CLASS="clickable link" ONCLICK="deleteSource('$source_id')">Delete</TD> +</TR> +<TR ID="edit_source_$source_id" CLASS="hidden source_$source_id"> + <TD COLSPAN="3"> + <TABLE CLASS="sourceDetailsTable"> + <TR> + <TD>Source name:</TD> + <TD> + <INPUT ID="source_{$source_id}_name" TYPE="TEXT" SIZE="50" VALUE="$alert_source->Name"/> + </TD> + </TR> + <TR> + <TD>Source address:</TD> + <TD> + <INPUT ID="source_{$source_id}_address" TYPE="TEXT" SIZE="50" VALUE="$alert_source->Address"/> + </TD> + </TR> + <TR> + <TD> + <INPUT ID="source_{$source_id}_type" TYPE="HIDDEN" VALUE="$source_id"/> + <INPUT TYPE="BUTTON" VALUE="Update" ONCLICK="updateSource('$source_id')"/> + <INPUT TYPE="BUTTON" VALUE="Cancel" ONCLICK="hideEditSource('$source_id')"/> + </TD> + </TR> + </TABLE> + </TD> +</TR> +SOURCEROW; + $return_table = $return_table . $return_row; + $no_of_sources = $no_of_sources + 1; + } + + $source_id = $no_of_sources + 1; + + $return_row = <<<ADDROW +<TR CLASS="source_$source_id"> + <TD COLSPAN="4" CLASS="clickable link" ONCLICK="showAddNewSource('$source_id')">Add new Alert Source</TD> +</TR> +<TR ID="add_source_$source_id" CLASS="hidden source_$source_id"> + <TD COLSPAN="4"> + <TABLE CLASS="sourceDetailsTable"> + <TR> + <TD>Source name:</TD> + <TD> + <INPUT ID="source_{$source_id}_name" TYPE="TEXT" SIZE="50"> + </TD> + </TR> + <TR> + <TD>Source address:</TD> + <TD> + <INPUT ID="source_{$source_id}_address" TYPE="TEXT" SIZE="50"> + </TD> + </TR> + <TR> + <TD>Source type:</TD> + <TD> + <SELECT ID="source_{$source_id}_type" ONCHANGE="showSourceType('$source_id')"> + <OPTION value="rss" selected="selected">RSS/Atom feed</OPTION>" + </SELECT> + </TD> + </TR> + <TR ID="add_rss_source"> + <TD COLSPAN="2"> + <TABLE CLASS="sourceDetailsTable"> + <TR> + <TD>Feed address:</TD> + <TD> + <INPUT ID="source_{$source_id}_feedAddress" TYPE="TEXT" SIZE="50"/> + </TD> + </TR> + </TABLE> + </TD> + </TR> + <TR> + <TD> + <INPUT TYPE="BUTTON" VALUE="Add" ONCLICK="addSource('$source_id')"> + <INPUT TYPE="BUTTON" VALUE="Cancel" ONCLICK="hideAddNewSource('$source_id')"> + </TD> + </TR> + </TABLE> + </TD> +</TR> +ADDROW; + + $return_table = $return_table . $return_row; + $return_table = $return_table . "</TABLE>\n"; + return $return_table; + } + + /** + * @param integer $source_id + * @return string + */ + public function deleteAlertSource($source_id){ + $this->alert_sources_service->removeAlertSource($source_id); + } + + /** + * @param SingleSourceType $alert_source http://tuscany.apache.org/sca/samples/aggregator/types + */ + public function addAlertSource($alert_source){ + $request = $this->alert_sources_service->createDataObject("http://tuscany.apache.org/sca/samples/aggregator/sources", + "addAlertSource"); + $source = $request->createDataObject("parm"); + + $source->Name = $alert_source->Name; + $source->Address = $alert_source->Address; + $source->Id = $alert_source->Id; + $source->Type = $alert_source->Type; + + $this->alert_sources_service->addAlertSource($request); + } + + /** + * @param SourceType $alert_source http://tuscany.apache.org/sca/samples/aggregator/types + */ + public function updateAlertSource($alert_source){ + $this->alert_sources_service->updateAlertSource($alert_source); + } +} + +/* Some debugging lines +ob_start(); +print_r( $new_alerts ); +$debug = ob_get_contents(); +ob_end_clean(); +SCA::$logger->log($debug); +*/ +?> + + + diff --git a/sandbox/slaws/old/httpserver.php/htdocs/AlertDisplayJson.php b/sandbox/slaws/old/httpserver.php/htdocs/AlertDisplayJson.php new file mode 100644 index 0000000000..5953f02209 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/AlertDisplayJson.php @@ -0,0 +1,56 @@ +<?php +/* ++----------------------------------------------------------------------+ +| Copyright IBM Corporation 2007. | +| All Rights Reserved. | ++----------------------------------------------------------------------+ +| | +| Licensed 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. | ++----------------------------------------------------------------------+ +| Author: SL | ++----------------------------------------------------------------------+ +$Id: ContactEmailService.php,v 1.1.2.1 2007/04/27 11:17:45 slaws Exp $ +*/ + +include 'SCA/SCA.php'; + +/** + * Service for sending emails + * + * @service + * @binding.restrpc + */ +class AlertDisplayJson { + + /** + * @reference + * @binding.jsonrpc C:\simon\Projects\Tuscany\service.smd + */ + public $alert_service; + + + + /** + * Send a simple text email with the options of using short names for addresses. + * + * @return string + */ + public function getAlerts() { + + $alerts = $this->alert_service->getAllNewAlerts("SomeString"); + + return $alerts; + + } +} + +?> diff --git a/sandbox/slaws/old/httpserver.php/htdocs/Alerter.xsd b/sandbox/slaws/old/httpserver.php/htdocs/Alerter.xsd new file mode 100644 index 0000000000..58b9982d38 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/Alerter.xsd @@ -0,0 +1,74 @@ +<?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.
+-->
+<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"/>
+ <attribute name="unread" type="boolean" use="optional"/>
+ <attribute name="id" 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 diff --git a/sandbox/slaws/old/httpserver.php/htdocs/Alerts.wsdl b/sandbox/slaws/old/httpserver.php/htdocs/Alerts.wsdl new file mode 100644 index 0000000000..9150abbaf4 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/Alerts.wsdl @@ -0,0 +1,88 @@ +<?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. +--> +<wsdl:definitions targetNamespace="http://tuscany.apache.org/sca/samples/aggregator/service" + xmlns:tns="http://tuscany.apache.org/sca/samples/aggregator/service" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="Alerter"> + + <wsdl:types> + <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://tuscany.apache.org/sca/samples/aggregator/service" + xmlns:alerter="http://tuscany.apache.org/sca/samples/aggregator/types" + elementFormDefault="qualified"> + + <xsd:import namespace="http://tuscany.apache.org/sca/samples/aggregator/types" + schemaLocation="Alerts.xsd" /> + + <element name="getAllNewAlerts"> + <xsd:complexType> + <sequence> + <element name="parm" type="string" /> + </sequence> + </xsd:complexType> + </element> + + <element name="getAllNewAlertsResponse"> + <complexType> + <sequence> + <element name="parm" type="alerter:AlertsType" /> + </sequence> + </complexType> + </element> + + </xsd:schema> + </wsdl:types> + + <wsdl:message name="GetAllNewAlertsRequest"> + <wsdl:part element="tns:getAllNewAlerts" name="parameters" /> + </wsdl:message> + <wsdl:message name="GetAllNewAlertsResponse"> + <wsdl:part element="tns:getAllNewAlertsResponse" name="parameters" /> + </wsdl:message> + + <wsdl:portType name="AlertsPortType"> + <wsdl:operation name="getAllNewAlerts"> + <wsdl:input message="tns:GetAllNewAlertsRequest" name="GetAllNewAlertsRequestMsg" /> + <wsdl:output message="tns:GetAllNewAlertsResponse" name="GetAllNewAlertsResponseMsg" /> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="AlertsBinding" type="tns:AlertsPortType"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getAllNewAlerts"> + <wsdlsoap:operation soapAction="" /> + <wsdl:input name="GetAllNewAlertsRequestMsg"> + <wsdlsoap:body use="literal" /> + </wsdl:input> + <wsdl:output name="GetAllNewAlertsResponseMsg"> + <wsdlsoap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="AlertsService"> + <wsdl:port name="AlertsPort" binding="tns:AlertsBinding"> + <wsdlsoap:address location="http://localhost:8080/services/AlertsServiceWebServiceBinding" /> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> diff --git a/sandbox/slaws/old/httpserver.php/htdocs/Alerts.xsd b/sandbox/slaws/old/httpserver.php/htdocs/Alerts.xsd new file mode 100644 index 0000000000..1e80da0487 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/Alerts.xsd @@ -0,0 +1,80 @@ +<?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. +--> +<schema targetNamespace="http://tuscany.apache.org/sca/samples/aggregator/types" + xmlns="http://www.w3.org/2001/XMLSchema" + xmlns:ns="http://tuscany.apache.org/sca/samples/aggregator/types"> + <element name="Alerts" type="ns:AlertsType"/> + + <complexType name="AlertType"> + <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"/> + <attribute name="Unread" type="boolean" use="optional"/> + <attribute name="Id" type="string" use="optional"/> + </complexType> + + <complexType name="AlertsType"> + <sequence> + <element name="Alert" type="ns:AlertType" maxOccurs="unbounded" minOccurs="0" /> + </sequence> + </complexType> + + <complexType name="SourceType"> + <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="ConfigType"> + <sequence> + <element name="Source" type="ns:SourceType" maxOccurs="unbounded" minOccurs="0"/> + </sequence> + </complexType> + + <complexType name="SingleSourceType"> + <sequence> + <element name="Source" type="ns:SourceType"/> + </sequence> + </complexType> + + <element name="Config" type="ns:ConfigType"/> + <element name="Source" type="ns:SourceType"/> +</schema>
\ No newline at end of file diff --git a/sandbox/slaws/old/httpserver.php/htdocs/AlertsSources.wsdl b/sandbox/slaws/old/httpserver.php/htdocs/AlertsSources.wsdl new file mode 100644 index 0000000000..82422c82ef --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/AlertsSources.wsdl @@ -0,0 +1,124 @@ +<?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. +--> +<wsdl:definitions targetNamespace="http://tuscany.apache.org/sca/samples/aggregator/sources" + xmlns:tns="http://tuscany.apache.org/sca/samples/aggregator/sources" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + name="Alerter"> + + <wsdl:types> + <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://tuscany.apache.org/sca/samples/aggregator/sources" + xmlns:alerter="http://tuscany.apache.org/sca/samples/aggregator/types" + elementFormDefault="qualified"> + + <xsd:import namespace="http://tuscany.apache.org/sca/samples/aggregator/types" + schemaLocation="Alerts.xsd" /> + + <element name="getAlertSources"> + <xsd:complexType> + <sequence> + <element name="parm" type="string" /> + </sequence> + </xsd:complexType> + </element> + + <element name="getAlertSourcesResponse"> + <complexType> + <sequence> + <element name="parm" type="alerter:ConfigType" /> + </sequence> + </complexType> + </element> + + <element name="addAlertSource"> + <xsd:complexType> + <sequence> + <element name="parm" type="alerter:SourceType"/> + </sequence> + </xsd:complexType> + </element> + + <element name="addAlertSourceResponse"> + <complexType> + <sequence> + <element name="parm" type="string" /> + </sequence> + </complexType> + </element> + + </xsd:schema> + </wsdl:types> + + <wsdl:message name="GetAlertSourcesRequest"> + <wsdl:part element="tns:getAlertSources" name="parameters" /> + </wsdl:message> + <wsdl:message name="GetAlertSourcesResponse"> + <wsdl:part element="tns:getAlertSourcesResponse" name="parameters" /> + </wsdl:message> + + <wsdl:message name="AddAlertSourceRequest"> + <wsdl:part element="tns:addAlertSource" name="parameters" /> + </wsdl:message> + <wsdl:message name="AddAlertSourceResponse"> + <wsdl:part element="tns:addAlertSourceResponse" name="parameters" /> + </wsdl:message> + + <wsdl:portType name="AlertsSourcesPortType"> + <wsdl:operation name="getAlertSources"> + <wsdl:input message="tns:GetAlertSourcesRequest" name="GetAlertSourcesRequestMsg" /> + <wsdl:output message="tns:GetAlertSourcesResponse" name="GetAlertSourcesResponseMsg" /> + </wsdl:operation> + <wsdl:operation name="addAlertSource"> + <wsdl:input message="tns:AddAlertSourceRequest" name="AddAlertSourceRequestMsg" /> + <wsdl:output message="tns:AddAlertSourceResponse" name="AddAlertSourceResponseMsg" /> + </wsdl:operation> + </wsdl:portType> + + <wsdl:binding name="AlertsSourcesBinding" type="tns:AlertsSourcesPortType"> + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> + <wsdl:operation name="getAlertSources"> + <wsdlsoap:operation soapAction="" /> + <wsdl:input name="GetAlertSourcesRequestMsg"> + <wsdlsoap:body use="literal" /> + </wsdl:input> + <wsdl:output name="GetAlertSourcesResponseMsg"> + <wsdlsoap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + <wsdl:operation name="addAlertSource"> + <wsdlsoap:operation soapAction="" /> + <wsdl:input name="AddAlertSourceRequestMsg"> + <wsdlsoap:body use="literal" /> + </wsdl:input> + <wsdl:output name="AddAlertSourceResponseMsg"> + <wsdlsoap:body use="literal" /> + </wsdl:output> + </wsdl:operation> + </wsdl:binding> + + <wsdl:service name="AlertsSourcesService"> + <wsdl:port name="AlertsSourcesPort" binding="tns:AlertsSourcesBinding"> + <wsdlsoap:address location="http://localhost:8080/services/AlertsSourcesServiceWebServiceBinding" /> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> diff --git a/sandbox/slaws/old/httpserver.php/htdocs/Cached_Alerts.xml b/sandbox/slaws/old/httpserver.php/htdocs/Cached_Alerts.xml new file mode 100644 index 0000000000..e208c8d9e4 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/Cached_Alerts.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Alerts xmlns="http://tuscany.apache.org/sca/samples/aggregator/types" xmlns:tns="http://tuscany.apache.org/sca/samples/aggregator/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></Alerts> diff --git a/sandbox/slaws/old/httpserver.php/htdocs/index.html b/sandbox/slaws/old/httpserver.php/htdocs/index.html new file mode 100644 index 0000000000..f952f08bc8 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/index.html @@ -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 Feed 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","AlertDisplay.php/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","AlertDisplay.php/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","AlertDisplay.php/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("AlertDisplay.php/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","AlertDisplay.php/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("AlertDisplay.php/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/sca/samples/aggregator/types\" 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>
+
diff --git a/sandbox/slaws/old/httpserver.php/htdocs/phpinfo.php b/sandbox/slaws/old/httpserver.php/htdocs/phpinfo.php new file mode 100644 index 0000000000..1cf8044fe2 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/phpinfo.php @@ -0,0 +1,5 @@ +<?php
+phpinfo();
+?>
+
+
\ No newline at end of file diff --git a/sandbox/slaws/old/httpserver.php/htdocs/pop.png b/sandbox/slaws/old/httpserver.php/htdocs/pop.png Binary files differnew file mode 100644 index 0000000000..1cf1df24a7 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/pop.png diff --git a/sandbox/slaws/old/httpserver.php/htdocs/rss.png b/sandbox/slaws/old/httpserver.php/htdocs/rss.png Binary files differnew file mode 100644 index 0000000000..b3c949d224 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/rss.png diff --git a/sandbox/slaws/old/httpserver.php/htdocs/service.smd b/sandbox/slaws/old/httpserver.php/htdocs/service.smd new file mode 100644 index 0000000000..bc77e39bf9 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/service.smd @@ -0,0 +1 @@ +{"SMDVersion":".1","objectName":"AlertsService","serviceType":"JSON-RPC","serviceURL":"http://localhost:8080/sample-feed-aggregator/services/AlertsServiceJSONRPC","methods":[{"name":"getAllNewAlerts","parameters":[{"name":"param0","type":"STRING"}]}]} diff --git a/sandbox/slaws/old/httpserver.php/htdocs/style.css b/sandbox/slaws/old/httpserver.php/htdocs/style.css new file mode 100644 index 0000000000..cd377e90e5 --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/htdocs/style.css @@ -0,0 +1,166 @@ +/*
+ * 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.
+ */
+
+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
+{
+display: none;
+}
+
+.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;
+}
+
diff --git a/sandbox/slaws/old/httpserver.php/startserver.bat b/sandbox/slaws/old/httpserver.php/startserver.bat new file mode 100644 index 0000000000..339460c70f --- /dev/null +++ b/sandbox/slaws/old/httpserver.php/startserver.bat @@ -0,0 +1,78 @@ +@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 HTTPD_HOME=C:\simon\apps\apache2.0.55\Apache2
+set PHP_HOME=C:\simon\Projects\Tuscany\php\branch-build\php-5.2.0\Debug_TS
+
+set APFULLDIR=%~d0%~p0
+echo Running from %APFULLDIR%
+
+REM if "%TUSCANY_SCACPP%" == "" (
+REM echo "TUSCANY_SCACPP not set"
+REM goto end
+REM )
+REM echo Using SCA installed at %TUSCANY_SCACPP%
+
+REM if "%TUSCANY_SDOCPP%" == "" (
+REM echo "TUSCANY_SDOCPP not set"
+REM goto end
+REM )
+REM 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=%HTTPD_HOME%\bin;%PHP_HOME%;%PATH%
+
+REM set TUSCANY_SCACPP_ROOT=%APFULLDIR%\..\
+REM set TUSCANY_SCACPP_BASE_URI=http://localhost:9091
+
+@REM Generate the tuscany_sca_mod_rest configuration
+REM if not exist %APFULLDIR%\conf\tuscany_sca_mod_rest.conf (
+REM echo LoadModule sca_rest_module %TUSCANY_SCACPP%/extensions/rest\service/bin/tuscany_sca_mod_rest.dll > %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+REM echo TuscanyHome %TUSCANY_SCACPP% >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+REM echo ^<Location /rest^> >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+REM echo SetHandler sca_rest_module >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+REM echo TuscanyRoot %TUSCANY_SCACPP_ROOT% >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+REM echo ^</Location^> >> %APFULLDIR%\conf\tuscany_sca_mod_rest.conf
+REM )
+
+@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
+ echo LoadModule php5_module %PHP_HOME%\php5apache2.dll >> %APFULLDIR%\conf\base.conf
+ echo AddType application/x-httpd-php .php >> %APFULLDIR%\conf\base.conf
+ echo PHPIniDir %PHP_HOME% >> %APFULLDIR%\conf\base.conf
+)
+
+@REM Create logs directory
+REM if not exist %APFULLDIR%\logs mkdir %APFULLDIR%\logs
+REM set TUSCANY_SCACPP_LOG=%APFULLDIR%\logs\tuscany-server.log
+REM set TUSCANY_SCACPP_LOGGING=9
+
+@REM Start the HTTP server
+echo Starting Apache httpd
+%HTTPD_HOME%\bin\apache -d %APFULLDIR%
|