You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2007/06/01 17:22:52 UTC
svn commit: r543501 [1/2] - in
/incubator/tuscany/sandbox/slaws/feed-aggregator: ./
src/main/java/org/apache/tuscany/sca/samples/aggregator/
src/main/resources/ src/main/resources/aggregator/ src/main/webapp/
src/main/webapp/META-INF/ src/main/webapp/W...
Author: slaws
Date: Fri Jun 1 08:22:50 2007
New Revision: 543501
URL: http://svn.apache.org/viewvc?view=rev&rev=543501
Log:
Adding JSONRPC binding
Added:
incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.png (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/build-dojo.xml (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/build.xml (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertTypeNonSDOImpl.java (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsTypeNonSDOImpl.java (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/ConfigTypeNonSDOImpl.java (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerServiceImpl.java (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/SourceTypeNonSDOImpl.java (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/FeedAggregator.html (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/META-INF/
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/META-INF/sca-contribution.xml (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/WEB-INF/
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/WEB-INF/web.xml (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/pop.png (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/rss.png (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/service.smd (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/sources.smd (with props)
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/webapp/style.css (with props)
Removed:
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/resources/aggregator/
Modified:
incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.svg
incubator/tuscany/sandbox/slaws/feed-aggregator/pom.xml
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsServiceImpl.java
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesService.java
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesServiceImpl.java
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerService.java
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/resources/Alerts.xsd
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/resources/AlertsSources.wsdl
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/resources/alerts.composite
incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/resources/sources.xml
incubator/tuscany/sandbox/slaws/feed-aggregator/src/test/java/org/apache/tuscany/sca/samples/aggregator/AlertsTestCase.java
Added: incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.png
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.png?view=auto&rev=543501
==============================================================================
Binary file - no diff available.
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Modified: incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.svg
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.svg?view=diff&rev=543501&r1=543500&r2=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.svg (original)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/aggregator.svg Fri Jun 1 08:22:50 2007
@@ -15,7 +15,10 @@
inkscape:version="0.44"
sodipodi:docbase="C:\simon\Projects\Tuscany\java\sandbox\slaws\feed-aggregator"
sodipodi:docname="aggregator.svg"
- version="1.0">
+ version="1.0"
+ inkscape:export-filename="C:\simon\Projects\Tuscany\java\sandbox\slaws\feed-aggregator\aggregator.png"
+ inkscape:export-xdpi="52.84"
+ inkscape:export-ydpi="52.84">
<defs
id="defs4" />
<sodipodi:namedview
@@ -30,13 +33,13 @@
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="559.53502"
- inkscape:cy="508.6155"
+ inkscape:cy="380.79143"
inkscape:document-units="px"
- inkscape:current-layer="g1887"
+ inkscape:current-layer="layer1"
inkscape:window-width="1231"
inkscape:window-height="883"
- inkscape:window-x="39"
- inkscape:window-y="33" />
+ inkscape:window-x="68"
+ inkscape:window-y="15" />
<metadata
id="metadata7">
<rdf:RDF>
@@ -57,13 +60,13 @@
transform="matrix(0.493398,0,0,0.905393,32.49726,0.213099)">
<rect
rx="15.307091"
- ry="9.1542854"
- y="192.00235"
+ ry="11.608842"
+ y="192.00241"
x="258.31146"
- height="216.37401"
+ height="274.39081"
width="495.71429"
id="rect2067"
- style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:2.99235129;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:2.99235177;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<flowRoot
id="flowRoot2954"
xml:space="preserve"
@@ -76,14 +79,14 @@
id="rect2958" /></flowRegion><flowPara
id="flowPara2960">DisplayComposite - PHP</flowPara></flowRoot> </g>
<rect
- style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2.00000024;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect2988"
width="115.66247"
- height="85.862968"
+ height="155.56354"
x="224.91631"
- y="240.73904"
+ y="240.73917"
rx="6.9961648"
- ry="7.1230249" />
+ ry="12.905249" />
<flowRoot
xml:space="preserve"
id="flowRoot2966"
@@ -105,32 +108,32 @@
ry="0" />
<path
style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 207.76582,272.58604 L 241.10086,272.58604 L 247.16177,285.71802 L 240.09071,297.83986 L 207.76582,297.83986 L 215.34197,285.71802 L 207.76582,272.58604 z "
+ d="M 207.76582,260.46421 L 241.10086,260.46421 L 247.16177,273.59619 L 240.09071,285.71803 L 207.76582,285.71803 L 215.34197,273.59619 L 207.76582,260.46421 z "
id="path3017" />
<path
style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 321.01826,270.74776 L 354.3533,270.74776 L 360.41421,283.87974 L 353.34315,296.00158 L 321.01826,296.00158 L 328.59441,283.87974 L 321.01826,270.74776 z "
+ d="M 321.01826,362.74776 L 354.3533,362.74776 L 360.41421,375.87974 L 353.34315,388.00158 L 321.01826,388.00158 L 328.59441,375.87974 L 321.01826,362.74776 z "
id="path3019" />
<path
style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 132.44488,264.3248 L 176.05464,264.3248 L 183.98368,284.1425 L 174.73314,302.43577 L 132.44488,302.43577 L 142.35619,284.1425 L 132.44488,264.3248 z "
+ d="M 132.44488,252.20297 L 176.05464,252.20297 L 183.98368,272.02067 L 174.73314,290.31394 L 132.44488,290.31394 L 142.35619,272.02067 L 132.44488,252.20297 z "
id="path1883" />
<path
style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 373.8733,262.18185 L 423.52701,262.18185 L 432.55495,284.97097 L 422.02236,306.0071 L 373.8733,306.0071 L 385.15824,284.97097 L 373.8733,262.18185 z "
+ d="M 373.8733,354.18185 L 423.52701,354.18185 L 432.55495,376.97097 L 422.02236,398.0071 L 373.8733,398.0071 L 385.15824,376.97097 L 373.8733,354.18185 z "
id="path1885" />
<g
id="g1887"
transform="matrix(0.493398,0,0,0.905393,374.2831,0.162271)">
<rect
rx="27.634869"
- ry="15.337877"
- y="192.00246"
+ ry="18.594875"
+ y="192.0024"
x="258.31131"
- height="362.53162"
+ height="439.5152"
width="894.9447"
id="rect1889"
- style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:2.99235106;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ style="opacity:1;fill:#90baf4;fill-opacity:1;stroke:#060000;stroke-width:2.99235058;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<flowRoot
id="flowRoot1891"
xml:space="preserve"
@@ -143,53 +146,50 @@
id="rect1895" /></flowRegion><flowPara
id="flowPara1897">AlerterComposite - Java</flowPara></flowRoot> </g>
<rect
- style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2.00000024;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2.00000119;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1899"
width="115.66247"
- height="121.21833"
+ height="237.38606"
x="566.70215"
- y="240.68829"
+ y="313.41953"
rx="6.9961648"
- ry="10.056037" />
+ ry="19.693087" />
<flowRoot
xml:space="preserve"
id="flowRoot1901"
- transform="translate(299.1114,34.74967)"><flowRegion
+ transform="translate(294.0606,125.6634)"><flowRegion
id="flowRegion1903"><rect
id="rect1905"
width="170"
height="61.42857"
x="281.42856"
y="212.66591" /></flowRegion><flowPara
- id="flowPara1907">Alerter</flowPara></flowRoot> <rect
+ id="flowPara1907">AlertsService</flowPara><flowPara
+ id="flowPara2023" /></flowRoot> <rect
style="opacity:1;fill:#fff62c;fill-opacity:1;stroke:#060000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1909"
width="21.718224"
height="20.708065"
- x="612.66406"
- y="225.03084"
+ x="611.65393"
+ y="302.81259"
rx="10.859112"
ry="0" />
<path
style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 549.55163,272.53523 L 582.88667,272.53523 L 588.94758,285.66721 L 581.87652,297.78905 L 549.55163,297.78905 L 557.12778,285.66721 L 549.55163,272.53523 z "
+ d="M 549.55163,364.53523 L 582.88667,364.53523 L 588.94758,377.66721 L 581.87652,389.78905 L 549.55163,389.78905 L 557.12778,377.66721 L 549.55163,364.53523 z "
id="path1911" />
<path
style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 662.80407,270.69695 L 696.13911,270.69695 L 702.20002,283.82893 L 695.12896,295.95077 L 662.80407,295.95077 L 670.38022,283.82893 L 662.80407,270.69695 z "
+ d="M 662.80407,336.35687 L 696.13911,336.35687 L 702.20002,349.48885 L 695.12896,361.61069 L 662.80407,361.61069 L 670.38022,349.48885 L 662.80407,336.35687 z "
id="path1913" />
<path
style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 474.23069,264.27399 L 517.84045,264.27399 L 525.76949,284.09169 L 516.51895,302.38496 L 474.23069,302.38496 L 484.142,284.09169 L 474.23069,264.27399 z "
+ d="M 474.23069,356.27399 L 517.84045,356.27399 L 525.76949,376.09169 L 516.51895,394.38496 L 474.23069,394.38496 L 484.142,376.09169 L 474.23069,356.27399 z "
id="path1915" />
- <path
- style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 913.64901,260.11073 L 963.30272,260.11073 L 972.33071,282.89985 L 961.79807,303.93598 L 913.64901,303.93598 L 924.93395,282.89985 L 913.64901,260.11073 z "
- id="path1917" />
<flowRoot
xml:space="preserve"
id="flowRoot1919"
- transform="translate(-136.1038,64.54669)"><flowRegion
+ transform="translate(-136.1038,52.42486)"><flowRegion
id="flowRegion1921"><rect
id="rect1923"
width="170"
@@ -199,7 +199,7 @@
id="flowPara1925">rest</flowPara></flowRoot> <flowRoot
xml:space="preserve"
id="flowRoot1927"
- transform="translate(110.8013,65.36407)"><flowRegion
+ transform="translate(110.8013,157.3641)"><flowRegion
id="flowRegion1929"><rect
id="rect1931"
width="170"
@@ -208,53 +208,28 @@
y="212.66591" /></flowRegion><flowPara
id="flowPara1933">soap</flowPara></flowRoot> <path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 182.85715,283.3802 L 215,283.3802"
+ d="M 182.85715,271.25837 L 215,271.25837"
id="path1941" />
<path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 359.28572,283.3802 L 385,283.3802"
+ d="M 359.28572,375.3802 L 385,375.3802"
id="path1943" />
<path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 432.14286,284.80877 L 482.85715,284.09448"
+ d="M 432.14286,376.80877 L 482.85715,376.09448"
id="path1945" />
<path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 525,284.09448 L 557.14286,284.09448"
+ d="M 525,376.09448 L 557.14286,376.09448"
id="path1947" />
<path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 701.42857,283.3802 L 727.14286,282.66591"
+ d="M 524.65209,283.3802 L 727.14307,282.66591"
id="path1949" />
- <g
- id="g1965"
- transform="translate(-161.4285,-182.8571)">
- <rect
- ry="6.2971425"
- rx="7.4499478"
- y="442.66592"
- x="221.42857"
- height="44.285713"
- width="48.57143"
- id="rect1959"
- style="opacity:1;fill:none;fill-opacity:1;stroke:#060000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 1;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- id="path1961"
- d="M 215,436.23734 L 276.42857,436.95163 L 276.42857,491.23734 L 213.57143,491.23734 L 215,436.23734 z "
- style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path1963"
- d="M 275.71429,491.23734 L 287.85714,504.80877 L 203.57143,504.09448 L 214.28571,491.95163"
- style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- </g>
- <path
- style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 115,283.3802 L 140.71429,283.3802"
- id="path1970" />
<flowRoot
xml:space="preserve"
id="flowRoot1921"
- transform="translate(206.326,64.44333)"><flowRegion
+ transform="translate(206.326,156.4433)"><flowRegion
id="flowRegion1923"><rect
id="rect1925"
width="170"
@@ -263,66 +238,237 @@
y="212.66591" /></flowRegion><flowPara
id="flowPara1927">soap</flowPara></flowRoot> <path
style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 664.17529,313.26442 L 697.51033,313.26442 L 703.57124,326.3964 L 696.50018,338.51824 L 664.17529,338.51824 L 671.75144,326.3964 L 664.17529,313.26442 z "
+ d="M 668.2159,379.93449 L 701.55094,379.93449 L 707.61185,393.06647 L 700.54079,405.18831 L 668.2159,405.18831 L 675.79205,393.06647 L 668.2159,379.93449 z "
id="path1929" />
<rect
style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:1.99999976;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1932"
width="115.66247"
height="79.802025"
- x="739.17145"
- y="238.51563"
+ x="740.18158"
+ y="348.62225"
rx="6.9961648"
ry="6.6202211" />
<flowRoot
xml:space="preserve"
id="flowRoot1934"
- transform="translate(471.5807,32.57709)"><flowRegion
+ transform="translate(472.5909,142.6837)"><flowRegion
id="flowRegion1936"><rect
id="rect1938"
width="170"
height="61.42857"
x="281.42856"
y="212.66591" /></flowRegion><flowPara
- id="flowPara1940">RSS</flowPara></flowRoot> <rect
- style="opacity:1;fill:#fff62c;fill-opacity:1;stroke:#060000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect1942"
- width="21.718224"
- height="20.708065"
- x="785.13336"
- y="222.85825"
- rx="10.859112"
- ry="0" />
- <path
+ id="flowPara1940">RSS</flowPara></flowRoot> <path
style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 722.02086,270.36265 L 755.3559,270.36265 L 761.41681,283.49463 L 754.34575,295.61647 L 722.02086,295.61647 L 729.59701,283.49463 L 722.02086,270.36265 z "
+ d="M 723.03101,380.46928 L 756.36605,380.46928 L 762.42696,393.60126 L 755.3559,405.7231 L 723.03101,405.7231 L 730.60716,393.60126 L 723.03101,380.46928 z "
id="path1944" />
- <path
- style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 835.2733,268.52437 L 868.60834,268.52437 L 874.66925,281.65635 L 867.59819,293.77819 L 835.2733,293.77819 L 842.84945,281.65635 L 835.2733,268.52437 z "
- id="path1946" />
<rect
style="fill:#317fed;fill-opacity:1;stroke:#060000;stroke-width:2.00000048;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1950"
width="115.66247"
height="80.812263"
- x="566.44305"
- y="394.58182"
+ x="738.16901"
+ y="239.01831"
rx="6.9961648"
ry="6.7040281" />
<path
style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 549.01791,424.3812 L 582.35295,424.3812 L 588.41386,437.51318 L 581.3428,449.63502 L 549.01791,449.63502 L 556.59406,437.51318 L 549.01791,424.3812 z "
+ d="M 720.74384,268.81771 L 754.07888,268.81771 L 760.13979,281.94969 L 753.06873,294.07153 L 720.74384,294.07153 L 728.31999,281.94969 L 720.74384,268.81771 z "
id="path1952" />
<flowRoot
xml:space="preserve"
id="flowRoot1954"
- transform="translate(299.113,191.0534)"><flowRegion
+ transform="translate(474.8795,36.50008)"><flowRegion
id="flowRegion1956"><rect
id="rect1958"
width="170"
height="61.42857"
x="281.42856"
y="212.66591" /></flowRegion><flowPara
- id="flowPara1960">FeedRegistry</flowPara></flowRoot> </g>
+ id="flowPara1960">AlertsSources</flowPara><flowPara
+ id="flowPara2055">Service</flowPara></flowRoot> <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 208.57544,335.05504 L 241.91048,335.05504 L 247.97139,348.18702 L 240.90033,360.30886 L 208.57544,360.30886 L 216.15159,348.18702 L 208.57544,335.05504 z "
+ id="path1938" />
+ <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 133.2545,326.7938 L 176.86426,326.7938 L 184.7933,346.6115 L 175.54276,364.90477 L 133.2545,364.90477 L 143.16581,346.6115 L 133.2545,326.7938 z "
+ id="path1940" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot1942"
+ transform="translate(-135.2942,127.0157)"><flowRegion
+ id="flowRegion1944"><rect
+ id="rect1946"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591" /></flowRegion><flowPara
+ id="flowPara1948">jsonrpc</flowPara></flowRoot> <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 183.66677,345.8492 L 215.80962,345.8492"
+ id="path1950" />
+ <g
+ id="g1962"
+ transform="translate(-161.8716,-15.3322)">
+ <rect
+ ry="6.2971425"
+ rx="7.4499478"
+ y="442.66592"
+ x="221.42857"
+ height="44.285713"
+ width="48.57143"
+ id="rect1964"
+ style="opacity:1;fill:none;fill-opacity:1;stroke:#060000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:6, 1;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ id="path1966"
+ d="M 215,436.23734 L 276.42857,436.95163 L 276.42857,491.23734 L 213.57143,491.23734 L 215,436.23734 z "
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ id="path1968"
+ d="M 275.71429,491.23734 L 287.85714,504.80877 L 203.57143,504.09448 L 214.28571,491.95163"
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 548.29258,444.51843 L 581.62762,444.51843 L 587.68853,457.65041 L 580.61747,469.77225 L 548.29258,469.77225 L 555.86873,457.65041 L 548.29258,444.51843 z "
+ id="path1971" />
+ <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 472.97164,436.25719 L 516.5814,436.25719 L 524.51044,456.07489 L 515.2599,474.36816 L 472.97164,474.36816 L 482.88295,456.07489 L 472.97164,436.25719 z "
+ id="path1973" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot1977"
+ transform="translate(205.067,236.4266)"><flowRegion
+ id="flowRegion1979"><rect
+ id="rect1981"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591" /></flowRegion><flowPara
+ id="flowPara1983">jsonrpc</flowPara></flowRoot> <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.00000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 102.72894,420.84571 L 102.02544,349.12487 L 141.42142,349.12487"
+ id="path1985" />
+ <path
+ style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 663.16515,478.92943 L 696.50019,478.92943 L 702.5611,492.06141 L 695.49004,504.18325 L 663.16515,504.18325 L 670.7413,492.06141 L 663.16515,478.92943 z "
+ id="path2009" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 706.09663,392.5614 C 729.33014,392.5614 730.34029,392.5614 730.34029,392.5614"
+ id="path2011" />
+ <path
+ style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 915.89241,466.61326 L 965.54614,466.61326 L 974.57414,489.40238 L 964.04144,510.43851 L 915.89241,510.43851 L 927.17734,489.40238 L 915.89241,466.61326 z "
+ id="path2017" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 700.03492,487.94714 C 922.71649,487.94714 922.71649,487.94714 922.71649,487.94714"
+ id="path2019" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 114.14724,455.31268 C 480.83261,455.31268 480.83261,455.31268 480.83261,455.31268"
+ id="path2021" />
+ <path
+ style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 321.88845,274.15881 L 355.22349,274.15881 L 361.2844,287.29079 L 354.21334,299.41263 L 321.88845,299.41263 L 329.4646,287.29079 L 321.88845,274.15881 z "
+ id="path2025" />
+ <path
+ style="fill:#ae62bf;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 374.74349,265.5929 L 424.3972,265.5929 L 433.42514,288.38202 L 422.89255,309.41815 L 374.74349,309.41815 L 386.02843,288.38202 L 374.74349,265.5929 z "
+ id="path2027" />
+ <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 475.10088,267.68504 L 518.71064,267.68504 L 526.63968,287.50274 L 517.38914,305.79601 L 475.10088,305.79601 L 485.01219,287.50274 L 475.10088,267.68504 z "
+ id="path2029" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot2031"
+ transform="translate(111.6715,68.77515)"><flowRegion
+ id="flowRegion2033"><rect
+ id="rect2035"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591" /></flowRegion><flowPara
+ id="flowPara2037">soap</flowPara></flowRoot> <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 360.15591,286.79125 L 385.87019,286.79125"
+ id="path2039" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 433.01305,288.21982 L 483.72734,287.50553"
+ id="path2041" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot2043"
+ transform="translate(207.1962,67.85435)"><flowRegion
+ id="flowRegion2045"><rect
+ id="rect2047"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591" /></flowRegion><flowPara
+ id="flowPara2049">soap</flowPara></flowRoot> <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 703.06617,349.12484 L 710.13724,349.12484 L 711.14739,290.53599 L 723.26922,290.53599"
+ id="path2051" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot2057"
+ transform="translate(-175.6716,172.7177)"><flowRegion
+ id="flowRegion2059"><rect
+ id="rect2061"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591" /></flowRegion><flowPara
+ id="flowPara2063">TBD</flowPara></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot2065"
+ transform="translate(648.7571,270.7025)"><flowRegion
+ id="flowRegion2067"><rect
+ id="rect2069"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591" /></flowRegion><flowPara
+ id="flowPara2071">feed</flowPara></flowRoot> <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 549.01791,511.37615 L 582.35295,511.37615 L 588.41386,524.50813 L 581.3428,536.62997 L 549.01791,536.62997 L 556.59406,524.50813 L 549.01791,511.37615 z "
+ id="path2073" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 71.450234,421.856 L 70.205581,271.34321 L 139.90614,271.34321"
+ id="path2075" />
+ <path
+ style="fill:#5b9d05;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.00000012px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 474.25611,504.82574 L 517.86587,504.82574 L 525.79491,524.64344 L 516.54437,542.93671 L 474.25611,542.93671 L 484.16742,524.64344 L 474.25611,504.82574 z "
+ id="path2077" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot2079"
+ transform="translate(203.2798,305.0477)"><flowRegion
+ id="flowRegion2081"><rect
+ id="rect2083"
+ width="170"
+ height="61.42857"
+ x="281.42856"
+ y="212.66591" /></flowRegion><flowPara
+ id="flowPara2085">feed</flowPara></flowRoot> <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 524.36018,456.20101 L 556.50304,456.20101"
+ id="path2087" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 523.35003,523.88123 L 555.49289,523.88123"
+ id="path2089" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 482.85292,524.89138 C 83.842662,521.86092 83.842662,522.87107 83.842662,522.87107 L 83.842662,489.53604"
+ id="path2091" />
+ </g>
</svg>
Added: incubator/tuscany/sandbox/slaws/feed-aggregator/build-dojo.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/build-dojo.xml?view=auto&rev=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/build-dojo.xml (added)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/build-dojo.xml Fri Jun 1 08:22:50 2007
@@ -0,0 +1,91 @@
+<?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.
+-->
+<project name="DojoZipInstaller">
+
+
+ <property name="dojo.version" value="0.4.0"/>
+ <property name="dojo.distro" value="ajax"/>
+ <property name="unpack.location" value="${basedir}/src/main/webapp/dojo"/>
+
+
+ <target name="check-dojo-installed">
+ <condition property="already.installed" >
+ <available file="${localRepository}/dojo/dojo-${dojo.distro}/${dojo.version}/dojo-${dojo.distro}-${dojo.version}.zip"/>
+ </condition>
+ <condition property="maven.suffix" value="">
+ <os family="unix"/>
+ </condition>
+ <condition property="maven.suffix" value=".bat">
+ <os family="windows"/>
+ </condition>
+ </target>
+
+
+ <target name="check-dojo-unpacked">
+ <condition property="already.unpacked" >
+ <available file="${unpack.location}"/>
+ </condition>
+ </target>
+
+ <target name="install-dojo" depends="check-dojo-installed" unless="already.installed">
+ <mkdir dir="${basedir}/target/dojo-download/"/>
+ <get src="http://download.dojotoolkit.org/release-${dojo.version}/dojo-${dojo.version}-${dojo.distro}.zip"
+ dest="${basedir}/target/dojo-download/dojo-${dojo.version}-${dojo.distro}.zip"
+ verbose="true"
+ usetimestamp="true"/>
+ <exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
+ <arg line="install:install-file -DgroupId=dojo -DartifactId=dojo-${dojo.distro} -Dversion=${dojo.version} -Dpackaging=zip -DgeneratePom=true -Dfile=${basedir}/target/dojo-download/dojo-${dojo.version}-${dojo.distro}.zip"/>
+ </exec>
+ </target>
+
+ <target name="install-dojo-nomaven" depends="check-dojo-installed" unless="already.installed">
+ <mkdir dir="${basedir}/target/dojo-download/"/>
+ <get src="http://download.dojotoolkit.org/release-${dojo.version}/dojo-${dojo.version}-${dojo.distro}.zip"
+ dest="${basedir}/target/dojo-download/dojo-${dojo.version}-${dojo.distro}.zip"
+ verbose="true"
+ usetimestamp="true"/>
+ <copy file="${basedir}/target/dojo-download/dojo-${dojo.version}-${dojo.distro}.zip"
+ tofile="${localRepository}/dojo/dojo-${dojo.distro}/${dojo.version}/dojo-${dojo.distro}-${dojo.version}.zip"/>
+ </target>
+
+
+ <target name="unpack-dojo-files" depends="check-dojo-installed, check-dojo-unpacked" unless="already.unpacked">
+ <fail message="dojo zip file not installed in local repository: ${localRepository}" unless="already.installed"/>
+ <mkdir dir="${basedir}/target/dojo-unpack-temp/"/>
+ <unzip src="${localRepository}/dojo/dojo-${dojo.distro}/${dojo.version}/dojo-${dojo.distro}-${dojo.version}.zip"
+ dest="${basedir}/target/dojo-unpack-temp/"
+ overwrite="false">
+ <patternset>
+ <include name="dojo-${dojo.version}-${dojo.distro}/**"/>
+ <exclude name="dojo-${dojo.version}-${dojo.distro}/demos/**"/>
+ <exclude name="dojo-${dojo.version}-${dojo.distro}/tests/**"/>
+ </patternset>
+ </unzip>
+ <move file="${basedir}/target/dojo-unpack-temp/dojo-${dojo.version}-${dojo.distro}"
+ tofile="${unpack.location}"
+ verbose="true"/>
+ <delete dir="${basedir}/target/dojo-unpack-temp/"/>
+ </target>
+
+
+ <target name="clean-dojo-files">
+ <delete dir="${unpack.location}"/>
+ </target>
+</project>
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/build-dojo.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/build-dojo.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/build-dojo.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/tuscany/sandbox/slaws/feed-aggregator/build.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/build.xml?view=auto&rev=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/build.xml (added)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/build.xml Fri Jun 1 08:22:50 2007
@@ -0,0 +1,106 @@
+<!--
+ * 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.
+-->
+<project name="helloworld-jsonrpc" default="package">
+ <property name="settings.localRepository" value="./target/repo" />
+ <property name="artifactId" value="sample-feed-aggregator" />
+
+ <target name="init">
+ <mkdir dir="target/classes"/>
+ </target>
+
+ <target name="compile" depends="init">
+ <javac srcdir="src/main/java"
+ destdir="target/classes"
+ debug="on"
+ source="1.5"
+ target="1.5">
+ <classpath>
+ <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </javac>
+ <copy todir="target/classes">
+ <fileset dir="src/main/resources"/>
+ </copy>
+ </target>
+
+ <target name="package" depends="compile">
+ <ant antfile="./build-dojo.xml" target="install-dojo-nomaven">
+ <property name="localRepository" value="${settings.localRepository}"/>
+ </ant>
+
+ <ant antfile="./build-dojo.xml" target="unpack-dojo-files">
+ <property name="localRepository" value="${settings.localRepository}"/>
+ <property name="artifactId" value="${artifactId}"/>
+ </ant>
+
+ <war destfile="target/sample-helloworldjsonrpc.war"
+ webxml="src/main/webapp/WEB-INF/web.xml">
+ <fileset dir="src/main/webapp"/>
+ <zipfileset dir="../../modules" prefix="WEB-INF/lib">
+ <include name="sca-api-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-assembly-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-assembly-xml-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-binding-jsonrpc-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-contribution-impl-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-core-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-core-databinding-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-core-spi-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-databinding-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-host-embedded-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-host-http-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-host-webapp-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-implementation-java-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-implementation-java-runtime-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-implementation-java-xml-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-java-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-java-runtime-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-java-xml-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-wsdl-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-wsdl-runtime-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-interface-wsdl-xml-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="tuscany-policy-0.90-incubating-SNAPSHOT.jar"/>
+ </zipfileset>
+ <lib dir="../../lib">
+ <include name="commonj-api-0.90-incubating-SNAPSHOT.jar"/>
+ <include name="json-rpc-1.0.jar"/>
+ <include name="stax-api-1.0.1.jar"/>
+ <include name="wsdl4j-1.6.2.jar"/>
+ <include name="wstx-asl-3.2.0.jar"/>
+ <include name="XmlSchema-1.3.1.jar"/>
+ <include name="**/../../modules/*.jar"/>
+ </lib>
+ <classes dir="target/classes"/>
+ </war>
+
+ <ant antfile="./build-dojo.xml" target="clean-dojo-files">
+ <property name="localRepository" value="${settings.localRepository}"/>
+ <property name="artifactId" value="${artifactId}"/>
+ </ant>
+ </target>
+
+
+
+ <target name="clean">
+ <delete quiet="true" includeemptydirs="true">
+ <fileset dir="target"/>
+ </delete>
+ </target>
+</project>
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/build.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/build.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/build.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: incubator/tuscany/sandbox/slaws/feed-aggregator/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/pom.xml?view=diff&rev=543501&r1=543500&r2=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/pom.xml (original)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/pom.xml Fri Jun 1 08:22:50 2007
@@ -31,7 +31,7 @@
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>feed-aggregator</artifactId>
- <packaging>jar</packaging>
+ <packaging>war</packaging>
<version>1.0-incubating-SNAPSHOT</version>
<name>feed-aggregator</name>
<url>http://cwiki.apache.org/TUSCANY</url>
@@ -101,10 +101,27 @@
<artifactId>tuscany-http-jetty</artifactId>
<version>${pom.version}</version>
<scope>test</scope>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-webapp</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-jsonrpc</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>rome</groupId>
+ <artifactId>rome</artifactId>
+ <version>0.9</version>
+ </dependency>
</dependencies>
<build>
+ <finalName>sample-feed-aggregator</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -140,6 +157,10 @@
<javaPackage>org.apache.tuscany.sca.samples.aggregator.service</javaPackage>
</configuration>
<configuration>
+ <fileName>${project.build.directory}/classes/AlertsSources.wsdl</fileName>
+ <javaPackage>org.apache.tuscany.sca.samples.aggregator.sources</javaPackage>
+ </configuration>
+ <configuration>
<fileName>${project.build.directory}/classes/Alerts.xsd</fileName>
<javaPackage>org.apache.tuscany.sca.samples.aggregator.types</javaPackage>
</configuration>
@@ -154,7 +175,58 @@
</execution>
</executions>
</plugin>
- </plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.1</version>
+ <executions>
+ <execution>
+ <id>install-dojo</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <ant antfile="./build-dojo.xml" target="install-dojo">
+ <property name="localRepository" value="${settings.localRepository}"/>
+ </ant>
+ </tasks>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-dojo-files</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <ant antfile="./build-dojo.xml" target="unpack-dojo-files">
+ <property name="localRepository" value="${settings.localRepository}"/>
+ <property name="artifactId" value="${artifactId}"/>
+ </ant>
+ </tasks>
+ </configuration>
+ </execution>
+ <execution>
+ <id>clean-dojo-files</id>
+ <phase>clean</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <ant antfile="./build-dojo.xml" target="clean-dojo-files">
+ <property name="localRepository" value="${settings.localRepository}"/>
+ <property name="artifactId" value="${artifactId}"/>
+ </ant>
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
</project>
Added: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertTypeNonSDOImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertTypeNonSDOImpl.java?view=auto&rev=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertTypeNonSDOImpl.java (added)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertTypeNonSDOImpl.java Fri Jun 1 08:22:50 2007
@@ -0,0 +1,330 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sca.samples.aggregator;
+
+import commonj.sdo.Type;
+
+import org.apache.tuscany.sca.samples.aggregator.types.AlertType;
+import org.apache.tuscany.sca.samples.aggregator.types.TypesFactory;
+
+import org.apache.tuscany.sdo.impl.DataObjectBase;
+
+
+public class AlertTypeNonSDOImpl implements AlertType
+{
+
+ /**
+ * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_DEFAULT_ = null;
+
+ /**
+ * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected String title = TITLE_DEFAULT_;
+
+ /**
+ * The default value of the '{@link #getSummary() <em>Summary</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSummary()
+ * @generated
+ * @ordered
+ */
+ protected static final String SUMMARY_DEFAULT_ = null;
+
+ /**
+ * The cached value of the '{@link #getSummary() <em>Summary</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSummary()
+ * @generated
+ * @ordered
+ */
+ protected String summary = SUMMARY_DEFAULT_;
+
+ /**
+ * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected static final String ADDRESS_DEFAULT_ = null;
+
+ /**
+ * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected String address = ADDRESS_DEFAULT_;
+
+ /**
+ * The default value of the '{@link #getDate() <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDate()
+ * @generated
+ * @ordered
+ */
+ protected static final String DATE_DEFAULT_ = null;
+
+ /**
+ * The cached value of the '{@link #getDate() <em>Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDate()
+ * @generated
+ * @ordered
+ */
+ protected String date = DATE_DEFAULT_;
+
+ /**
+ * The default value of the '{@link #getSourceId() <em>Source Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSourceId()
+ * @generated
+ * @ordered
+ */
+ protected static final String SOURCE_ID_DEFAULT_ = null;
+
+ /**
+ * The cached value of the '{@link #getSourceId() <em>Source Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSourceId()
+ * @generated
+ * @ordered
+ */
+ protected String sourceId = SOURCE_ID_DEFAULT_;
+
+ /**
+ * The default value of the '{@link #isUnread() <em>Unread</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnread()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UNREAD_DEFAULT_ = false;
+
+ /**
+ * The cached value of the '{@link #isUnread() <em>Unread</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnread()
+ * @generated
+ * @ordered
+ */
+ protected boolean unread = UNREAD_DEFAULT_;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_DEFAULT_ = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_DEFAULT_;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AlertTypeNonSDOImpl()
+ {
+ super();
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTitle()
+ {
+ return title;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTitle(String newTitle)
+ {
+ title = newTitle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSummary()
+ {
+ return summary;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSummary(String newSummary)
+ {
+ summary = newSummary;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAddress()
+ {
+ return address;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAddress(String newAddress)
+ {
+ address = newAddress;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDate()
+ {
+ return date;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDate(String newDate)
+ {
+ date = newDate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSourceId()
+ {
+ return sourceId;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSourceId(String newSourceId)
+ {
+ sourceId = newSourceId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnread()
+ {
+ return unread;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnread(boolean newUnread)
+ {
+ unread = newUnread;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId()
+ {
+ return id;
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId)
+ {
+ id = newId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString()
+ {
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (Title: ");
+ result.append(title);
+ result.append(", Summary: ");
+ result.append(summary);
+ result.append(", Address: ");
+ result.append(address);
+ result.append(", Date: ");
+ result.append(date);
+ result.append(", SourceId: ");
+ result.append(sourceId);
+ result.append(", Unread: ");
+ result.append(unread);
+ result.append(", Id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AlertTypeImpl
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertTypeNonSDOImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertTypeNonSDOImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsServiceImpl.java?view=diff&rev=543501&r1=543500&r2=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsServiceImpl.java (original)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsServiceImpl.java Fri Jun 1 08:22:50 2007
@@ -19,12 +19,16 @@
package org.apache.tuscany.sca.samples.aggregator;
+import java.text.DateFormat;
+import java.util.Date;
import java.util.List;
import org.apache.tuscany.sca.samples.aggregator.types.ConfigType;
+import org.apache.tuscany.sca.samples.aggregator.types.SourceType;
import org.apache.tuscany.sca.samples.aggregator.types.TypesFactory;
import org.apache.tuscany.sca.samples.aggregator.types.AlertsType;
import org.apache.tuscany.sca.samples.aggregator.types.AlertType;
+import org.apache.tuscany.sca.samples.aggregator.types.impl.AlertsTypeImpl;
import org.osoa.sca.annotations.Service;
import org.osoa.sca.annotations.Reference;
@@ -37,13 +41,20 @@
@Service(AlertsService.class)
public class AlertsServiceImpl {
- private RSSCheckerService rssChecker;
+ private RSSCheckerService rssChecker;
+
+ private AlertsSourcesService alertsSources;
@Reference
public void setRssChecker(RSSCheckerService rssChecker) {
this.rssChecker = rssChecker;
}
+ @Reference
+ public void alertsSources(AlertsSourcesService alertsSources) {
+ this.alertsSources = alertsSources;
+ }
+
/**
* Return a structure holding all of the new alerts that have been found
*
@@ -53,23 +64,60 @@
{
System.err.println("getAllNewAlerts(" + id + ")");
- TypesFactory factory = TypesFactory.INSTANCE;
- AlertsType returnAlerts = factory.createAlertsType();
+ //TypesFactory factory = TypesFactory.INSTANCE;
+ //AlertsType returnAlerts = factory.createAlertsType();
+ AlertsType returnAlerts = new AlertsTypeNonSDOImpl();
+ List returnAlertList = returnAlerts.getAlert();
- List alertList = returnAlerts.getAlert();
+ // get the date/time now so that we can update the
+ // alert source record so that next time we
+ // only get the latest alerts
+ DateFormat dateFormatter = DateFormat.getDateTimeInstance();
+ Date now = new Date();
+ String nowString = dateFormatter.format(now);
+
+ ConfigType alertSourceConfig = alertsSources.getAlertSources(id);
- AlertType newAlert = factory.createAlertType();
- newAlert.setTitle("Test Alert");
- newAlert.setSummary("Test Summary");
- newAlert.setAddress("www.bbc.co.uk");
- newAlert.setDate("230407");
- newAlert.setId("123");
- newAlert.setUnread(true);
- newAlert.setId("ABC");
-
- alertList.add(newAlert);
+ for (Object source : alertSourceConfig.getSource()){
+ SourceType sourceType = (SourceType)source;
+
+ AlertsType alerts = null;
+
+ if ( sourceType.getType_().equals("rss")){
+ alerts = rssChecker.getNewAlerts(sourceType.getFeedAddress(),
+ sourceType.getLastChecked());
+ } else {
+
+ }
+
+ // extend return list with any alerts we found
+ for( Object alert : alerts.getAlert() ){
+ // set the id on the alert so we know which source it
+ // came from
+ ((AlertType)alert).setSourceId(sourceType.getId());
+
+ // convert from SDO to POJO so that the
+ // JSONRPC binding will work. It can't currently
+ // handle SDOs
+ AlertType newAlert = new AlertTypeNonSDOImpl();
+
+ newAlert.setSourceId(((AlertType)alert).getSourceId());
+ newAlert.setTitle(((AlertType)alert).getTitle());
+ newAlert.setSummary(((AlertType)alert).getSummary());
+ newAlert.setAddress(((AlertType)alert).getAddress());
+ newAlert.setDate("Thu May 31 09:42:00");//((AlertType)alert).getDate());
+ newAlert.setId(((AlertType)alert).getId());
+ newAlert.setUnread(((AlertType)alert).isUnread());
+
+ returnAlertList.add(newAlert);
+ }
+
+ // update the time last checked for this source
+ sourceType.setLastChecked(nowString);
+ //alertsSources.updateAlertSource(sourceType);
+ }
- return returnAlerts;
+ return returnAlerts ;
}
}
Modified: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesService.java?view=diff&rev=543501&r1=543500&r2=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesService.java (original)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesService.java Fri Jun 1 08:22:50 2007
@@ -20,6 +20,7 @@
package org.apache.tuscany.sca.samples.aggregator;
import org.apache.tuscany.sca.samples.aggregator.types.ConfigType;
+import org.apache.tuscany.sca.samples.aggregator.types.SourceType;
import org.osoa.sca.annotations.Remotable;
import org.osoa.sca.annotations.Service;
@@ -39,5 +40,33 @@
* @return the list of alert sources
*/
public ConfigType getAlertSources (String id);
+
+ /**
+ * Return a single alert source.
+ * @param id not currently used
+ * @return the alert source
+ */
+ public SourceType getAlertSource (String id);
+
+ /**
+ * Update an alert source.
+ *
+ * @param updatedSource the alert source to update
+ */
+ public void updateAlertSource (SourceType updatedSource);
+
+ /**
+ * Add an alert source.
+ *
+ * @param newSource the alert source to add
+ */
+ public String addAlertSource (SourceType newSource);
+
+ /**
+ * Remove an alert source.
+ *
+ * @param oldSource the alert source to remove
+ */
+ public void removeAlertSource (String id);
}
Modified: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesServiceImpl.java?view=diff&rev=543501&r1=543500&r2=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesServiceImpl.java (original)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsSourcesServiceImpl.java Fri Jun 1 08:22:50 2007
@@ -23,12 +23,16 @@
import java.io.InputStream;
import java.util.List;
+import org.apache.tuscany.sca.samples.aggregator.types.AlertsType;
import org.apache.tuscany.sca.samples.aggregator.types.ConfigType;
+import org.apache.tuscany.sca.samples.aggregator.types.SourceType;
import org.apache.tuscany.sca.samples.aggregator.types.TypesFactory;
import org.apache.tuscany.sca.samples.aggregator.types.impl.ConfigTypeImpl;
+import org.apache.tuscany.sca.samples.aggregator.types.impl.SourceTypeImpl;
import org.apache.tuscany.sdo.helper.XMLStreamHelper;
import org.apache.tuscany.sdo.util.SDOUtil;
+import org.osoa.sca.annotations.Scope;
import org.osoa.sca.annotations.Service;
import commonj.sdo.DataObject;
@@ -43,7 +47,33 @@
* @version $Rev$ $Date$
*/
@Service(AlertsSourcesService.class)
+@Scope("COMPOSITE")
public class AlertsSourcesServiceImpl {
+
+ ConfigType alertSources;
+
+ /**
+ * Constructor reads the configuration to provide
+ * the initial list of alert sources
+ */
+ public AlertsSourcesServiceImpl(){
+ System.err.println("AlertsSourcesServiceImpl()");
+ try {
+ // read the alerts config from an XML file
+ InputStream is = this.getClass().getClassLoader().getResourceAsStream("sources.xml");
+
+ if (is == null) {
+ throw new Exception("Can;t find sources.xml");
+ } else {
+ HelperContext helperContext = HelperProvider.getDefaultContext();
+ TypesFactory.INSTANCE.register(helperContext);
+ XMLDocument xmlDoc = helperContext.getXMLHelper().load(is);
+ alertSources = (ConfigType)xmlDoc.getRootObject();
+ }
+ } catch (Exception ex) {
+ System.err.println("Exception " + ex.toString());
+ }
+ }
/**
* Return all of the configured alert sources.
@@ -51,23 +81,103 @@
* @return the list of alert sources
*/
public ConfigType getAlertSources (String id)
- {
- System.err.println("getAlertSources(" + id + ")");
- Object config = null;
-
- try
- {
- HelperContext helperContext = HelperProvider.getDefaultContext();
- TypesFactory.INSTANCE.register(helperContext);
- InputStream is = this.getClass().getResourceAsStream("/sources.xml");
- XMLDocument xmlDoc = XMLHelper.INSTANCE.load(is);
- config = xmlDoc.getRootObject();
- } catch(Exception e) {
- System.out.println("Reading sources.xml - Exception : " + e.toString());
- e.printStackTrace();
+ {
+ System.err.println("getAlertSources(" + id + ")");
+
+ // convert alert sources to POJOs so that
+ // the JSONRPC binding will work
+ ConfigTypeNonSDOImpl sources = new ConfigTypeNonSDOImpl();
+
+ for (Object source : alertSources.getSource()) {
+ SourceTypeNonSDOImpl newSource = new SourceTypeNonSDOImpl();
+ newSource.setAddress(((SourceTypeImpl)source).getAddress());
+ newSource.setFeedAddress(((SourceTypeImpl)source).getFeedAddress());
+ newSource.setId(((SourceTypeImpl)source).getId());
+ newSource.setLastChecked("");//((SourceTypeImpl)source).getLastChecked())
+ newSource.setName(((SourceTypeImpl)source).getName());
+ newSource.setType(((SourceTypeImpl)source).getType_());
+ sources.getSource().add(newSource);
}
-
- // return the SDO retrieved
- return (ConfigType)config;
+
+ return sources;
}
+
+ /**
+ * Return a single alert source.
+ * @param id the alert source id number
+ * @return the alert source
+ */
+ public SourceType getAlertSource (String id)
+ {
+ System.err.println("getAlertSource(" + id + ")");
+ SourceType alertSource = null;
+
+ for (Object source : alertSources.getSource()) {
+ if ( ((SourceType)source).getId().equals(id)) {
+ alertSource = (SourceType)source;
+ }
+ }
+ return alertSource;
+ }
+
+ /**
+ * Update an alert source.
+ *
+ * @param updatedSource the alert source to update
+ */
+ public void updateAlertSource (SourceType updatedSource)
+ {
+ System.err.println("updateAlertSource()");
+
+ Object originalSource = null;
+
+ for (Object source : alertSources.getSource()) {
+ if ( ((SourceType)source).getId().equals(updatedSource.getId())) {
+ originalSource = source;
+ break;
+ }
+ }
+
+ if (originalSource != null){
+ alertSources.getSource().add(updatedSource);
+ alertSources.getSource().remove(originalSource);
+ }
+ }
+
+ /**
+ * Add an alert source.
+ *
+ * @param newSource the alert source to add
+ */
+ public String addAlertSource (SourceType newSource)
+ {
+ System.err.println("addAlertSource()");
+ alertSources.getSource().add(newSource);
+ return "Done";
+ }
+
+ /**
+ * Remove an alert source.
+ *
+ * @param oldSource the alert source to remove
+ */
+ public void removeAlertSource (String id)
+ {
+ System.err.println("removeAlertSource()");
+
+ Object originalSource = null;
+
+ for (Object source : alertSources.getSource()) {
+ if ( ((SourceType)source).getId().equals(id)) {
+ originalSource = source;
+ break;
+ }
+ }
+
+ if (originalSource != null) {
+ alertSources.getSource().remove(originalSource);
+ }
+
+ }
+
}
Added: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsTypeNonSDOImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsTypeNonSDOImpl.java?view=auto&rev=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsTypeNonSDOImpl.java (added)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsTypeNonSDOImpl.java Fri Jun 1 08:22:50 2007
@@ -0,0 +1,68 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sca.samples.aggregator;
+
+import commonj.sdo.Type;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.tuscany.sca.samples.aggregator.types.AlertType;
+import org.apache.tuscany.sca.samples.aggregator.types.AlertsType;
+import org.apache.tuscany.sca.samples.aggregator.types.TypesFactory;
+
+import org.apache.tuscany.sdo.impl.DataObjectBase;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Alerts Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.apache.tuscany.sca.samples.aggregator.types.impl.AlertsTypeImpl#getAlert <em>Alert</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AlertsTypeNonSDOImpl implements AlertsType
+{
+
+ /**
+ * The cached value of the '{@link #getAlert() <em>Alert</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAlert()
+ * @generated
+ * @ordered
+ */
+
+ protected List alert = new ArrayList();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AlertsTypeNonSDOImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getAlert()
+ {
+ return alert;
+ }
+
+} //AlertsTypeImpl
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsTypeNonSDOImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/AlertsTypeNonSDOImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/ConfigTypeNonSDOImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/ConfigTypeNonSDOImpl.java?view=auto&rev=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/ConfigTypeNonSDOImpl.java (added)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/ConfigTypeNonSDOImpl.java Fri Jun 1 08:22:50 2007
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.tuscany.sca.samples.aggregator;
+
+import commonj.sdo.Type;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.tuscany.sca.samples.aggregator.types.ConfigType;
+import org.apache.tuscany.sca.samples.aggregator.types.SourceType;
+import org.apache.tuscany.sca.samples.aggregator.types.TypesFactory;
+
+import org.apache.tuscany.sdo.impl.DataObjectBase;
+
+
+public class ConfigTypeNonSDOImpl implements ConfigType
+{
+
+ protected List source = new ArrayList();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigTypeNonSDOImpl()
+ {
+ super();
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public List getSource()
+ {
+ return source;
+ }
+
+
+} //ConfigTypeImpl
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/ConfigTypeNonSDOImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/ConfigTypeNonSDOImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerService.java?view=diff&rev=543501&r1=543500&r2=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerService.java (original)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerService.java Fri Jun 1 08:22:50 2007
@@ -18,11 +18,13 @@
*/
package org.apache.tuscany.sca.samples.aggregator;
+import org.apache.tuscany.sca.samples.aggregator.types.AlertsType;
+
/**
* The interface for the rss checker service
*/
public interface RSSCheckerService {
- public String getNewAlerts(String rssaddress, String lastchecktimestamp);
+ public AlertsType getNewAlerts(String rssaddress, String lastchecktimestamp);
}
Added: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerServiceImpl.java?view=auto&rev=543501
==============================================================================
--- incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerServiceImpl.java (added)
+++ incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerServiceImpl.java Fri Jun 1 08:22:50 2007
@@ -0,0 +1,87 @@
+/*
+ * 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.
+ */
+package org.apache.tuscany.sca.samples.aggregator;
+
+import java.net.URL;
+import java.util.Date;
+import java.util.List;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+
+import org.apache.tuscany.sca.samples.aggregator.types.AlertType;
+import org.apache.tuscany.sca.samples.aggregator.types.AlertsType;
+import org.apache.tuscany.sca.samples.aggregator.types.TypesFactory;
+
+import com.sun.syndication.feed.synd.SyndEntry;
+import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.SyndFeedInput;
+import com.sun.syndication.io.XmlReader;
+
+/**
+ * The interface for the rss checker service
+ */
+public class RSSCheckerServiceImpl implements RSSCheckerService {
+
+ public AlertsType getNewAlerts(String rssaddress, String lastchecktimestamp){
+ // Create the list of alerts to return
+ TypesFactory factory = TypesFactory.INSTANCE;
+ AlertsType returnAlerts = factory.createAlertsType();
+ List returnAlertList = returnAlerts.getAlert();
+
+ try {
+ // Turn the date into something we can process.
+ DateFormat dateFormatter = DateFormat.getDateTimeInstance();
+ Date timestamp = dateFormatter.parse(lastchecktimestamp);
+
+ // get the feed data from the supplied address
+ SyndFeedInput input = new SyndFeedInput();
+ SyndFeed feed = input.build(new XmlReader(new URL(rssaddress)));
+ //System.out.println(feed);
+
+ // check all the items to see if we have seen them before
+ List entries = feed.getEntries();
+ for(Object entry: entries){
+ SyndEntry syndEntry = (SyndEntry)entry;
+
+ if (syndEntry.getPublishedDate().after(timestamp)){
+ AlertType newAlert = factory.createAlertType();
+
+ newAlert.setTitle(syndEntry.getTitle());
+ // newAlert.setSummary("<![CDATA[" +
+ // syndEntry.getDescription().getValue() +
+ // "]]>");
+ newAlert.setSummary("");
+ newAlert.setAddress(syndEntry.getLink());
+ newAlert.setDate(syndEntry.getPublishedDate().toString());
+ newAlert.setId(rssaddress);
+ newAlert.setUnread(true);
+
+ returnAlertList.add(newAlert);
+ }
+ }
+
+ } catch(Exception ex) {
+ System.err.println("Exception " + ex.toString());
+ }
+
+ return returnAlerts;
+ }
+
+}
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerServiceImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/sandbox/slaws/feed-aggregator/src/main/java/org/apache/tuscany/sca/samples/aggregator/RSSCheckerServiceImpl.java
------------------------------------------------------------------------------
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