Demo Mockup

What each part does. My hand=
writing is a wee bit sloppy but you should be able to tease out the intent.=

=20

The Geotools demo is a simple swing app, on the left a column of buttons=
, on the right, at the top an info area and below a mappane.

=20

The user works sequentially throught the buttons. The button state there=
fore changes. Buttons are either already pressed, pressable (only the next =
one), or greyed out.

=20

The info area gives a sequence of reports on what has happened (or maybe=
holds a list of the elements that have been created).

=20

The map area shows the data, first unprojected then in a Mercator projec=
tion.

=20

The app would reside in demo/introduction but would be built by calling =
static methods in each of the different demo/directories. Obviously each di=
rectory would also have more advanced demos which are not part of the initi=
al tour. For example the demo/geometry/ directory would have advanced tutor=
ials on doing analyzes with geometries: buffers, intersections and such thi=
ngs.

=20

The buttons would do the following:

=20

1) "create" =3D> feature sources are created from scratch, =
shapefile, database and WFS-T. Ideally these would be added into a catalog.=

=20

=20

demo/geom

=20

demo/feature

=20

demo/catalog

=20

=20

2) "Style" =3D> Styles are created from scratch, shapefile,=
database and WFS-T.

=20

=20

demo/style

=20

=20

3) "Render" =3D> The data are shown but unprojected.

=20

=20

demo/mappane

=20

=20

4) "Project" =3D> A ProjectedCRS is built and used to redis=
play the data as mercator.

=20

=20

demo/referencing

=20

=20

5) "Filter" =3D> A filter sub-selects the data

=20

=20

demo/filter

=20

=20

6) "Print" =3D> Make a high resolution image

=20

=20

demo/print

=20

=20

7) "Save" =3D> create a GML or a shapefile

=20

8) "Commit" =3D> make a transaction with a WFS-T

=20

9) "Analyze" =3D> for now only the graph module

=20

The main() method of the app would create the GUI framework and then dis=
patch the button presses in sequence to methods from files in different dir=
ectories. Initially, for a first take, I'm aiming to simply have one giant =
class of static methods. This will then be cannabilized into files in each =
separate area of the demo/ directory.