view flys-client/ChangeLog @ 87:c8cd1b918901

Bugfix: Step back will remove duplicated output tab and an extended chart image URL bypasses the browser cache. flys-client/trunk@1599 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 28 Mar 2011 17:04:17 +0000
parents eae92a05282e
children 4d7c6a63602b
line wrap: on
line source
2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/CollectionItem.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultCollectionItem.java:
	  A CollectionItem has a hash() method now. The value comes from the
	  Collection's DESCRIBE document.

	* src/main/java/de/intevation/flys/client/server/AddArtifactServiceImpl.java:
	  The hash value of a collection item is parsed from DESCRIBE document.

	* src/main/java/de/intevation/flys/client/client/ui/ChartOutputTab.java:
	  Appended the hash value of the artifact to the URL of the chart image.
	  This bypasses the browser cache of a previous chart image.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  A parameterization change will always remove all output tabs before
	  updating the output tab panel.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java:
	  Modified existing string and added a new one.

	* src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java:
	  Added a further radio button for a plugin and changed the alignment of
	  the radio button to vertical.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ChartOutputTab.java:
	  Removed the "TODO: ThemeEditor" label.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Removed the date string from title bar.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/UIProvider.java,
	  src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java:
	  A UIProvider might now have a panel that can be used to render helper
	  widgets. E.g. the river selection will render its river map into this
	  panel. It is injected and can be placed somewhere around the
	  application.

	* src/main/java/de/intevation/flys/client/client/ui/ParameterList.java:
	  Injected the right panel of the parameter panel into the UIProvider.
	  Helper widgets are rendered into this panel now!

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/MapSelection.java,
	  src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java,
	  src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java:
	  Some layout improvements (heights, position of elements and so far).

2011-03-28  Raimund Renkert <rrenkert@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/MainMenu.java: The project
	list button toggles the project list now.

2011-03-28  Raimund Renkert <rrenkert@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java:
	  Replaced next button image with smartgwt button.

	* src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Removed
	 button path, added text for new button.

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties:
	  Removed image path, added english text for button.

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties:
	  Removed image path, added german text for button.

2011-03-28  Raimund Renkert <rrenkert@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added text
	  for FLYSFooter.

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties:
	  Added german text for footer label.

	* src/main/java/de/intevation/flys/client/client/ui/FLYSFooter.java: New. A
	  new ui element at the bottom of the page.

	* src/main/java/de/intevation/flys/client/client/FLYS.java: Added footer
	  element to FLYS webpage.

2011-03-28  Raimund Renkert <rrenkert@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ProjectList.java:
	  Customized ProjectList style.
	* src/main/java/de/intevation/flys/client/client/ui/FLYSView.java: Set
	  background color and size constraints.

	* src/main/webapp/FLYS.css: Added background style.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ChartOutputTab.java:
	  The right side of this panel displays an image now. This image
	  represents a chart that is generated by an artifact. The request is made
	  up in the ChartOutputServiceImpl.

	* src/main/java/de/intevation/flys/client/server/ChartOutputServiceImpl.java:
	  New. This service creates the request to retrieve chart images and
	  writes the response to the output stream.

	  NOTE: This service is not asynchron! It is derived directly from
	  HttpServlet.

	* src/main/webapp/WEB-INF/web.xml: Registered the ChartOutputService.

2011-03-25  Raimund Renkert <rrenkert@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Limited the area for CollectionView to the size of FLYSWorkspace.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/OutputTab.java: Fixed
	  a typo.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ChartOutputTab.java:
	  An OutputTab with two panels. The left one is not implemented yet
	  (ThemeEditor). The right one will display an image.

	* src/main/java/de/intevation/flys/client/client/ui/OutputTab.java: The
	  content pane is set in the constructor.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  New output tabs will use the ChartOutputTab.

	  NOTE: We should move the code that constructs the concrete output tabs
	  into a factory class that decides which OutputTab has to be used.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  The tab bar is extended with output tabs if the artifact used for the
	  parameterization reaches a state with output modes.

	* src/main/java/de/intevation/flys/client/client/ui/OutputTab.java: A
	  base class that might be used to derive concrete output tabs for charts,
	  maps and so on.

