Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/DemDatacagePanel.java @ 2910:ab0014c58ecb
Fix zoom/export issue665, issue459, issue667.
flys-client/trunk@4714 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 20 Jun 2012 07:25:31 +0000 |
parents | c4bc320e3d44 |
children | 360e22afb98b |
rev | line source |
---|---|
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
1447
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
3 import java.util.ArrayList; |
1260
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
4 import java.util.List; |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
5 |
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 import de.intevation.flys.client.shared.model.Data; |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import de.intevation.flys.client.shared.model.DataItem; |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 import de.intevation.flys.client.shared.model.DefaultData; |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 import de.intevation.flys.client.shared.model.DefaultDataItem; |
1260
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
10 import de.intevation.flys.client.shared.model.Recommendation; |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
11 import de.intevation.flys.client.shared.model.ToLoad; |
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 import de.intevation.flys.client.shared.model.User; |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 public class DemDatacagePanel extends DatacagePanel { |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 |
916
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
17 public static final String OUT = "floodmap"; |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
18 public static final String PARAMETERS = "dem:true"; |
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 public DemDatacagePanel() { |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 super(); |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 } |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 public DemDatacagePanel(User user) { |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 super(user); |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 } |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 @Override |
1268
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1260
diff
changeset
|
32 protected void createWidget() { |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1260
diff
changeset
|
33 super.createWidget(); |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1260
diff
changeset
|
34 widget.setIsMutliSelectable(false); |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1260
diff
changeset
|
35 } |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1260
diff
changeset
|
36 |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1260
diff
changeset
|
37 |
d0500e993218
Force a single selection in the datacage widget for DEMs and WSPs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1260
diff
changeset
|
38 @Override |
916
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
39 public User getUser() { |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
40 return null; |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
41 } |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
42 |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
43 |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
44 @Override |
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
45 public String getOuts() { |
916
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
46 return OUT; |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
47 } |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
48 |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
49 |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
50 @Override |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
51 public String getParameters() { |
a1a5dc2b9e34
Improved the DEM datacage panel to display the DEMs only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
901
diff
changeset
|
52 return PARAMETERS; |
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 } |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 @Override |
1447
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
57 public List<String> validate() { |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
58 List<String> errors = new ArrayList<String>(); |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
59 |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
60 Recommendation r = getSelectedRecommendation(); |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
61 if (r == null) { |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
62 errors.add(MSG.requireDGM()); |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
63 } |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
64 |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
65 return errors; |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
66 } |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
67 |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
68 |
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
69 @Override |
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 protected Data[] getData() { |
1260
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
71 Recommendation r = getSelectedRecommendation(); |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
72 |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
73 DataItem item = new DefaultDataItem(dataName, dataName, r.getIDs()); |
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 return new Data[] { new DefaultData( |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 dataName, null, null, new DataItem[] { item }) }; |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 } |
1260
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
77 |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
78 |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
79 protected Recommendation getSelectedRecommendation() { |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
80 ToLoad toLoad = widget.getSelection(); |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
81 List<Recommendation> recoms = toLoad.toRecommendations(); |
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
82 |
1447
c4bc320e3d44
Bugfix: make sure that the user has selected a DEM before feeding the Artifact with it.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1268
diff
changeset
|
83 return recoms != null && recoms.size() >= 1 ? recoms.get(0) : null; |
1260
3a4c14b4a8f1
DemDatacagePanel now returns the database ID of the selected DEM.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
916
diff
changeset
|
84 } |
901
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 } |
3ef7205b814e
Added stubs for two datacage panels - one for choosing waterlevels, one for choosing DEMs.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |