  Introduction
  ------------
  This is a sample Java application designed to showcase the functionality of 
  the File System Service. This feature allows you to list, download, upload 
  and remove files, remotely, on the device file system.
  
  Once the connection is established, the application waits for upload file 
  events. When this kind of events occurs, the file is processed by the device 
  and, only if it is included in the application's library list, the contents 
  are printed line by line.


  Main files
  ----------
    * com.etherios.connector.filesystem.MainApp.java:
      Main application class. Instantiates and starts the Cloud Connector object.

    * com.etherios.connector.filesystem.ConnectorEventsListener.java: 
      Class that handles the connector events.

    * com.etherios.connector.filesystem.Library.java:
      Class to print out the uploaded file.

    * connector_config.txt:
      Cloud Connector general settings.

    * books/quijote.txt
      books/hamlet.txt
      Text files to upload to the device.


  Requirements
  ------------
  To run this example you will need:
    * A PC connected to the Internet to host and run the application.
    * A Device Cloud account.
      For further information on how to create a Device Cloud account go to
      the 'Creating a Device Cloud Account' topic of the Getting Started.


  Example setup
  -------------
    1) Ensure Cloud Connector is properly configured.
       This can be done editing the 'connector_config.txt' file which is 
       located in the 'res' folder of the project. Make sure that the 
       'vendor_id' field is filled with your account Vendor ID.
       
       For further information on how to configure the 'connector_config.txt'
       file, go to the 'Cloud Connector Configuration' topic of the
       Developer's Guide.

    2) Ensure the device is registered in your Device Cloud account.
       By default, it is registered automatically because the Device ID is 
       provisioned from Device Cloud. If you want to modify this behavior, 
       read the 'Device ID Type' section (Developer's Guide > Cloud Connector 
       Configuration > General Settings).

    3) The Application Descriptor needs the following API Permissions:
        
        java.io.FilePermission "<<ALL FILES>>" "read"
        java.util.PropertyPermission "*" "read,write"
        javax.microedition.io.AccessPointPermission "*"
        javax.microedition.io.Connector.file.read
        javax.microedition.io.Connector.file.write
        javax.microedition.io.SocketProtocolPermission "socket://:*"
        javax.microedition.io.SocketProtocolPermission "socket://*:*"
        javax.microedition.io.SSLProtocolPermission "ssl://:*"
        javax.microedition.io.SSLProtocolPermission "ssl://*:*"
        javax.microedition.location.LocationPermission "location" "location"

    4) The Etherios public certificate is imported to the device's keystore.
       For further information, read the 'Adding the Etherios Certificate to
       Your Device' topic inside 'Creating and Building a Java Project with 
       Cloud Connector support' of the Developer's Guide.


  Running the example
  -------------------
  The example is already configured, so all you need to do is to build and 
  launch the application. Refer to the general instructions about how to build, 
  run, and debug the examples for further information.

  To verify that the application is running successfully, follow these steps:

     1) Login into your Device Cloud account.

     2) Once logged in select the 'Devices' menu within the 'Device Management' 
        tab.

     3) Verify that your device is connected (you can also check it from the
        output of the logger).

     4) Double-click on the device to open its 'Properties' page.

     5) Select the 'File Management' option from the menu displayed on the left;
        the file system of the device will appear within the right side of the 
        page.

     6) Click the 'Upload File' button (first button within the toolbar); the
        'Upload File' dialog will be displayed. You will use this dialog to 
        upload a file from your machine.

     7) Click the 'Browse...' button and locate the 'hamlet.txt' or 
        'quijote.txt' file stored within the 'books' folder of this project. 
        Once selected, click the 'OK' button to transfer the file.

     8) After uploading the 'quijote.txt' file, the application will start
        printing every line to the standard output.

  For more information about the configuration and use of the File System 
  service, refer to the Developer's Guide.