2011-03-28  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java,
	  src/main/java/de/intevation/flys/client/client/ui/ParameterList.java:
	  Moved parameterization specific code from CollectionView to
	  ParameterList.

2011-03-26  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java,
	  src/main/java/de/intevation/flys/client/client/ui/ParameterList.java:
	  Moved ParameterList specific code into the ParameterList.

2011-03-25  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/services/CreateCollectionService.java,
	  src/main/java/de/intevation/flys/client/client/services/CreateCollectionServiceAsync.java,
	  src/main/java/de/intevation/flys/client/server/CreateCollectionServiceImpl.java:
	  Changed the return type to 'Collection' - returned a UUID (String)
	  before.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  The artifact is put into the collection (or new collection) if we reach
	  a step in the parameterization in that an artifact has reachable
	  outputs. Furthermore, some adjustments related to the changes of the
	  return type in the CreateCollectionService.

2011-03-25  Ingo Weinzierl <ingo@intevation.de>

	* src/main/webapp/WEB-INF/web.xml: Made the AddArtifactService accessible.

2011-03-25  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/services/AddArtifactServiceAsync.java,
	  src/main/java/de/intevation/flys/client/client/services/AddArtifactService.java,
	  src/main/java/de/intevation/flys/client/server/AddArtifactServiceImpl.java:
	  New. This service adds an existing artifact to an existing collection.
	  The return value of this service is a Collection that is filled with
	  CollectionItems and OutputModes.

2011-03-25  Raimund Renkert <rrenkert@intevation.de>

	* src/main/java/de/intevation/flys/client/FLYS.gwt.xml: Changed theme to
	  smartgwt Enterprise Blue.

2011-03-25  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/Facet.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultFacet.java:
	  New. An interface and its default implementation that provide methods
	  to get information about facets. Currently, the only information that is
	  supported is the name of the facet.

	* src/main/java/de/intevation/flys/client/shared/model/CollectionItem.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultCollectionItem.java:
	  New. An interface and its default implementation that provide methods to
	  get information about the available output modes and its facets of
	  artifacts -> a CollectionItem is related to an artifact - both have the
	  same identifier.

	* src/main/java/de/intevation/flys/client/shared/model/DefaultCollection.java,
	  src/main/java/de/intevation/flys/client/shared/model/Collection.java:
	  The Collection no longer stores references to artifacts, but to
	  CollectionItems. I have changed this, because the artifact contains a
	  lot more information we need for the Collections. So, I decided to
	  create CollectionItems that are related to artiacts but just know about
	  the possible outputmodes and facets.

2011-03-24  Raimund Renkert <rrenkert@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/MainMenu.java: Set styles
	  for label.

	* src/main/java/de/intevation/flys/client/client/ui/FLYSHeader.java: Fixed the
	  method to calculate the image width and resized the BfG logo.

	* src/main/webapp/FLYS.css: Introduced styles for fonts and BfG colorscheme.

2011-03-23  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java:
	  Extract the output modes from DESCRIBE document and fill the
	  ArtifactDescription with those objects.

2011-03-23  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/ArtifactDescription.java:
	  Added a method to retrieve the available output modes of the artifact.

	* src/main/java/de/intevation/flys/client/shared/model/DefaultArtifactDescription.java:
	  Implemented the method to retrieve the available output modes and
	  enhanced the default constructor with a parameter for output modes.

2011-03-23  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/OutputMode.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultOutputMode.java:
	  New. An interface and its default implementation that describes
	  available output modes of artifacts.

2011-03-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/webapp/images/next.xcf: Moved to images/next.xcf to avoid that
	  this file is included in the WAR archive of the web application.

	* images/next.xcf: Moved from src/main/webapp/images/next.xcf.

2011-03-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java:
	  Parse the selected values as human readable strings from the static UI
	  part.

	* src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java:
	  Display human readable values in the static UI part.

