Apache Sling Webloader Sample Service

---------------------------------------
Sling Webloader sample - OSGi service
---------------------------------------
This is the service component of the Webloader sample, this bundle provides
a service according to the org.apache.sling.samples.webloader.Webloader
interface.

The sibling "webloader.ui" bundle provides an example user interface.

Running the demo 
================

For details on running this demo, see the Webloader UI component README.txt 

The latest source code for this component is available in the
Subversion (http://subversion.tigris.org/) source repository of
the Apache Software Foundation. If you have Subversion installed,
you can checkout the latest source using the following command:

    svn checkout http://svn.apache.org/repos/asf/sling/trunk/samples/webloader/service

See the Subversion documentation for other source control features.