annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageWindow.java @ 864:c0e13cf826d7

Cosmetics, doc. flys-client/trunk@2671 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 08 Sep 2011 06:56:17 +0000
parents 9ecd58f619a4
children 7f72239e56c8
rev   line source
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 import com.google.gwt.core.client.GWT;
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 import com.smartgwt.client.widgets.Window;
821
56069d236afa Datacage: Build UI tree in a more compatible style
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 817
diff changeset
6
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
7 import de.intevation.flys.client.client.FLYSConstants;
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
9 import de.intevation.flys.client.client.event.DatacageHandler;
816
dc7b1ba05cd4 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 815
diff changeset
10
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11 import de.intevation.flys.client.shared.model.Artifact;
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 import de.intevation.flys.client.shared.model.ArtifactDescription;
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.client.shared.model.Data;
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
14 import de.intevation.flys.client.shared.model.DataItem;
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15 import de.intevation.flys.client.shared.model.DataList;
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
16 import de.intevation.flys.client.shared.model.ToLoad;
811
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 615
diff changeset
17 import de.intevation.flys.client.shared.model.User;
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
18 import de.intevation.flys.client.shared.model.Recommendation;
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
20 import java.util.List;
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
814
6db4839e0ba1 Datacage: Added a subclass of TreeNode to carry the informations needed by the loading listeners.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 812
diff changeset
22
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 public class DatacageWindow
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 extends Window
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
25 implements DatacageHandler
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 protected FLYSConstants messages =
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 GWT.create(FLYSConstants.class);
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
30 protected CollectionView view;
278
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
31
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
32 public DatacageWindow(
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
33 Artifact artifact,
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
34 User user,
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
35 String outs,
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
36 CollectionView view
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
37 ) {
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
38 this.view = view;
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
39 setWidth(400);
822
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
40 setHeight(500);
278
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
41
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
42 DatacageWidget dw = new DatacageWidget(artifact, user, outs);
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
43 dw.addDatacageHandler(this);
821
56069d236afa Datacage: Build UI tree in a more compatible style
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 817
diff changeset
44
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
45 addItem(dw);
278
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
46
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
47 String river = findRiver(artifact);
811
8fa303586f14 Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 615
diff changeset
48 // TODO: i18n
615
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 582
diff changeset
49 setTitle("Datenkorb: " + river);
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 582
diff changeset
50 setShowMinimizeButton(false);
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 582
diff changeset
51 setIsModal(true);
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 582
diff changeset
52 setShowModalMask(true);
278
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
53 setCanDragResize(true);
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
54
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 centerInPage();
822
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
56 }
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
57
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 848
diff changeset
58
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
59 @Override
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
60 public void toLoad(ToLoad toLoad) {
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
61 destroy();
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
62 List<Recommendation> recs = toLoad.toRecommendations();
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
63 view.loadRecommendedArtifacts(
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
64 recs.toArray(new Recommendation[recs.size()]));
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 848
diff changeset
67
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
68 protected String findRiver(Artifact artifact) {
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
69 ArtifactDescription adescr = artifact.getArtifactDescription();
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 DataList [] data = adescr.getOldData();
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72 if (data != null && data.length > 0) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73 for (int i = 0; i < data.length; i++) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
74 DataList dl = data[i];
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
75 if (dl.getState().equals("state.winfo.river")) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
76 for (int j = dl.size()-1; j >= 0; --j) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77 Data d = dl.get(j);
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
78 DataItem [] di = d.getItems();
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
79 if (di != null && di.length == 1) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
80 return d.getItems()[0].getStringValue();
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
81 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
82 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
83 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
84 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
85 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
86
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
87 return "";
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
88 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
89 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
90 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org