2011-03-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/event/HasStepBackHandlers.java,
	  src/main/java/de/intevation/flys/client/client/event/StepBackHandler.java,
	  src/main/java/de/intevation/flys/client/client/event/StepBackEvent.java:
	  New. These classes are used to realize a notification mechanism to
	  listen to the step-back part of the advance() operation. UI elements
	  should fire a StepBackEvent if the user tries to step back to a previous
	  state.

	* src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java:
	  The UIProvider implements the HasStepBackHandlers interface and fires
	  StepBackEvents if the 'back' button has been clicked.

	* src/main/java/de/intevation/flys/client/client/ui/ParameterList.java:
	  Listens to StepBackEvents. If such an event is received, we gonna remove
	  all old state items from the list and revert the view. Afterwards, the
	  artifact description is used to redraw the whole view.

	  NOTE: I think we should just remove those items that belong to states
	  between the current state and the target state. This would avoid a
	  complete refresh of the ParameterPanel.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Listens to StepBackEvents. If such an event is received, the advance()
	  operation is triggerd with the current artifact and the new target
	  state identifier to step back to that state.

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/DoubleRangePanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/DoubleArrayPanel.java:
	  The methods that validates a FormItem will skip StaticTextItem
	  validation.

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java:
	  Added a mechanism to validate and save user input before returning the
	  data entered in the fields.
	  Reason: the BlurEvent - after that we gonne validate and save the input
	  stuff - is not fired when the focus is still in one of the text fields
	  and we click the 'next' button immediately. A nullpointer exception
	  would be the result (which is avoided with the mechanism).

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java:
	  Added localized strings that point to the source of the 'back' button.

	* src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java:
	  Added a new method that creates the 'back' button and returns it.

	  TODO: Fire an event that triggers the ADVANCE action.

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java:
	  Append the 'back' button in the panel with the 'old' parameters.

	* src/main/webapp/images/back.png,
	  src/main/webapp/images/back_en.png,
	  src/main/webapp/images/back_de.png: New. Images für the 'back' button in
	  the parameterization.

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  localized strings that point to the images of the 'next' button.

	* src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java:
	  There is a method that creates the 'next' button, adds the UIProvider as
	  ClickHandler and returns the button.

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/ParameterList.java,
	  src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java,
	  src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java:
	  The 'next' button is created in the AbstractUIProvider. So, we have a
	  central place to adjust the look of this button.

	* src/main/webapp/images/next.xcf,
	  src/main/webapp/images/next.png,
	  src/main/webapp/images/next_en.png,
	  src/main/webapp/images/next_de.png: Images for the 'next' button in the
	  parameterization.

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java:
	  Read min/max values and define those values as default values for the
	  distance modes.

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java:
	  Read min/max values and define those values as default values for the
	  distance mode.

2011-03-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ParameterList.java,
	  src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  When a state is reached with no further user input, the 'current'
	  property of the ParameterList is set to 'null' and no dynamic panel is
	  shown.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties:
	  Fixed a typo.

	* src/main/java/de/intevation/flys/client/client/ui/ParameterList.java:
	  The widgets displayed in the static panel are created using the
	  UIProvider defined in the DataList.

	* src/main/java/de/intevation/flys/client/client/ui/UIProvider.java: There
	  is a new method createOld() that is used to create the static
	  representation of a DataList.

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/MapSelection.java,
	  src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java:
	  Implemented the createOld() method.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/DataList.java:
	  Added a constructor to create a DataList with a label.

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java:
	  Read the label of the static state data objects and create the DataList
	  objects with this attribute.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/DataList.java: This
	  data structure manages a list of Data objects. A DataList is the list of
	  Data objects that a single State can have. So, this class has methods to
	  retrieve the name of the state it belongs to, the list of Data objects,
	  the recommended UIProvider and a label.

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java,
	  src/main/java/de/intevation/flys/client/shared/model/ArtifactDescription.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultArtifactDescription.java,
	  src/main/java/de/intevation/flys/client/shared/model/Data.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultData.java,
	  src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java,
	  src/main/java/de/intevation/flys/client/client/ui/ParameterList.java,
	  src/main/java/de/intevation/flys/client/client/ui/MapSelection.java,
	  src/main/java/de/intevation/flys/client/client/ui/CollectionView.java,
	  src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/UIProvider.java,
	  src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java,
	  src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java:
	  Necessary refactoring to introduce the DataList data structure to manage
	  the list of Data objects a single State provides.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ParameterList.java:
	  Added a bit more space between the values that have been entered in
	  former states and the current input panel.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/server/UserServiceImpl.java,
	  src/main/java/de/intevation/flys/client/shared/model/Data.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultData.java,
	  src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java,
	  src/main/java/de/intevation/flys/client/client/ui/MapSelection.java,
	  src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Removed needless imported.

	* src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java:
	  The SelectProvider extends the AbstractUIProvider now. Now, each
	  concrete UIProvider is an instance of the AbstractUIProvider that
	  handles some basic events.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java:
	  The Single-W panel is displayed initially when the WQInputPanel is
	  rendered.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java:
	  Implemented some methods to retrieve the data that have been entered by
	  the user. The getData() method retrieves data now!

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java:
	  Implemented some methods to retrieve the data that have been entered by
	  the user. The getData() method retrieves data now!

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java:
	  Defined the 'WINFO' plugin as default plugin. The initial view will
	  display a preselcted winfo radio button.

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java:
	  Added the missing 'next' button.

	* src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java:
	  Added the ClickHandler to the 'next' button.

