Hide menu

Lab 2: Components and interaction

In this lab, you will extend your previous small application in a way that the user will be able to read data from the server, upload data on it and enjoy the drag and drop functionality.


    Proceed with the StockWatcher tutorial (with your own data) and apply the following modifications to your project :
    • Add the ability to populate your table with your own tabular data read from the server. Follow the instructions in the tutorial and exchange the random-generated data supplied by the code listed under the heading Write the server-side implementation with code that reads your tabular data from the server. (In this lab the data on the server can be stored in files or just use temporary variables) .
    • Add the ability to upload new data to the server using the GWT TextArea widget from your browser. (To write files to disk, Google App Engine must be disabled. If you want to keep GAE on, you can keep the data in memory rather than on file. There is a checkbox for disabling the App Engine in Project Properties (use Project -> Properties -> Google -> App Engine uncheck "Use Google App Engine") )
    • Include the drag and drop functionality by using the GWT-DND 3rd party library or the GWT built-in drag and drop facilities. Your application will let the users to drag a row from the table and drop it to the target which is a component at the right of the table. When dropping the rows on the drop target, the target component shall be updated with the information extracted from the selected row.

Additional Resources

    • A tutorial on GWT-DND library.
      Avoid copying from the code, Instead follow the approach. It is highly recommended to check out the GWT-DND examples and investigate the code to have a better understanding of the issue.
    • Please try the Population Information Console V2 as a sample application. This application shows how your apps need to look like in the end.
    • Watch a screen cast on the Population Information Console V2 application.
    • Note: In this sample application, having data query from the server and server side randomization for some data properties at the same time is optional. You are required to implement the data query from the server at minimum. please notice that no periodically updating table is required when there is no changing data property. You only need to update the table after each query.

See the course examination page for instructions about examination of this lab.

Page responsible: Henrik Eriksson
Last updated: 2013-01-27