dcache-webadmin: fix page update

This patch addresses several RT tickets stemming from the same problem, one which has already been corrected for the CellServices page (see http://rb.dcache.org/r/5807).

This has to do with the way Wicket PropertyModels were provided for pages which maintain lists which need to be updated through the service layer.  In most of these cases, the list was set in the constructor but was never updated during page/form refresh.  The changes adopted here follow the same general pattern of replacing the field accessed by the model with a getter method which also takes care of calling the service to update the collection in question.

A separate patch will be needed for 2.6.

Testing:

Junit tests rerun.  Redeployed and checked updating by enabling/disabling pools.

RELEASE NOTES:
Fixes an issue with some of the tables in the webadmin service which were not refreshing.  Update correctly occurs now on reload, resubmission of the form through link clicking.

Target: master
Patch: http://rb.dcache.org/r/6080
Require-notes: yes
Require-book: no
Bug: http://rt.dcache.org/Ticket/Display.html?id=7929
Bug: http://rt.dcache.org/Ticket/Display.html?id=7964
Bug: http://rt.dcache.org/Ticket/Display.html?id=7983
Acked-by: Gerd
Acked-by: Tigran
dcache-webadmin: fix table sorting for all relevant pages

This patch addresses both a general and specific problem.  Sorting of tables via javascript was not working universally.  This depended on the following sub-issues:

1.  The change to Wicket 1.6 also changed the order in which script is added to the header (as well as the underlying Java APIs for dealing with it); in its current state, this was producing inconsistent nesting of scripts which the browser could not handle.

2.  The sorting code in javascript depended on css id (#), but if there is more than one table per page, this does not work for the subsequent tables.

3.  Not all relevant tables were tagged correctly.

To address the first issue, some refactoring was done.  BasePage now has a subclass, SortableBasePage.  The base page provides an adapter inner method for rendering the page head markup which should be overridden (always calling super first) with the specific script or references for that subclass.  The page itself should provide all the necessary head material for any of the panels it may use.

The second issue is fixed by altering the css and the javascript to use class instead of id.

The final issue was fixed by adding the necessary "class=sortable" marker to the table.

A separate patch will be necessary for 2.6.

The bug reference below is really more of a feature request which is only partially handled here.

Testing:

Clicking around by hand.

Target: master
Patch: http://rb.dcache.org/r/6083
Bug: http://rt.dcache.org/Ticket/Display.html?id=7938
Require-notes: yes
Require-book: no
Acked-by: Gerd

RELEASE NOTES:
Fixes issues preventing the sorting of tables and subtables in webadmin.
dcache-webadmin: add autorefresh to appropriate pages

Adds Ajax auto refresh behavior to appropriate webadmin pages.

This entails the addition of a few shared protected methods, and the adjusting of markup accordingly.

Testing:

Redeployed and observed changes effected through admin service.

Target: master
Patch: http://rb.dcache.org/r/6085/
Require-notes: yes
Require-book: no
Acked-by: Tigran

RELEASE NOTES
CellServices, PoolQueues, PoolGroups, Active and Tape transfer pages now autorefresh, in addition to Alarms, Billing and PoolQueue plots.
chimera: use ArrayList instead of LinedList

NFS listing is heavy with List#get operations, which
is the weakest point for LinkedList. This change improves
listing of jumbo directories ( ~100k files ) by factor of 10.

RELEASE NOTES:
speedup directory listing of large directories

Acked-by:
Target: master, 2.6
Require-book: no
Require-notes: yes