2011-03-17  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/UIProviderFactory.java:
	  The 'uiprovider' attribute 'wq_panel' will return a WQInputPanel
	  provider.

2011-03-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java:
	  Some refactoring. This class now uses the DoubleRangePanel and
	  DoubleArrayPanel for the two different input modes as well.

2011-03-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  i18n strings used in the WQInputPanel.

	* src/main/java/de/intevation/flys/client/client/ui/DoubleRangePanel.java:
	  New. This panel contains three input fields that enables the user to
	  enter a start and end value and a step width. Furthermore, there are
	  methods to validate the fields and to retrieve its values.

	* src/main/java/de/intevation/flys/client/client/ui/DoubleArrayPanel.java:
	  New. This panel contains a single input field that enables the user to
	  enter a list of double values. There is a method to validate the input
	  and a method to retrieve the list of entered double values.

	* src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java:
	  New. This panel allows the user to enter W or Q values for single or
	  range input in one single state.

2011-03-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  i18n strings used in the LocationDistancePanel.

	* src/main/java/de/intevation/flys/client/client/ui/AbstractUIProvider.java:
	  New. This abstract class implements the UIProvider and the
	  HasStepForwardHandlers interface and its necessary methods. These two
	  things are required by each concrete UIProvider, so this class should be
	  the base class for further concrete UIProviders.

	* src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java:
	  New. A UIProvider that enables the user to enter locations or a
	  distance.

	* src/main/java/de/intevation/flys/client/client/ui/UIProviderFactory.java:
	  States with a uiprovider attribute set to 'location_distance_panel' use
	  the LocationDistancePanel for user input.

2011-03-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ParameterList.java:
	  Clear the panel that displays the current input widget before adding a
	  new one to this panel.

2011-03-15  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  a i18n string for a new calculation.

	* src/main/java/de/intevation/flys/client/client/FLYSImages.java,
	  src/main/java/de/intevation/flys/client/client/images/gewkarte.png: New
	  image: the map that shows the relevant rivers.

	* src/main/java/de/intevation/flys/client/client/ui/MapSelection.java:
	  Added the river map to the right panel of that widget.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Implemented the step forward mechanism.

2011-03-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java,
	  src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java:
	  Save the name of the data item. We need the name for feed().

	* src/main/java/de/intevation/flys/client/client/ui/ParameterList.java:
	  Before adding further old data items, we gonna check if the item is
	  already existing in the list. If it exists, the item is not added.

2011-03-14  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java,
	  src/main/java/de/intevation/flys/client/client/ui/CollectionView.java,
	  src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java:
	  Read i18n strings from DESCRIBE document and display them in the UI.

2011-03-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Integrated the mechnism to listen on paramer changes. The CollectionView
	  is both: a HasParameterChangeHandler and a ParameterChangeHandler.

2011-03-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java:
	  Bugfix: Removed static string from gui.

2011-03-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java:
	  Parse the static data from DESCRIBE document and put it into the
	  ArtifactDescription.

2011-03-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/event/HasParameterChangeHandler.java,
	  src/main/java/de/intevation/flys/client/client/event/ParameterChangeHandler.java,
	  src/main/java/de/intevation/flys/client/client/event/ParameterChangeEvent.java:
	  New. Interfaces and classes used for a listener mechanism to notify
	  listeners when the parameterization of a Collection/Artifact has
	  changed.

2011-03-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/services/StepForwardServiceAsync.java,
	  src/main/java/de/intevation/flys/client/client/services/StepForwardService.java,
	  src/main/java/de/intevation/flys/client/server/StepForwardServiceImpl.java:
	  New. This service bundles the artifact operations feed() and advance()
	  into a single service.

	* src/main/java/de/intevation/flys/client/client/services/AdvanceServiceAsync.java,
	  src/main/java/de/intevation/flys/client/client/services/AdvanceService.java,
	  src/main/java/de/intevation/flys/client/server/AdvanceServiceImpl.java:
	  New. This service provides a method that triggers the advance() operation
	  of the artifact server.

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java:
	  Added code to parse the reachable states from DESCRIBE.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Make use of the 'forward' service after choosing the module and the river.

	* src/main/webapp/WEB-INF/web.xml: Registered the new services 'forward' and
	  'advance'.

2011-03-09  Ingo Weinzierl <ingo@intevation.de>

	* src/test/java/de/intevation/flys/client/FLYSJUnit.gwt.xml,
	  src/main/java/de/intevation/flys/client/client/GreetingServiceAsync.java,
	  src/main/java/de/intevation/flys/client/client/GreetingService.java:
	  Removed the GreetingService from out application - this service has been
	  added initially by creating this repository.

2011-03-09  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  i18n strings for the module and river selection.

	* src/main/java/de/intevation/flys/client/client/ui/ModuleSelection.java:
	  New. A wrapper for the module and river selection. Both information can
	  be chosen in just one step.

	* src/main/java/de/intevation/flys/client/client/ui/MapSelection.java,
	  src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java:
	  Some layout improvements.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Makes use of the ModuleSelection if no artifact is existing in a new
	  CollectionView. Users may now choose the desired plugin and the river in
	  one single step.

2011-03-09  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/services/RiverServiceAsync.java,
	  src/main/java/de/intevation/flys/client/client/services/RiverService.java,
	  src/main/java/de/intevation/flys/client/server/RiverServiceImpl.java:
	  New. A service that retrieves a list of supported rivers by the artifact
	  server.

	* src/main/java/de/intevation/flys/client/shared/model/River.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultRiver.java:
	  New. A model class and its default implementation to store rivers.

	* src/main/java/de/intevation/flys/client/client/FLYS.java: At application
	  start, the provided rivers by the artifact server are fetched using the
	  RiverService. The rivers are queriable via a getRivers() method.

	* src/main/webapp/WEB-INF/web.xml: Registered the RiverService.

2011-03-08  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  i18n strings used in the menu panel.

	* src/main/java/de/intevation/flys/client/client/FLYS.java: Added a method
	  to retrieve the project list.

	* src/main/java/de/intevation/flys/client/client/ui/MainMenu.java: Added
	  further buttons (labels with ClickHandler) to switch the language,
	  logout the current user or open an info panel.

2011-03-08  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/images/flys_logo.gif,
	  src/main/java/de/intevation/flys/client/client/images/bfg_logo.gif: New.
	  A logo of the BfG and a logo of the application FLYS. Both copied from
	  desktop FLYS.

	* src/main/java/de/intevation/flys/client/client/FLYSImages.java: New.
	  This interface grants access to the images used in this application.

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java:
	  Added the fullname of FLYS.

	* src/main/java/de/intevation/flys/client/client/ui/FLYSHeader.java: New.
	  This class displays the header containing a FLYS and a BfG logo.

	* src/main/java/de/intevation/flys/client/client/FLYS.java: Integrated the
	  FLYSHeader into the layout at the bottom of the application.

	* src/main/webapp/FLYS.html: Set the title of the application to
	  "FLYS-3.0".

