Feed-aggregator-webapp Sample
=============================
This sample demonstrates using the Feed binding to aggregate ATOM and RSS
feeds and publish a new aggregated feed in a webapp.

The README in the samples directory (the directory above this) provides 
general instructions about building and running samples. Take a look there 
first. 

As this sample provides a web app there is a manual step where the WAR file
that contains the sample is copied to your web app container. If you just want to 
give this sample a go, deploy the WAR file (target/sample-feed-aggregator-webapp.war)
to your web application server. 

To save space, the WAR file isn't included in the binary distribution. You can
build it by following the instructions below in "Building And Running The Sample
Using Ant" or "Building And Running The Sample Using Maven". 
  
Once the web app is deployed use your browser to visit the following URL:

http://localhost:8080/sample-feed-aggregator-webapp

The port and hostname will of course vary depending on your local installation. 

You will then see the following displayed in your Web browser. 

http://{server-host}:{server-port}/sample-feed-aggregator-webapp/atomAggregator
http://{server-host}:{server-port}/sample-feed-aggregator-webapp/atomAggregator/atomsvc 
http://{server-host}:{server-port}/sample-feed-aggregator-webapp/rssAggregator

** Please note that if your browser is not configured correctly to receive
feed information, you will be prompted to open each file that contains the feed
information in xml.


Building And Running The Sample Using Ant 
-------------------------------------------
With the binary distribution the sample can be built using Ant as 
follows

cd feed-aggregator-webapp
ant package

This should result in a war file (sample-feed-aggregator-webapp.war) in the
target directory. Copy this war file to your web app deployment directory and
follow instructions at the begining of this README.


Building And Running The Sample Using Maven 
-------------------------------------------
With either the binary or source distributions the sample can be built and run 
using Maven as follows. 

cd feed-aggregator-webapp 
mvn

This should result in a war file (sample-feed-aggregator-webapp.war) in the
target directory. Follow the steps described in the previous section for
running the web app and for the expected results.


