annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/HWSDatacagePanel.java @ 5311:ff9dfc58d0cb

Added new UI provider for HWS inline DC and shapefile upload.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 14 Mar 2013 17:21:00 +0100
parents
children 7fa94b793cbe
rev   line source
5311
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.util.ArrayList;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import java.util.List;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import com.google.gwt.core.client.GWT;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import com.smartgwt.client.widgets.Canvas;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 import com.smartgwt.client.widgets.Label;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import com.smartgwt.client.widgets.grid.ListGridRecord;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import com.smartgwt.client.widgets.layout.HLayout;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import com.smartgwt.client.widgets.layout.VLayout;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.client.shared.model.Data;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import de.intevation.flys.client.shared.model.DataItem;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 import de.intevation.flys.client.shared.model.DataList;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 import de.intevation.flys.client.shared.model.DefaultData;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import de.intevation.flys.client.shared.model.DefaultDataItem;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import de.intevation.flys.client.shared.model.Recommendation;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 import de.intevation.flys.client.shared.model.ToLoad;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 import de.intevation.flys.client.shared.model.User;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 public class HWSDatacagePanel
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 extends DatacagePanel
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 public static final String OUT = "floodmap-hws";
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 public static final String PARAMETERS = "hws:true;load-system:true";
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 public HWSDatacagePanel() {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 super();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 public HWSDatacagePanel(User user) {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 super(user);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 @Override
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 protected void createWidget() {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 super.createWidget();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 widget.setIsMutliSelectable(true);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 @Override
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 public String getOuts() {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 return OUT;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 @Override
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 public String getParameters() {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 return PARAMETERS;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 @Override
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 public List<String> validate() {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 List<String> errors = new ArrayList<String>();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 return errors;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 @Override
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 public Canvas createOld(DataList dataList) {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 GWT.log("old datacage##########################################");
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 HLayout layout = new HLayout();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 VLayout vLayout = new VLayout();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 layout.setWidth("400px");
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 Label label = new Label(dataList.getLabel());
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 label.setWidth("200px");
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 int size = dataList.size();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 for (int i = 0; i < size; i++) {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 Data data = dataList.get(i);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 DataItem[] items = data.getItems();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 for (DataItem item: items) {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 HLayout hLayout = new HLayout();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 hLayout.addMember(label);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 hLayout.addMember(new Label(item.getLabel()));
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 vLayout.addMember(hLayout);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 vLayout.setWidth("130px");
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 Canvas back = getBackButton(dataList.getState());
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 layout.addMember(label);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 layout.addMember(vLayout);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 layout.addMember(back);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 return layout;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
102 @Override
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
103 protected Data[] getData() {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
104 String[] selection = this.widget.getSelectionTitles();
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
105 String result = "";
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106 boolean first = true;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
107 if (selection != null) {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108 for (String record: selection) {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 if (first) {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
110 result += record;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
111 first = false;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
112 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
113 else {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 result += ";" + record;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118 if (result.length() == 0) {
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
119 result = "none";
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 Data[] data = new Data[1];
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 DataItem item = new DefaultDataItem(
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123 "uesk.hws", "uesk.hws", result);
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
124 data[0] = new DefaultData("uesk.hws", null, null, new DataItem[] {item});
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
125
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
126 return data;
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
127 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 }
ff9dfc58d0cb Added new UI provider for HWS inline DC and shapefile upload.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
129 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org