2011-03-07  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/services/CreateCollectionService.java,
	  src/main/java/de/intevation/flys/client/client/services/CreateCollectionServiceAsync.java,
	  src/main/java/de/intevation/flys/client/server/CreateCollectionServiceImpl.java:
	  New. A service that might be used to create new collections in the
	  artifact server.

	* src/main/webapp/WEB-INF/web.xml: Registered the service to create new
	  collections.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Added the service to create new collections. Currently, this service is
	  not used.

2011-03-07  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/DefaultUser.java,
	  src/main/java/de/intevation/flys/client/shared/model/User.java: A user
	  interface and its default implementation.

	* src/main/java/de/intevation/flys/client/client/services/UserService.java,
	  src/main/java/de/intevation/flys/client/client/services/UserServiceAsync.java,
	* src/main/java/de/intevation/flys/client/server/UserServiceImpl.java: This
	  service will currently return the first user that is returned by the
	  artifact server.

	* src/main/java/de/intevation/flys/client/client/FLYS.java: The FLYS
	  instance stores the user that is logged in, because we need to make use of
	  this user in many services.

	* src/main/java/de/intevation/flys/client/client/ui/ProjectList.java,
	  src/main/java/de/intevation/flys/client/client/ui/MainMenu.java: Make use
	  of the User of this package - the User of the common package is not used
	  any longer.

2011-03-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* pom.xml: Added missing SmartGWT repository.

2011-02-22  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ParameterList.java: A UI
	  widget that stores and displays the data of former states and the current
	  data. The widget displaying of the current data is created by the
	  UIProvider that is stored in the Data object.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java: We
	  are able to create new WINFO artifacts. After the artifact has been
	  created, the first 'state' is rendered in a 'WINFO tab' using the
	  ParameterList.

2011-02-22  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java:
	  The 'uiprovider' attribute is parsed from DESCRIBE document and stored at
	  the Data object.

	* src/main/java/de/intevation/flys/client/shared/model/Data.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultData.java:
	  Implemented code to store the UIProvider (as string!) for the Data object.

2011-02-22  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/event/StepForwardEvent.java:
	  An event that is thrown after the user has selected or entered data in the
	  UI and triggers the feed & advance operations via UI button.

	* src/main/java/de/intevation/flys/client/client/event/HasStepForwardHandlers.java:
	  This interface is used by classes that provide that step forward
	  mechanism.

	* src/main/java/de/intevation/flys/client/client/event/StepForwardHandler.java:
	  This interface is used by classes that want to listen to
	  StepForwardEvents.

2011-02-22  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/UIProvider.java,
	  src/main/java/de/intevation/flys/client/client/ui/MapSelection.java,
	  src/main/java/de/intevation/flys/client/client/ui/SelectProvider.java: The
	  interface description and two implementations of a UIProvider. A
	  UIProvider is used to create widgets for the user input. The UIProvider
	  that is used in the current state depends on the data type in the describe
	  document and a 'uiprovider' flag that might be configured there.

	* src/main/java/de/intevation/flys/client/client/ui/UIProviderFactory.java:
	  The factory that is used to create new instances of UIProvider.

2011-02-21  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  This view implements the HasCollectionChangeHandlers interface -
	  CollectionChangeHandler can register to this class and retrieve
	  notifications when the collection of this view changes.

2011-02-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/event/CollectionChangeHandler.java,
	  src/main/java/de/intevation/flys/client/client/event/CollectionChangeEvent.java,
	  src/main/java/de/intevation/flys/client/client/event/HasCollectionChangeHandlers.java:
	  New. These interfaces and classes should be used to listen to changes in
	  Collections.

2011-02-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/DefaultCollection.java,
	  src/main/java/de/intevation/flys/client/shared/model/Collection.java:
	  Enhanced the Collection and its default implementation with new methods
	  to add new Artifacts, retrieve Artifacts and get the number of artifacts
	  managed by the Collection.

