Updater: add an appropriate FilesCollection#remove(Object)

This method needs to be aware of versioned filenames now.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing): Add javadoc to the SitesDialog

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing): depend on the Java Wiki Bot Framework

... to read the information from the Fiji Wiki about which update
sites are available.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing): add a function to enumerate the update sites

... as per http://fiji.sc/List_of_update_sites.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing): we cannot use JWBF

... because it uses JDom in an older version than Fiji requires.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: store more information in the UpdateSite class

We really do not need an extra class in the GUI just to have
information whether the site is active in the user directory, and
description and maintainer information.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing) Manage Update Sites: show the 'active' column

In one of the next commits, we will show inactive update sites, too.

While at it, use the new and enhanced UpdateSite class internally.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing) Manage Update Sites: use update site list from the Fiji Wiki

The Fiji Wiki has the page

	http://fiji.sc/List_of_update_sites

which all ImageJ users are welcome to add their update sites to. To make
things really convenient, we now offer that list in the 'Manage Update
Sites' dialog of the Updater's advanced mode.

This addresses http://trac.imagej.net/ticket/1842.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing) Manage Update Sites: make list larger

Now that we populate the list from the update sites publicized via
the Fiji Wiki, we need more screen estate.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing) Manage Update Sites: show description/maintainer
in tooltips

The description and maintainer information from the Fiji Wiki should
also be made available to the interested user...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing) Manage Update Sites: simplify 'Add' handling

Since we can have inactive update sites in the site list now, let's
use that mechanism for manually adding update sites.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: add url and upload directory setters to the UpdateSite class

They really wanted to be setters all along because they require a
trailing slash.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: move the UpdateSite class into its own file

While at it, enforce the use of getters and setters (as seen with
the URL and the upload directory, it is a good idea to have setters
to be able to enforce certain formats.

Since this is an API-changing commit, it requires fixes in all uploaders,
and in Fiji's Fix_Updater.js, too.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing) Manage Update Sites: only update String values after editing

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing): reconcile activateUpdateSite() and readUpdateSite()

These two methods really wanted to do the same to begin with.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
UpdateSites: rename the 'sshHost' field to 'host'

It is really no longer limited to an SSH host.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (Swing) Manage Update Sites: optionally add a personal update site

Now that every ImageJ user can offer their own plugins/macros via their
own update site at http://sites.imagej.net/<username>/ (where <username>
is the name of a Fiji Wiki account), we can make it much easier to add
that site.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
MediaWikiClient: add #userExists(String)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Simplify MediaWikiClient

For the user of the MediaWiki client, all of the internal errors are
basically I/O issues, so let's wrap the exceptions into an IOException
even if they weren't such exceptions before.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Prepare MediaWikiClient for more API functions

In the next few commits, we will add support for API functions we
introduced in the Fiji Wiki for the specific purpose of supporting
personal update sites better.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>