Mercurial > dive4elements > river
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.