2011-02-18  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/server/ArtifactDescriptionFactory.java:
	  New. This factory is used to create an ArtifactDescription based on an
	  DESCRIBE document returned by the artifact server.

	* src/main/java/de/intevation/flys/client/server/FLYSArtifactCreator.java: A
	  new DefaultArtifact with an ArtifactDescription that contains the dynamic
	  UI part is returned by the create() method now.

2011-02-17  Ingo Weinzierl <ingo@intevation.de>

	* pom.xml: This client uses the artifacts http-client for the communication
	  between client and server now.

	* src/main/java/de/intevation/flys/client/server/FLYSArtifactCreator.java:
	  New. An instance of the ArtitactCreator interface of the http-client. It
	  uses the document returned by the artifact server to create an artifact
	  instance.

	  NOTE: The artifact creation needs to be implemented! This is currently
	  just a stub to make the other things work.

	* src/main/java/de/intevation/flys/client/client/services/ArtifactServiceAsync.java,
	  src/main/java/de/intevation/flys/client/client/services/ArtifactService.java:
	  The method signature of create() changed: the server url is required now.

	* src/main/java/de/intevation/flys/client/server/ArtifactServiceImpl.java:
	  Make use of the HttpClient and the FLYSArtifactCreator to create
	  artifacts.

	* src/main/java/de/intevation/flys/client/client/FLYS.java,
	  src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Added the server url to the create() call of the ArtifactService.

2011-02-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  This view will now display radio buttons to choose between the module
	  'WINFO', 'MINFO', 'Map' and 'Fix-Analyse'. A button is shown to create an
	  artifact of the selected module.

	  NOTE: The next step here is to use the returning artifact with its
	  description and display widgets based on these information.

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  i18n strings for the CollectionView's 'next' button.

2011-02-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/ArtifactDescription.java,
	  src/main/java/de/intevation/flys/client/shared/model/DataItem.java,
	  src/main/java/de/intevation/flys/client/shared/model/Data.java: The
	  interfaces implement the Serializable interface now.

	* src/main/java/de/intevation/flys/client/shared/model/DefaultArtifactDescription.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultDataItem.java,
	  src/main/java/de/intevation/flys/client/shared/model/DefaultData.java:
	  New. Default implementions of the interfaces above. These classes
	  implements constructors and the necessary methods of the interface
	  descriptions only!

2011-02-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/server/ArtifactServiceImpl.java,
	  src/main/java/de/intevation/flys/client/client/services/ArtifactServiceAsync.java,
	  src/main/java/de/intevation/flys/client/client/services/ArtifactService.java:
	  New. Interface descriptions and the server implementation of an artifact
	  service that provides basic methods for working with artifacts.

	  NOTE: The implementation is currently just a stub. The artifact creation
	  needs to be implemented.

	* src/main/webapp/WEB-INF/web.xml: Added a servlet for the artifact
	  interface.

2011-02-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/Artifact.java:
	  Implements the serializable interface which is necessary to be able to
	  use this object in the GWT client code.

	* src/main/java/de/intevation/flys/client/shared/model/DefaultArtifact.java:
	  New. A simple default implementation of an artifact.

2011-02-16  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/FLYS.gwt.xml: Added the
	  Resources and XML modules of GWT.

	* src/main/java/de/intevation/flys/client/client/config.xml: An xml file
	  that will contain the client configuration.

	* src/main/java/de/intevation/flys/client/client/Config.java: New. This
	  class should be used to handle the client configuration and provides
	  methods for retrieving information about the configuration.

	* src/main/java/de/intevation/flys/client/client/FLYSResources.java: The
	  configuration (Config) is initialized at the startup.

2011-02-11  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/Artifact.java: New.
	  The interface description of an artifact used in this client. There are
	  several methods that provide information about the artifact itself and its
	  representation.

	* src/main/java/de/intevation/flys/client/shared/model/ArtifactDescription.java:
	  New. The ArtifactDescription provides information about the current
	  representation of an artifact.

	* src/main/java/de/intevation/flys/client/shared/model/DataItem.java,
	  src/main/java/de/intevation/flys/client/shared/model/Data.java: New. The
	  interfaces are used to handle user input.

