annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageWindow.java @ 8856:5e38e2924c07 3.2.x

Fix code style.
author Tom Gottfried <tom@intevation.de>
date Thu, 18 Jan 2018 20:12:01 +0100
parents ea9eef426962
children e3c2ae1887e8
rev   line source
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5993
ea9eef426962 Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5861
diff changeset
6 * documentation coming with Dive4Elements River for details.
5861
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
172338b1407f GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
9 package org.dive4elements.river.client.client.ui;
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
11 import java.util.ArrayList;
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
12 import java.util.List;
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
13
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 import com.google.gwt.core.client.GWT;
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
15 import com.google.gwt.user.client.rpc.AsyncCallback;
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
17 import com.smartgwt.client.util.SC;
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 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
19
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
20 import org.dive4elements.river.client.client.Config;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
21 import org.dive4elements.river.client.client.FLYSConstants;
816
dc7b1ba05cd4 Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 815
diff changeset
22
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
23 import org.dive4elements.river.client.client.event.DatacageHandler;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
24 import org.dive4elements.river.client.client.event.DatacageDoubleClickHandler;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
25 import org.dive4elements.river.client.client.event.HasRedrawRequestHandlers;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
26 import org.dive4elements.river.client.client.event.RedrawRequestHandler;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
27 import org.dive4elements.river.client.client.event.RedrawRequestEvent;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
28 import org.dive4elements.river.client.client.event.RedrawRequestEvent.Type;
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
29
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
30 import org.dive4elements.river.client.client.services.LoadArtifactService;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
31 import org.dive4elements.river.client.client.services.LoadArtifactServiceAsync;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
32
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
33 import org.dive4elements.river.client.shared.model.Artifact;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
34 import org.dive4elements.river.client.shared.model.ArtifactDescription;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
35 import org.dive4elements.river.client.shared.model.Collection;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
36 import org.dive4elements.river.client.shared.model.Data;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
37 import org.dive4elements.river.client.shared.model.DataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
38 import org.dive4elements.river.client.shared.model.DataList;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
39 import org.dive4elements.river.client.shared.model.ToLoad;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
40 import org.dive4elements.river.client.shared.model.User;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
41 import org.dive4elements.river.client.shared.model.Recommendation;
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42
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
43
4869
d5f5bdaca316 DatacageWindow: Doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4381
diff changeset
44 /** Window that access the datacageservice and shows a datacagewidget. */
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 public class DatacageWindow
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 extends Window
1267
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
47 implements DatacageHandler,
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
48 DatacageDoubleClickHandler,
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
49 HasRedrawRequestHandlers
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 {
1442
4a6814be92ba Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1425
diff changeset
51 /** i18ner. */
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 protected FLYSConstants messages =
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 GWT.create(FLYSConstants.class);
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54
1442
4a6814be92ba Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1425
diff changeset
55 /** Service to create/clone artifacts. */
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
56 protected LoadArtifactServiceAsync loadService =
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
57 GWT.create(LoadArtifactService.class);
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
58
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
59 protected CollectionView view;
278
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
60
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
61 protected List<RedrawRequestHandler> handlers;
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
62
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
63 protected int inProgress;
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
64
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
65
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
66 public DatacageWindow(
2905
51ed89b754ae FLYS client: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1442
diff changeset
67 Artifact artifact,
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
68 User user,
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
69 String outs,
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
70 CollectionView view
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
71 ) {
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
72 this.view = view;
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
73 this.handlers = new ArrayList<RedrawRequestHandler>();
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
74 this.inProgress = 0;
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
75
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
76 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
77 setHeight(500);
278
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
78
1374
7fc8b2a81463 Let Datacage from toolbar show 'static' parts of data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1267
diff changeset
79 DatacageWidget dw = new DatacageWidget(
7fc8b2a81463 Let Datacage from toolbar show 'static' parts of data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1267
diff changeset
80 artifact,
7fc8b2a81463 Let Datacage from toolbar show 'static' parts of data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1267
diff changeset
81 user,
7fc8b2a81463 Let Datacage from toolbar show 'static' parts of data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1267
diff changeset
82 outs,
7fc8b2a81463 Let Datacage from toolbar show 'static' parts of data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1267
diff changeset
83 "load-system:true",
7fc8b2a81463 Let Datacage from toolbar show 'static' parts of data.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 1267
diff changeset
84 true);
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
85 dw.addDatacageHandler(this);
1267
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
86 dw.addDatacageDoubleClickHandler(this);
821
56069d236afa Datacage: Build UI tree in a more compatible style
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 817
diff changeset
87
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
88 addItem(dw);
278
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
89
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
90 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
91 // TODO: i18n
615
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 582
diff changeset
92 setTitle("Datenkorb: " + river);
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 582
diff changeset
93 setShowMinimizeButton(false);
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 582
diff changeset
94 setIsModal(true);
ba1b27b7d282 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 582
diff changeset
95 setShowModalMask(true);
278
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
96 setCanDragResize(true);
f33af25b7490 Datacage: transport rpc result to ui.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 276
diff changeset
97
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
98 centerInPage();
822
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
99 }
ffb98b228b3c Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 821
diff changeset
100
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 848
diff changeset
101
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
102 @Override
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
103 public void toLoad(ToLoad toLoad) {
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
104 destroy();
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
105 List<Recommendation> recs = toLoad.toRecommendations();
4381
80f5d1f2d4fd Converting from list to array doesn't make sence here
Björn Ricks <bjoern.ricks@intevation.de>
parents: 2905
diff changeset
106 loadArtifacts(recs);
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
107 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
108
864
c0e13cf826d7 Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 848
diff changeset
109
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
110 @Override
1267
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
111 public void onDoubleClick(ToLoad toLoad) {
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
112 destroy();
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
113 List<Recommendation> recs = toLoad.toRecommendations();
4381
80f5d1f2d4fd Converting from list to array doesn't make sence here
Björn Ricks <bjoern.ricks@intevation.de>
parents: 2905
diff changeset
114 loadArtifacts(recs);
1267
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
115 }
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
116
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
117
07aa1f504491 Bugfix: #323 A double click in the datacage widget triggers the DatacageDoubleClickHandler.onDoubleClick() method of all registered handlers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 911
diff changeset
118 @Override
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
119 public void addRedrawRequestHandler(RedrawRequestHandler handler) {
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
120 if (handler != null) {
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
121 handlers.add(handler);
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
122 }
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
123 }
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
124
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
125
848
9ecd58f619a4 Moved datacage into a separated widget.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 837
diff changeset
126 protected String findRiver(Artifact artifact) {
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
127 ArtifactDescription adescr = artifact.getArtifactDescription();
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
128 DataList [] data = adescr.getOldData();
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
130 if (data != null && data.length > 0) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
131 for (int i = 0; i < data.length; i++) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
132 DataList dl = data[i];
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
133 if (dl.getState().equals("state.winfo.river")) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
134 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
135 Data d = dl.get(j);
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
136 DataItem [] di = d.getItems();
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
137 if (di != null && di.length == 1) {
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
138 return d.getItems()[0].getStringValue();
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
139 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
140 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
141 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
142 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
143 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
144
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
145 return "";
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
146 }
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
147
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
148
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
149 protected void decreateInProgress() {
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
150 if (this.inProgress > 0) {
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
151 this.inProgress--;
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
152 }
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
153
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
154 if (this.inProgress == 0) {
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
155 fireRedrawRequest();
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
156 }
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
157 }
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
158
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
159
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
160 protected void fireRedrawRequest() {
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
161 RedrawRequestEvent evt = new RedrawRequestEvent(Type.DEFAULT);
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
162
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
163 for (RedrawRequestHandler handler: handlers) {
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
164 handler.onRedrawRequest(evt);
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
165 }
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
166 }
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
167
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
168
4381
80f5d1f2d4fd Converting from list to array doesn't make sence here
Björn Ricks <bjoern.ricks@intevation.de>
parents: 2905
diff changeset
169 protected void loadArtifacts(List<Recommendation> recommendations) {
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
170 Config cfg = Config.getInstance();
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
171
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
172 final Collection collection = view.getCollection();
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
173 final Artifact masterArtifact = view.getArtifact();
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
174 final String locale = cfg.getLocale();
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
175
4381
80f5d1f2d4fd Converting from list to array doesn't make sence here
Björn Ricks <bjoern.ricks@intevation.de>
parents: 2905
diff changeset
176 this.inProgress = recommendations.size();
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
177
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
178 for (final Recommendation recommendation: recommendations) {
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
179 // XXX: UGLY! If no reference artifact given use uuid of
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
180 // current artifact as reference.
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
181 if (recommendation.getMasterArtifact() == null) {
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
182 recommendation.setMasterArtifact(masterArtifact.getUuid());
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
183 }
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
184
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
185 final String factory = recommendation.getFactory();
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
186
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
187 GWT.log("Load new artifact with factory: " + factory);
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
188
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
189 loadService.load(
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
190 collection,
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
191 recommendation,
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
192 factory,
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
193 locale,
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
194 new AsyncCallback<Artifact>() {
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
195 public void onFailure(Throwable caught) {
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
196 decreateInProgress();
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 5993
diff changeset
197 GWT.log("Create-artifact failed: "
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 5993
diff changeset
198 + caught.getMessage());
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
199 SC.warn(caught.getMessage());
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
200 }
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
201
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
202 public void onSuccess(Artifact artifact) {
911
4668357b255e #259 Refresh charts after loading new Themes / Artifacts from Datacage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 910
diff changeset
203 decreateInProgress();
910
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
204 GWT.log("Created new artifact: " + artifact.getUuid());
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
205 }
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
206 });
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
207 }
7f72239e56c8 #259 Use the LoadArtifactService to clone Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 864
diff changeset
208 }
276
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
209 }
f4c8ce11df33 UI stub for data cage
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
210 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org