annotate flys-client/src/main/java/de/intevation/flys/client/client/FLYS.java @ 4601:16c19d4f1833

Add methods to hide and show the project list in FLYS class
author Björn Ricks <bjoern.ricks@intevation.de>
date Fri, 30 Nov 2012 09:56:10 +0100
parents 2fab2679eec9
children 7b8063c2d589
rev   line source
0
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client;
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import com.google.gwt.core.client.EntryPoint;
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
4 import com.google.gwt.core.client.GWT;
605
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
5 import com.google.gwt.event.shared.UmbrellaException;
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
6 import com.google.gwt.user.client.rpc.AsyncCallback;
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
7 import com.google.gwt.xml.client.XMLParser;
3989
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
8
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
9 import com.smartgwt.client.util.SC;
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
10 import com.smartgwt.client.widgets.HTMLPane;
605
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
11 import com.smartgwt.client.widgets.Window;
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
12 import com.smartgwt.client.widgets.events.CloseClickEvent;
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
13 import com.smartgwt.client.widgets.events.CloseClickHandler;
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
14 import com.smartgwt.client.widgets.layout.VLayout;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
15
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
16 import de.intevation.flys.client.client.event.CollectionChangeEvent;
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
17 import de.intevation.flys.client.client.event.CollectionChangeHandler;
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
18 import de.intevation.flys.client.client.services.ArtifactService;
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
19 import de.intevation.flys.client.client.services.ArtifactServiceAsync;
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
20 import de.intevation.flys.client.client.services.CreateCollectionService;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
21 import de.intevation.flys.client.client.services.CreateCollectionServiceAsync;
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
22 import de.intevation.flys.client.client.services.DescribeCollectionService;
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
23 import de.intevation.flys.client.client.services.DescribeCollectionServiceAsync;
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
24 import de.intevation.flys.client.client.services.GetArtifactService;
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
25 import de.intevation.flys.client.client.services.GetArtifactServiceAsync;
29
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
26 import de.intevation.flys.client.client.services.RiverService;
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
27 import de.intevation.flys.client.client.services.RiverServiceAsync;
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
28 import de.intevation.flys.client.client.services.UserService;
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
29 import de.intevation.flys.client.client.services.UserServiceAsync;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
30 import de.intevation.flys.client.client.ui.CollectionView;
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 25
diff changeset
31 import de.intevation.flys.client.client.ui.FLYSHeader;
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
32 import de.intevation.flys.client.client.ui.FLYSView;
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
33 import de.intevation.flys.client.client.ui.FLYSWorkspace;
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
34 import de.intevation.flys.client.client.ui.MainMenu;
4
89976499e013 Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2
diff changeset
35 import de.intevation.flys.client.client.ui.ProjectList;
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
36 import de.intevation.flys.client.shared.model.Artifact;
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
37 import de.intevation.flys.client.shared.model.Collection;
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
38 import de.intevation.flys.client.shared.model.CollectionItem;
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
39 import de.intevation.flys.client.shared.model.River;
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
40 import de.intevation.flys.client.shared.model.User;
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
41
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
42 import java.util.ArrayList;
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
43 import java.util.List;
3698
8e69aca69074 Catch MissingResourceException on unexpected server exceptions.
Christian Lins <christian.lins@intevation.de>
parents: 3696
diff changeset
44 import java.util.MissingResourceException;
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
45 import java.util.Set;
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
46
0
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 /**
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 * Entry point classes define <code>onModuleLoad()</code>.
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
50 *
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
51 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
0
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 */
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
53 public class FLYS implements EntryPoint, CollectionChangeHandler {
0
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
55 /** The message class that provides i18n strings.*/
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
56 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
57
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
58 /** The UserService used to retrieve information about the current user. */
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
59 protected UserServiceAsync userService = GWT.create(UserService.class);
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
60
29
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
61 /** The RiverService used to retrieve the supported rivers of the server.*/
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
62 protected RiverServiceAsync riverService = GWT.create(RiverService.class);
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
63
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
64 /** The ArtifactService used to communicate with the Artifact server. */
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
65 protected ArtifactServiceAsync artifactService =
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
66 GWT.create(ArtifactService.class);
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
67
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
68 /** The ArtifactService used to communicate with the Artifact server. */
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
69 protected DescribeCollectionServiceAsync describeCollectionService =
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
70 GWT.create(DescribeCollectionService.class);
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
71
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
72 /** The GetArtifactService used to open an existing collection. */
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
73 protected GetArtifactServiceAsync getArtifactService =
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
74 GWT.create(GetArtifactService.class);
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
75
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
76 /** The CreateCollectionServiceAsync used to create a new collection */
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
77 protected CreateCollectionServiceAsync collectionService =
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
78 GWT.create(CreateCollectionService.class);
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
79
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 845
diff changeset
80 /** The menu bar at the top of the application. */
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
81 protected MainMenu menu;
4
89976499e013 Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2
diff changeset
82
3549
6a8f83c538e3 Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3501
diff changeset
83 /** The content window. It takes the whole space beneath the menu bar. */
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
84 protected FLYSView view;
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
85
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 845
diff changeset
86 /** The project list that displays the projects of the user. */
4
89976499e013 Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2
diff changeset
87 protected ProjectList projectList;
89976499e013 Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2
diff changeset
88
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 845
diff changeset
89 /** The FLYSWorkspace. */
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
90 protected FLYSWorkspace workspace;
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
91
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 845
diff changeset
92 /** The user who is currently logged in. */
25
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
93 protected User currentUser;
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
94
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 845
diff changeset
95 /** The list of rivers supported by the server. */
29
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
96 protected River[] rivers;
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
97
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 845
diff changeset
98 /** This list is used to track the opened projects. */
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
99 protected List<String> openProjects;
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
100
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
101
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
102 public static String getExceptionString(FLYSConstants msg, Throwable caught) {
3989
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
103 try {
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
104 return msg.getString(caught.getMessage());
3989
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
105 }
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
106 catch(MissingResourceException ex) {
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
107 // There are some server error exceptions with
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
108 // varying text messages that cannot be localized
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
109 // easily. In this rare cases, use the plain
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
110 // exception message.
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
111 GWT.log("Missing resource for: " + caught.getMessage());
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
112 return caught.getLocalizedMessage();
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
113 }
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
114 }
ccac1279eb41 More robust exception handler (#897)
Christian Lins <christian.lins@intevation.de>
parents: 3980
diff changeset
115
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
116 /**
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
117 * This is the entry point method.
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
118 */
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
119 @Override
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
120 public void onModuleLoad() {
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
121 openProjects = new ArrayList<String>();
0
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
123 //GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
124 // public void onUncaughtException(Throwable e) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
125 // showWarning(e);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
126 // }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 611
diff changeset
127 //});
605
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
128
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
129 VLayout vertical = new VLayout();
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
130 vertical.setLayoutMargin(1);
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
131 vertical.setWidth100();
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
132 vertical.setHeight100();
0
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
134 menu = new MainMenu(this);
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
135 view = new FLYSView();
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
136
27
e4155a6833a9 Integrated a header that contains a FLYS and a BfG logo.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 25
diff changeset
137 vertical.addMember(new FLYSHeader());
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
138 vertical.addMember(menu);
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
139 vertical.addMember(view);
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
140
797
cc3f481e9484 Introduced GwtOpenLayers to bring up maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
141 vertical.draw();
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
142
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
143 initConfiguration();
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
144
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
145 Config config = Config.getInstance();
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
146 String locale = config.getLocale();
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
147
1425
bc06a671ef60 Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1294
diff changeset
148 userService.getCurrentUser(locale, new AsyncCallback<User>() {
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
149 @Override
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
150 public void onFailure(Throwable caught) {
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
151 GWT.log("Could not find a logged in user.");
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
152 String msg = getExceptionString(MSG, caught);
3698
8e69aca69074 Catch MissingResourceException on unexpected server exceptions.
Christian Lins <christian.lins@intevation.de>
parents: 3696
diff changeset
153 SC.warn(msg);
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
154 }
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
155
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
156 @Override
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
157 public void onSuccess(User user) {
25
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
158 GWT.log("Found a user. Set '"+ user.getName() + "'");
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
159 setCurrentUser(user);
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
160
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
161 menu.setCurrentUser(user);
4
89976499e013 Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2
diff changeset
162
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
163 projectList = new ProjectList(FLYS.this, user);
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
164 workspace = new FLYSWorkspace();
4
89976499e013 Implemented a ProjectList and added a mockup that displays two collections in that list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2
diff changeset
165 view.setProjectList(projectList);
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
166 view.setFLYSWorkspace(workspace);
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
167
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
168 readRivers();
2
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
169 }
bc5d4d2297b9 Introduced a service that retrieves the user who is currently logged in. This user is displayed in the menu bar.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1
diff changeset
170 });
0
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
171 }
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
172
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
173
605
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
174 public void showWarning(Throwable e) {
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
175 StringBuilder sb = new StringBuilder();
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
176 sb.append("<tt>");
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
177
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
178 if (e instanceof UmbrellaException) {
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
179 UmbrellaException u = (UmbrellaException) e;
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
180 Set<Throwable> throwables = u.getCauses();
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
181
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
182 for (Throwable t: throwables) {
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
183 sb.append(t.getLocalizedMessage());
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
184 sb.append("<br>");
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
185 }
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
186 }
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
187 else {
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
188 sb.append(e.getLocalizedMessage());
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
189 }
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
190
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
191 sb.append("</tt>");
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
192
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
193 Window w = new Window();
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
194 w.setTitle(MSG.unexpected_exception());
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
195 w.setWidth(550);
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
196 w.setHeight(300);
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
197 w.centerInPage();
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
198 w.setCanDragResize(true);
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
199
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
200 HTMLPane p = new HTMLPane();
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
201 p.setContents(sb.toString());
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
202
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
203 w.addItem(p);
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
204 w.show();
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
205 }
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
206
9e30c776cbef Improved the exception handling.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 600
diff changeset
207
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
208 /**
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
209 * This method should be called at system start. It initialzes the client
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
210 * configuration.
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
211 */
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
212 protected void initConfiguration() {
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
213 String xml = FLYSResources.INSTANCE.initialConfiguration().getText();
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
214 Config.getInstance(XMLParser.parse(xml));
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
215 }
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
216
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
217
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
218 /**
25
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
219 * Returns the user that is currently logged in.
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
220 *
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
221 * @return the current user.
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
222 */
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
223 public User getCurrentUser() {
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
224 return currentUser;
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
225 }
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
226
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
227
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
228 /**
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
229 * Sets the current user.
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
230 */
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
231 public void setCurrentUser(User user) {
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
232 currentUser = user;
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
233 }
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
234
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
235
2da6be38d8b6 Added a User interface and a default implementation to handle users in this client.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 14
diff changeset
236 /**
28
dfdb927b137d Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 27
diff changeset
237 * Returns the project list.
dfdb927b137d Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 27
diff changeset
238 */
dfdb927b137d Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 27
diff changeset
239 public ProjectList getProjectList() {
dfdb927b137d Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 27
diff changeset
240 return projectList;
dfdb927b137d Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 27
diff changeset
241 }
dfdb927b137d Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 27
diff changeset
242
dfdb927b137d Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 27
diff changeset
243
dfdb927b137d Improved the main menu - added further buttons (clickable labels).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 27
diff changeset
244 /**
600
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
245 * Returns the projects workspace that contains all project windows.
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
246 *
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
247 * @return the FLYSWorkspace.
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
248 */
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
249 public FLYSWorkspace getWorkspace() {
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
250 return workspace;
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
251 }
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
252
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
253
347cf4a5a486 Open projects are removed from screen if the user deletes them (via project list).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 557
diff changeset
254 /**
29
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
255 * Returns a list of rivers supported by the artifact server.
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
256 *
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
257 * @return a list of rivers supported by the artifact server.
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
258 */
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
259 public River[] getRivers() {
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
260 return rivers;
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
261 }
29
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
262
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
263
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
264 protected void readRivers() {
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
265 Config config = Config.getInstance();
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
266 String locale = config.getLocale();
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
267
1425
bc06a671ef60 Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1294
diff changeset
268 riverService.list(locale, new AsyncCallback<River[]>() {
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
269 @Override
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
270 public void onFailure(Throwable caught) {
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
271 GWT.log("Could not recieve a list of rivers.");
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
272 SC.warn(getExceptionString(MSG, caught));
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
273 }
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
274
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
275 @Override
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
276 public void onSuccess(River[] newRivers) {
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
277 GWT.log("Retrieved " + newRivers.length + " new rivers.");
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
278 rivers = newRivers;
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
279 }
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
280 });
29
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
281 }
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
282
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
283
44c63e7fd0d0 Added a service to list the supported rivers of the artifact server. The FLYS instance serves a method that retrieves this list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 28
diff changeset
284 /**
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
285 * This method creates a new CollectionView and adds it to the workspace.
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
286 * <b>NOTE</b>The user needs to be logged in and there need to at least one
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
287 * river - otherwise a warning is displayed and no CollectionView is
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
288 * created.
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
289 */
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
290 public void newProject() {
217
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
291 if (getCurrentUser() == null) {
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
292 SC.warn(MSG.error_not_logged_in());
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
293 return;
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
294 }
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
295
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
296 if (getRivers() == null) {
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
297 SC.warn(MSG.error_no_rivers_found());
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
298 readRivers();
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
299
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
300 return;
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
301 }
907b61e4d702 Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
302
100
95b30a5d6350 Bugfix: A collection view just creates a single time a new collection - even if we step back to a previous state and go forward afterwards.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 97
diff changeset
303 CollectionView view = new CollectionView(this);
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
304 workspace.addView("new-project", view);
97
0bec0112c8b3 Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 80
diff changeset
305
0bec0112c8b3 Integrated the ProjectList into the client. Now, the Collections of a user are displayed in the list.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 80
diff changeset
306 view.addCollectionChangeHandler(getProjectList());
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
307 }
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
308
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
309
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
310 protected void lockProject(String uuid) {
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
311 if (isProjectLocked(uuid)) {
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
312 return;
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
313 }
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
314
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
315 openProjects.add(uuid);
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
316 }
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
317
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
318
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
319 protected void unlockProject(String uuid) {
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
320 openProjects.remove(uuid);
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
321 }
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
322
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
323
3549
6a8f83c538e3 Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3501
diff changeset
324 /** Whether project uuid is currently opened. */
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
325 protected boolean isProjectLocked(String uuid) {
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
326 return openProjects.contains(uuid);
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
327 }
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
328
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
329
3549
6a8f83c538e3 Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3501
diff changeset
330 /** Opens (or bring into foreground) project with given id. */
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
331 public void openProject(final String collectionID) {
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
332 if (collectionID == null) {
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
333 return;
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
334 }
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
335
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
336 if (isProjectLocked(collectionID)) {
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
337 workspace.bringUp(collectionID);
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
338 return;
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
339 }
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
340
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
341 lockProject(collectionID);
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
342
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
343 GWT.log("Open existing project: " + collectionID);
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
344
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
345 Config config = Config.getInstance();
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
346 final String locale = config.getLocale();
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
347
1425
bc06a671ef60 Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1294
diff changeset
348 describeCollectionService.describe(collectionID, locale,
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
349 new AsyncCallback<Collection>() {
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
350 @Override
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
351 public void onFailure(Throwable caught) {
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
352 SC.warn(getExceptionString(MSG, caught));
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
353 }
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
354
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
355 @Override
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
356 public void onSuccess(Collection c) {
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
357 final Collection collection = c;
1294
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
358
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
359 if (collection.getItemLength() == 0) {
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
360 CollectionView view = new CollectionView(
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
361 FLYS.this, collection, null);
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
362
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
363 view.addCollectionChangeHandler(
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
364 getProjectList());
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
365 view.addCloseClickHandler(
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
366 new CloseCollectionViewHandler(
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
367 FLYS.this, collectionID));
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
368
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
369 workspace.addView(collectionID, view);
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
370
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
371 return;
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
372 }
94d4f040da3a Bugfix: #326 Made the process of opening existing project more robust if the collection has no artifact set.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
373
3381
6b5920c7ea6e Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1619
diff changeset
374 final CollectionItem item = c.getItem(0);
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
375
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
376 if (item == null) {
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
377 SC.warn(MSG.error_load_parameterization());
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
378 return;
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
379 }
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
380
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
381 getArtifactService.getArtifact(
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
382 locale,
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
383 item.identifier(),
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
384 item.hash(),
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
385 new AsyncCallback<Artifact>() {
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
386 @Override
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
387 public void onFailure(Throwable caught) {
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
388 unlockProject(collectionID);
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
389 SC.warn(getExceptionString(MSG, caught));
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
390 }
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
391
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
392 @Override
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
393 public void onSuccess(Artifact artifact) {
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
394 CollectionView view = new CollectionView(
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
395 FLYS.this, collection, artifact);
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
396
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
397 view.addCollectionChangeHandler(
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
398 getProjectList());
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
399 view.addCloseClickHandler(
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
400 new CloseCollectionViewHandler(
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
401 FLYS.this, collectionID));
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
402
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
403 workspace.addView(collectionID, view);
225
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
404 }
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
405 });
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
406
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
407 }
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
408 });
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
409 }
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
410
9040663aee01 Filled the context menu point 'Open project' of the ProjectList with life - it opens a new window displaying the parameterization of the selected project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 217
diff changeset
411
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
412 public void closeProject(String uuid) {
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
413 unlockProject(uuid);
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
414 workspace.destroyProject(uuid);
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
415 }
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
416
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
417
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
418 /**
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
419 * Create a new Artifact.
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
420 */
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
421 public void newArtifact(String factory) {
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
422 Config config = Config.getInstance();
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
423 String locale = config.getLocale();
14
fe2f4d1dd784 Integrated the httpclient for the communication between client and server. It is now possible to create a new WINFO artifact.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 9
diff changeset
424
1425
bc06a671ef60 Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1294
diff changeset
425 artifactService.create(locale, factory, null,
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
426 new AsyncCallback<Artifact>() {
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
427 @Override
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
428 public void onFailure(Throwable caught) {
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
429 GWT.log("Could not create the new artifact.");
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
430 SC.warn(getExceptionString(MSG, caught));
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
431 }
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
432
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
433 @Override
229
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
434 public void onSuccess(Artifact artifact) {
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
435 GWT.log("Successfully created a new artifact.");
924da6695800 Each service is now called with the name of the current locale to set the request object's locale manually in the HttpClient.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 225
diff changeset
436 }
9
8facd8545a12 Added a global configuration for the client and classes providing methods to retrieve these information.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 6
diff changeset
437 });
6
e2b3966b40ca Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 4
diff changeset
438 }
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
439
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
440 public void newGaugeDischargeCurve(String river, Long gaugeref) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
441 Config config = Config.getInstance();
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
442
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
443 final String locale = config.getLocale();
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
444 final String riv = river;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
445 final Long ref = gaugeref;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
446 final FLYS flys = this;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
447
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
448 User user = getCurrentUser();
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
449
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
450 if (user == null) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
451 SC.warn(MSG.error_not_logged_in());
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
452 return;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
453 }
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
454
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
455 collectionService.create(locale, user.identifier(),
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
456 new AsyncCallback<Collection>() {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
457 @Override
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
458 public void onFailure(Throwable caught) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
459 GWT.log("Could not create new collection.");
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
460 SC.warn(getExceptionString(MSG, caught));
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
461 }
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
462
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
463 @Override
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
464 public void onSuccess(Collection collection) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
465 GWT.log("Successfully created a new collection.");
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
466 final Collection col = collection;
3980
6cc5186b9b48 Fix typo
Björn Ricks <bjoern.ricks@intevation.de>
parents: 3865
diff changeset
467 artifactService.createGaugeDischargeCurveArtifact(
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
468 col, locale, riv, ref,
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
469 new AsyncCallback<Artifact>() {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
470 @Override
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
471 public void onFailure(Throwable caught) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
472 GWT.log("Could not create the new artifact.");
4062
145980c21700 Handle error conditions more robust.
Christian Lins <christian.lins@intevation.de>
parents: 3989
diff changeset
473 SC.warn(getExceptionString(MSG, caught));
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
474 }
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
475
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
476 @Override
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
477 public void onSuccess(Artifact artifact) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
478 GWT.log("Successfully created a new artifact.");
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
479 CollectionView view = new CollectionView(flys,
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
480 col, artifact);
4141
b3bc5e9ba912 Fix for part a) and c) in issue #918
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4062
diff changeset
481 workspace.addView(col.identifier(), view);
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
482
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
483 view.addCollectionChangeHandler(getProjectList());
4141
b3bc5e9ba912 Fix for part a) and c) in issue #918
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4062
diff changeset
484 view.addCloseClickHandler(
b3bc5e9ba912 Fix for part a) and c) in issue #918
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4062
diff changeset
485 new CloseCollectionViewHandler(
b3bc5e9ba912 Fix for part a) and c) in issue #918
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4062
diff changeset
486 FLYS.this, col.identifier()));
b3bc5e9ba912 Fix for part a) and c) in issue #918
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4062
diff changeset
487 projectList.updateUserCollections();
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
488 }
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
489 });
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
490 }
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
491 });
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3698
diff changeset
492 }
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
493
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
494 @Override
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
495 public void onCollectionChange(CollectionChangeEvent event) {
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
496 Collection oldC = event.getOldValue();
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
497
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
498 if (oldC == null) {
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
499 Collection newC = event.getNewValue();
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
500 lockProject(newC.identifier());
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
501 }
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
502 }
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
503
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
504
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
505
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
506 /**
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
507 * This CloseClickHandler is used to remove lock on a specific Collection so
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
508 * that is might be opened again.
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
509 */
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
510 public class CloseCollectionViewHandler implements CloseClickHandler {
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
511 protected FLYS flys;
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
512 protected String uuid;
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
513
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
514 public CloseCollectionViewHandler(FLYS flys, String uuid) {
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
515 this.flys = flys;
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
516 this.uuid = uuid;
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
517 }
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
518
3501
0de0ef04bcdc Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents: 3381
diff changeset
519 @Override
1619
f8c03d3af300 Reactivated the Enterprise Blue theme. Fixes some icon and image issues in IE8.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1493
diff changeset
520 public void onCloseClick(CloseClickEvent event) {
611
854312c0528c #21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 605
diff changeset
521 flys.closeProject(uuid);
557
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
522 }
92c200887b20 #21 There might be just a single window for each project now. Users can't open a project twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 229
diff changeset
523 }
4601
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
524
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
525 public boolean isProjectListVisible() {
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
526 if (this.projectList == null) {
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
527 return true;
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
528 }
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
529 return this.projectList.isVisible();
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
530 }
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
531
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
532 public void hideProjectList() {
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
533 if (this.projectList != null) {
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
534 this.projectList.hide();
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
535 }
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
536 }
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
537
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
538 public void openProjectList() {
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
539 if (this.projectList != null) {
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
540 this.projectList.show();
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
541 }
16c19d4f1833 Add methods to hide and show the project list in FLYS class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4562
diff changeset
542 }
0
4e8be5e7855f Start of a GWT based client for FLYS-3.0
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
543 }
1
0e22a19852e7 Removed useless auto generated classes and added first ui elements with i18n support.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 0
diff changeset
544 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org