2011-02-11  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  strings for the plugins.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  Display radio buttons if the collection is new and no plugin (winfo,
	  minfo, map, fix analyse) has been chosen.

2011-02-11  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: New
	  strings for the CollectionViews.

	* src/main/java/de/intevation/flys/client/client/ui/FLYSWorkspace.java: New.
	  This is the workspace for FLYS. It contains the windows for each
	  collection of the user.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionView.java:
	  New. This window will display a collection. Currently, it has just a
	  title, but no content.

	* src/main/java/de/intevation/flys/client/client/ui/FLYSView.java: Displays
	  the FLYSWorkspace.

	* src/main/java/de/intevation/flys/client/client/ui/MainMenu.java: Added a
	  button to open new collections.

	* src/main/java/de/intevation/flys/client/client/FLYS.java: The
	  FLYSWorkspace is created here. FLYS stores a reference to it and puts the
	  workspace into the FLYSView. Furthermore, there is a new method that
	  creates new Collections.

	  NOTE: Currently, there is no communication with the artifact server,
	  because Collections aren't implemented yet!

2011-02-11  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/DefaultCollection.java,
	  src/main/java/de/intevation/flys/client/shared/model/Collection.java:
	  Added a new method that returns the UUID of the collection.

2011-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/client/ui/ProjectList.java: The
	  ProjectList stores a reference to the current user and provides a list
	  with his existing projects.

	  NOTE: There are created two Collections and two CollectionRecords for the
	  mockup. This code needs to be removed after a service to fetch the user
	  collections has been implemented.

	* src/main/java/de/intevation/flys/client/client/ui/CollectionGrid.java:
	  This grid will show a list of collections with its last modification date,
	  their uuid and two buttons to publish and delete the collection.

	  NOTE: The buttons have no effect yet.

	* src/main/java/de/intevation/flys/client/client/FLYS.java: The FLYS class
	  has a reference to the ProjectList. If a logged in user was found, the
	  ProjectList is initialized and added to the FLYSView.

	* src/main/java/de/intevation/flys/client/client/ui/FLYSView.java: There is
	  a new method to set the ProjectList. Furthermore, all UI components are
	  put into a HLayout now. On this way, we are able to open/close the
	  ProjectList.

	* src/main/java/de/intevation/flys/client/client/FLYSMessages.java,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties:
	  Added strings for the project list.

2011-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/shared/model/DefaultCollection.java,
	  src/main/java/de/intevation/flys/client/shared/model/Collection.java: The
	  interface and its default implementation of a Collection.
	  NOTE: I think both classes will change pretty much, but they have been
	  necessary for the ProjectList mockup.

2011-02-10  Ingo Weinzierl <ingo@intevation.de>

	* src/main/java/de/intevation/flys/client/FLYS.gwt.xml: The artifact-common
	  package is available in the GWT code now.

	* pom.xml: Made the artifact-common package available.

	* src/main/java/de/intevation/flys/client/server/UserServiceImpl.java,
	  src/main/java/de/intevation/flys/client/client/services/UserService.java,
	  src/main/java/de/intevation/flys/client/client/services/UserServiceAsync.java:
	  A service definition that retrieves user information. Currently, this
	  service defines a single method that returns the user that is currently
	  logged in.

	* src/main/webapp/WEB-INF/web.xml: Added a servlet definition that provides
	  the UserService.

	* src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages_de.properties,
	  src/main/java/de/intevation/flys/client/client/FLYSMessages.java: Added
	  I18N string for a guest user.

	* src/main/java/de/intevation/flys/client/client/ui/MainMenu.java: There are
	  new methods to set the current user and to update the menu with its name.

	* src/main/java/de/intevation/flys/client/client/FLYS.java: After creating
	  the necessary components, the current user is queried by the UserService
	  and displayed in the menu bar.

http://dive4elements.wald.intevation.org