Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java @ 9150:23945061daec
gigantic refactoring: exporter, result, results
to support multiple jaspers -> collisions
author | gernotbelger |
---|---|
date | Thu, 14 Jun 2018 16:56:31 +0200 |
parents | 28df64078f27 |
children | abf14917be32 |
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:
5871
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:
5871
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; |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
11 import java.util.ArrayList; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
12 import java.util.HashMap; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
13 import java.util.List; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
14 import java.util.Map; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
15 import java.util.Set; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
16 import java.util.Stack; |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
18 import org.dive4elements.river.client.client.Config; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
19 import org.dive4elements.river.client.client.FLYS; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
20 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
21 import org.dive4elements.river.client.client.event.CollectionChangeEvent; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
22 import org.dive4elements.river.client.client.event.CollectionChangeHandler; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
23 import org.dive4elements.river.client.client.event.HasCollectionChangeHandlers; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
24 import org.dive4elements.river.client.client.event.HasOutputModesChangeHandlers; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
25 import org.dive4elements.river.client.client.event.OutputModesChangeEvent; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
26 import org.dive4elements.river.client.client.event.OutputModesChangeHandler; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
27 import org.dive4elements.river.client.client.event.ParameterChangeEvent; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
28 import org.dive4elements.river.client.client.event.ParameterChangeHandler; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
29 import org.dive4elements.river.client.client.services.AddArtifactService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
30 import org.dive4elements.river.client.client.services.AddArtifactServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
31 import org.dive4elements.river.client.client.services.ArtifactService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
32 import org.dive4elements.river.client.client.services.ArtifactServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
33 import org.dive4elements.river.client.client.services.CollectionAttributeService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
34 import org.dive4elements.river.client.client.services.CollectionAttributeServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
35 import org.dive4elements.river.client.client.services.CreateCollectionService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
36 import org.dive4elements.river.client.client.services.CreateCollectionServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
37 import org.dive4elements.river.client.client.services.DescribeCollectionService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
38 import org.dive4elements.river.client.client.services.DescribeCollectionServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
39 import org.dive4elements.river.client.client.services.LoadArtifactService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
40 import org.dive4elements.river.client.client.services.LoadArtifactServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
41 import org.dive4elements.river.client.shared.model.Artifact; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
42 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
43 import org.dive4elements.river.client.shared.model.Collection; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
44 import org.dive4elements.river.client.shared.model.ExportMode; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
45 import org.dive4elements.river.client.shared.model.OutputMode; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
46 import org.dive4elements.river.client.shared.model.Recommendation; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
47 import org.dive4elements.river.client.shared.model.ReportMode; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
48 import org.dive4elements.river.client.shared.model.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:
diff
changeset
|
49 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
50 import com.google.gwt.core.client.GWT; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
51 import com.google.gwt.user.client.rpc.AsyncCallback; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
52 import com.smartgwt.client.util.SC; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
53 import com.smartgwt.client.widgets.Window; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
54 import com.smartgwt.client.widgets.events.CloseClickEvent; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
55 import com.smartgwt.client.widgets.events.CloseClickHandler; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
56 import com.smartgwt.client.widgets.layout.Layout; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
57 import com.smartgwt.client.widgets.layout.VLayout; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
58 import com.smartgwt.client.widgets.tab.TabSet; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
59 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler; |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 /** |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
64 public class CollectionView extends Window implements CollectionChangeHandler, HasCollectionChangeHandlers, OutputModesChangeHandler, HasOutputModesChangeHandlers, ParameterChangeHandler, CloseClickHandler { |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
65 /** The ArtifactService used to communicate with the Artifact server. */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
66 protected CreateCollectionServiceAsync createCollectionService = GWT.create(CreateCollectionService.class); |
26
c19985f75118
Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
23
diff
changeset
|
67 |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
68 /** The ArtifactService used to communicate with the Artifact server. */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
69 protected ArtifactServiceAsync createArtifactService = GWT.create(ArtifactService.class); |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
70 |
71
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
71 /** The AddArtifactService used to add an artifact to a collection. */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
72 protected AddArtifactServiceAsync addArtifactService = GWT.create(AddArtifactService.class); |
71
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
73 |
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:
92
diff
changeset
|
74 /** The DescribeCollectionService used to update the existing collection. */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
75 protected DescribeCollectionServiceAsync describeCollectionService = GWT.create(DescribeCollectionService.class); |
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:
92
diff
changeset
|
76 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
77 protected CollectionAttributeServiceAsync updater = GWT.create(CollectionAttributeService.class); |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
78 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
79 /** The LoadArtifactService used to load recommendations */ |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
80 protected LoadArtifactServiceAsync loadArtifactService = GWT.create(LoadArtifactService.class); |
1515 | 81 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
82 /** The message class that provides i18n strings. */ |
211
b92281182c6b
Removed the FLYSMessages interface and replaced it with a FLYSConstants interface - this interface has the ability to lookup i18n strings with given keys.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
102
diff
changeset
|
83 protected FLYSConstants messages = GWT.create(FLYSConstants.class); |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
85 /** The FLYS instance used to call services. */ |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
86 protected FLYS flys; |
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
87 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
88 /** The ParameterList. */ |
23
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
89 protected ParameterList parameterList; |
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
90 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
91 /** The list of CollectionChangeHandlers. */ |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
92 protected List<CollectionChangeHandler> handlers; |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
93 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
94 /** The list of OutputModesChangeHandlers. */ |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
95 protected List<OutputModesChangeHandler> outHandlers; |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
96 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
97 /** The collection to be displayed. */ |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 protected Collection collection; |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
100 /** The artifact that handles the parameterization. */ |
30
5709bd8f4d7c
Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
26
diff
changeset
|
101 protected Artifact artifact; |
5709bd8f4d7c
Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
26
diff
changeset
|
102 |
23
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
103 protected TabSet tabs; |
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
104 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
105 /** The output tab. */ |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
106 protected Map<String, OutputTab> outputTabs; |
7
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
107 |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
108 /** The layout. */ |
23
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
109 protected Layout layout; |
3366
8bedd1fcaeee
Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3363
diff
changeset
|
110 |
5487
a87fe0d2c928
CollectionView: removed and use functionality that was moved to LockScreen.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4690
diff
changeset
|
111 /** Layout to show spinning wheel of joy. */ |
3353
08f8524a81ad
Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3347
diff
changeset
|
112 protected VLayout lockScreen; |
23
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
113 |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
114 protected int artifactsQueue; |
1512 | 115 protected int recommendationQueue; |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
116 protected Stack<Recommendation> newRecommendations; |
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
117 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
118 /** Values for fix analysis charts */ |
2906
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
119 protected double currentKm; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
120 protected double minKm; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
121 protected double maxKm; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
122 protected double steps; |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 /** |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 * This constructor creates a new CollectionView that is used to display the |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 * <i>collection</i>. |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
128 public CollectionView(final FLYS flys) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
129 this.flys = flys; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
130 this.tabs = new TabSet(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
131 this.outputTabs = new HashMap<String, OutputTab>(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
132 this.handlers = new ArrayList<CollectionChangeHandler>(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
133 this.outHandlers = new ArrayList<OutputModesChangeHandler>(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
134 this.layout = new VLayout(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
135 this.parameterList = new ParameterList(flys, this, this.messages.new_project()); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
136 this.artifactsQueue = 0; |
1512 | 137 this.recommendationQueue = 0; |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
138 this.newRecommendations = new Stack<Recommendation>(); |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
139 |
2906
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
140 this.currentKm = -1d; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
141 this.minKm = -1d; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
142 this.maxKm = -1d; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
143 this.steps = -1d; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
144 |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
145 addCollectionChangeHandler(this); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
146 addCollectionChangeHandler(this.parameterList); |
611
854312c0528c
#21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
601
diff
changeset
|
147 addCollectionChangeHandler(flys); |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
148 addOutputModesChangeHandler(this); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
149 addOutputModesChangeHandler(this.parameterList); |
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:
537
diff
changeset
|
150 addCloseClickHandler(this); |
73
39210a74db07
Moved parameterization specific code from CollectionView to ParameterList.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
72
diff
changeset
|
151 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
152 this.parameterList.addParameterChangeHandler(this); |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
153 |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 init(); |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 } |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 |
1557
964e90c5b4c1
Invested 2 seconds after losing 3.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1539
diff
changeset
|
157 /** |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
158 * @param collection |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
159 * The collection to be displayed. |
1557
964e90c5b4c1
Invested 2 seconds after losing 3.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1539
diff
changeset
|
160 */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
161 public CollectionView(final FLYS flys, final Collection collection, final Artifact artifact) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
162 this.flys = flys; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
163 this.artifact = artifact; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
164 this.collection = collection; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
165 this.tabs = new TabSet(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
166 this.outputTabs = new HashMap<String, OutputTab>(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
167 this.handlers = new ArrayList<CollectionChangeHandler>(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
168 this.outHandlers = new ArrayList<OutputModesChangeHandler>(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
169 this.layout = new VLayout(); |
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:
1270
diff
changeset
|
170 |
2906
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
171 this.currentKm = -1d; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
172 this.minKm = -1d; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
173 this.maxKm = -1d; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
174 this.steps = -1d; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
175 |
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:
1270
diff
changeset
|
176 if (artifact != null) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
177 this.parameterList = new ParameterList(flys, this, |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
178 // FIXME: literally every information about the artifact is transported from the server side |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
179 // but... the international name is resolved client-side.... Instead also transport the description of the artifact and |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
180 // use it! |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
181 // FIXME: the same holds for a very few other international strings (e.g. names of facets used in Tabs) |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
182 this.messages.getString(artifact.getName()), artifact); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
183 } else { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
184 this.parameterList = new ParameterList(flys, this, this.messages.new_project()); |
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:
1270
diff
changeset
|
185 } |
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:
1270
diff
changeset
|
186 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
187 this.artifactsQueue = 0; |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
188 this.newRecommendations = new Stack<Recommendation>(); |
224
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
diff
changeset
|
189 |
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
diff
changeset
|
190 addCollectionChangeHandler(this); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
191 addCollectionChangeHandler(this.parameterList); |
611
854312c0528c
#21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
601
diff
changeset
|
192 addCollectionChangeHandler(flys); |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
193 addOutputModesChangeHandler(this); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
194 addOutputModesChangeHandler(this.parameterList); |
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:
537
diff
changeset
|
195 addCloseClickHandler(this); |
224
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
diff
changeset
|
196 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
197 this.parameterList.addParameterChangeHandler(this); |
224
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
diff
changeset
|
198 |
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
diff
changeset
|
199 init(); |
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
diff
changeset
|
200 |
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
diff
changeset
|
201 setCollection(collection); |
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:
1270
diff
changeset
|
202 |
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:
1270
diff
changeset
|
203 if (artifact != 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:
1270
diff
changeset
|
204 setArtifact(artifact); |
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:
1270
diff
changeset
|
205 } |
224
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
diff
changeset
|
206 } |
a4a68b4ee2a3
Improved the CollectionView and the ParameterList - both can be initialized with an existing artifact (parameterization).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
215
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:
diff
changeset
|
208 /** |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
209 * This method handles the initial layout stuff. |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
210 */ |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
211 protected void init() { |
3347
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2983
diff
changeset
|
212 setWidth(1010); |
6d749af6a9c2
Issue #726 work.
Christian Lins <christian.lins@intevation.de>
parents:
2983
diff
changeset
|
213 setHeight(700); |
3547
8a16ff3b9a7f
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3522
diff
changeset
|
214 |
3522
6eeacd0bbe26
New projects are now maximized by default.
Christian Lins <christian.lins@intevation.de>
parents:
3501
diff
changeset
|
215 setMaximized(true); |
3547
8a16ff3b9a7f
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3522
diff
changeset
|
216 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
217 this.layout.setWidth100(); |
23
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
218 |
77
5b5ec0403844
Limited the area for CollectionView to the size of FLYSWorkspace.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
75
diff
changeset
|
219 setCanDragReposition(true); |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
220 setCanDragResize(true); |
437
7fa15845fecf
ISSUE-35 The project view has a maximize button now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
276
diff
changeset
|
221 setShowMaximizeButton(true); |
77
5b5ec0403844
Limited the area for CollectionView to the size of FLYSWorkspace.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
75
diff
changeset
|
222 setKeepInParentRect(true); |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
223 |
84
b8acb6a615f2
Removed the title (date string) of CollectionViews.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
77
diff
changeset
|
224 setTitle(""); |
7
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
225 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
226 addItem(this.layout); |
7
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
227 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
228 this.layout.addMember(this.tabs); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
229 this.tabs.addTab(this.parameterList); |
7
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
230 } |
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
231 |
26
c19985f75118
Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
23
diff
changeset
|
232 protected FLYS getFlys() { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
233 return this.flys; |
26
c19985f75118
Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
23
diff
changeset
|
234 } |
c19985f75118
Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
23
diff
changeset
|
235 |
c19985f75118
Implemented a service that triggers the artifact-collection creation in the artifact server.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
23
diff
changeset
|
236 /** |
864
c0e13cf826d7
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
862
diff
changeset
|
237 * This method registers a new CollectionChangeHandler. |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
238 * |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
239 * @param handler |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
240 * The new CollectionChangeHandler. |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
241 */ |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
2906
diff
changeset
|
242 @Override |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
243 public void addCollectionChangeHandler(final CollectionChangeHandler handler) { |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
244 if (handler != null) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
245 this.handlers.add(handler); |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
246 } |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
247 } |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
248 |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
249 /** |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
250 * This method registers a new OutputModesChangeHandler. |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
251 * |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
252 * @param handler |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
253 * The new OutputModesChangeHandler. |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
254 */ |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
2906
diff
changeset
|
255 @Override |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
256 public void addOutputModesChangeHandler(final OutputModesChangeHandler handler) { |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
257 if (handler != null) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
258 this.outHandlers.add(handler); |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
259 } |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
260 } |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
261 |
36
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
262 /** |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
263 * This method calls the <code>onValueChange()</code> method of all |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
264 * registered ValueChangeHanders. |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
265 */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
266 protected void fireCollectionChangeEvent(final Collection old, final Collection newCol) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
267 for (final CollectionChangeHandler handler : this.handlers) { |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
268 handler.onCollectionChange(new CollectionChangeEvent(old, newCol)); |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
269 } |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
270 } |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
271 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
272 protected void fireOutputModesChangeEvent(final OutputMode[] outputs) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
273 if (this.collection == null) { |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
274 return; |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
275 } |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
276 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
277 for (final OutputModesChangeHandler handler : this.outHandlers) { |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
278 handler.onOutputModesChange(new OutputModesChangeEvent(outputs)); |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
279 } |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
280 } |
3366
8bedd1fcaeee
Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3363
diff
changeset
|
281 |
3549
6a8f83c538e3
Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3547
diff
changeset
|
282 /** Disables input, grey out, show spinning wheel of joy. */ |
3353
08f8524a81ad
Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3347
diff
changeset
|
283 public void lockUI() { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
284 this.lockScreen = ScreenLock.lockUI(this.layout, this.lockScreen); |
3353
08f8524a81ad
Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3347
diff
changeset
|
285 } |
3366
8bedd1fcaeee
Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3363
diff
changeset
|
286 |
3549
6a8f83c538e3
Merged revisions 5384 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3547
diff
changeset
|
287 /** Enable input, remove grey, remove spinning wheel of joy. */ |
3353
08f8524a81ad
Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3347
diff
changeset
|
288 public void unlockUI() { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
289 ScreenLock.unlockUI(this.layout, this.lockScreen); |
3353
08f8524a81ad
Lock the screen when the parameterization of a Collection's master Artifact changes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3347
diff
changeset
|
290 } |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
291 |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
292 /** |
7
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
293 * This method returns true, if the Collection is new and no plugins has |
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
294 * been chosen. |
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
295 * |
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
296 * @return true, if the Collection is new. |
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
297 */ |
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
298 public boolean isNew() { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
299 return this.collection.hasItems(); |
7
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
300 } |
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
301 |
a65793e08245
Radio buttons for each plugin are displayed if a new CollectionView is created.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
6
diff
changeset
|
302 /** |
71
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
303 * Returns the artifact that is used for the parameterization. |
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
304 * |
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
305 * @return the artifact that is used for the parameterization. |
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
306 */ |
521
fc60822e9c89
Added a new package 'chart' that should be the place where chart relevant classes should be stored. Moved ChartOutputTab into that package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
513
diff
changeset
|
307 public Artifact getArtifact() { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
308 return this.artifact; |
71
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
309 } |
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
310 |
811
8fa303586f14
Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
809
diff
changeset
|
311 public User getUser() { |
8fa303586f14
Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
809
diff
changeset
|
312 return getFlys().getCurrentUser(); |
8fa303586f14
Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
809
diff
changeset
|
313 } |
8fa303586f14
Pass user id to the meta data service.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
809
diff
changeset
|
314 |
71
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
315 /** |
30
5709bd8f4d7c
Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
26
diff
changeset
|
316 * Set the current artifact that is the master of the parameterization. |
5709bd8f4d7c
Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
26
diff
changeset
|
317 * |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
318 * @param artifact |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
319 * The new artifact. |
30
5709bd8f4d7c
Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
26
diff
changeset
|
320 */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
321 public void setArtifact(final Artifact artifact) { |
30
5709bd8f4d7c
Added a new widget that combines the module and the river selection. Users can now choose the desired plugin and river in one step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
26
diff
changeset
|
322 this.artifact = artifact; |
862
c9549074ecd1
Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
847
diff
changeset
|
323 |
c9549074ecd1
Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
847
diff
changeset
|
324 onArtifactChanged(artifact); |
c9549074ecd1
Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
847
diff
changeset
|
325 } |
c9549074ecd1
Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
847
diff
changeset
|
326 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
327 public void onArtifactChanged(final Artifact artifact) { |
1270
ea9a73782de4
Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
917
diff
changeset
|
328 artifactChanged(); |
ea9a73782de4
Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
917
diff
changeset
|
329 |
862
c9549074ecd1
Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
847
diff
changeset
|
330 if (artifact.isInBackground()) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
331 final LoadingPanel p = new LoadingPanel(this, artifact); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
332 p.addStepBackHandler(this.parameterList); |
862
c9549074ecd1
Parse Artifact's 'background-processing' attribute and lock the UI if this attribute is true.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
847
diff
changeset
|
333 } |
36
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
334 } |
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
335 |
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
336 /** |
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
337 * Implements the onCollectionChange() method to do update the GUI after the |
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
338 * parameterization has changed. |
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
339 * |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
340 * @param event |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
341 * The ParameterChangeEvent. |
36
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
342 */ |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
2906
diff
changeset
|
343 @Override |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
344 public void onParameterChange(final ParameterChangeEvent event) { |
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:
92
diff
changeset
|
345 GWT.log("CollectionView.onParameterChange"); |
1270
ea9a73782de4
Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
917
diff
changeset
|
346 setArtifact(event.getNewValue()); |
ea9a73782de4
Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
917
diff
changeset
|
347 } |
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:
92
diff
changeset
|
348 |
1270
ea9a73782de4
Bugfix: #321 Refresh the parameter list after a calculation is finished.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
917
diff
changeset
|
349 protected void artifactChanged() { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
350 final Collection c = getCollection(); |
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:
92
diff
changeset
|
351 |
908
a680ccec5dd6
Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
864
diff
changeset
|
352 if (c != null) { |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
353 loadCollection(c); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
354 } else { |
71
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
355 updateView(); |
987567f31200
Adjusted the return type of the CreateCollectionService and added code to react on Collection changes (like output modes).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
60
diff
changeset
|
356 } |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
357 } |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
358 |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
359 /** |
6578 | 360 * Loads all information of a collection. |
361 * If 'recommendations' present, load these. | |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
362 * |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
363 * @param c |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
364 * the Collection |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
365 */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
366 private void loadCollection(final Collection c) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
367 final ArtifactDescription desc = getArtifact().getArtifactDescription(); |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
368 final Recommendation[] recom = desc.getRecommendations(); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
369 final Config config = Config.getInstance(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
370 final String locale = config.getLocale(); |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
371 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
372 this.describeCollectionService.describe(c.identifier(), locale, new AsyncCallback<Collection>() { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
373 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
374 public void onFailure(final Throwable caught) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
375 GWT.log("Could not DESCRIBE collection."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
376 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught)); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
377 } |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
378 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
379 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
380 public void onSuccess(final Collection newCollection) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
381 GWT.log("Successfully DESCRIBED collection."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
382 boolean loaded = true; |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
383 for (final Recommendation r : recom) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
384 if (!newCollection.loadedRecommendation(r)) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
385 loaded = false; |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
386 } |
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
387 } |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
388 if (!loaded) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
389 loadRecommendedArtifacts(recom); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
390 } else { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
391 setCollection(newCollection); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
392 } |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
393 } |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
394 }); |
4661
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
395 } |
5025acdb3815
Move loading of the full Collection to an own method
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4660
diff
changeset
|
396 |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
397 /** |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
398 * Returns the collection of displayed by this view. |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
399 * |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
400 * @return the collection of this view. |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
401 */ |
537
d2c37ba78feb
The collection object in the CollectionView is now accessible via getter method.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
521
diff
changeset
|
402 public Collection getCollection() { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
403 return this.collection; |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
404 } |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
405 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
406 protected void setCollection(final Collection collection) { |
908
a680ccec5dd6
Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
864
diff
changeset
|
407 setCollection(collection, false); |
a680ccec5dd6
Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
864
diff
changeset
|
408 } |
a680ccec5dd6
Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
864
diff
changeset
|
409 |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
410 /** |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
411 * Set the current collection. |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
412 * |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
413 * @param collection |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
414 * The new collection. |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
415 * @param suppress |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
416 * Whether to fire a collectionchangeevent. |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
417 */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
418 protected void setCollection(final Collection collection, final boolean suppress) { |
601
3cf6ee30207c
Register newly created CollectionViews at FLYSWorkspace to avoid an inconsistent view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
593
diff
changeset
|
419 if (collection != null && this.collection == null) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
420 this.flys.getWorkspace().addView(collection.identifier(), this); |
601
3cf6ee30207c
Register newly created CollectionViews at FLYSWorkspace to avoid an inconsistent view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
593
diff
changeset
|
421 } |
3cf6ee30207c
Register newly created CollectionViews at FLYSWorkspace to avoid an inconsistent view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
593
diff
changeset
|
422 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
423 final Collection tmp = this.collection; |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
424 this.collection = collection; |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
425 |
4690
7c59baa150bd
Use display name of the Collection in CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4661
diff
changeset
|
426 setTitle(collection.getDisplayName()); |
908
a680ccec5dd6
Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
864
diff
changeset
|
427 |
a680ccec5dd6
Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
864
diff
changeset
|
428 if (!suppress) { |
a680ccec5dd6
Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
864
diff
changeset
|
429 fireCollectionChangeEvent(tmp, this.collection); |
a680ccec5dd6
Create new collections initially when starting a new project.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
864
diff
changeset
|
430 } |
19
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
431 } |
f48b2cb2e219
The CollectionView implements the HasCollectionChangeHandlers interface now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
14
diff
changeset
|
432 |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
2906
diff
changeset
|
433 @Override |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
434 public void onCollectionChange(final CollectionChangeEvent event) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
435 if (this.artifactsQueue > 0) { |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
436 GWT.log("Do not update UI because we are still loading Artifacts."); |
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
437 return; |
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
438 } |
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
439 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
440 final Collection newCol = event.getNewValue(); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
441 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
442 final Map<String, OutputMode> outs = newCol.getOutputModes(); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
443 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
444 final Set<String> keys = outs.keySet(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
445 final OutputMode[] prepared = new OutputMode[outs.size()]; |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
446 |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
447 int idx = 0; |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
448 for (final String outname : keys) { |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
449 prepared[idx++] = outs.get(outname); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
450 } |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
451 |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
452 fireOutputModesChangeEvent(prepared); |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
453 |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
454 updateView(); |
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
455 } |
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
456 |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
2906
diff
changeset
|
457 @Override |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
458 public void onOutputModesChange(final OutputModesChangeEvent event) { |
788
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
459 clearOutputTabs(); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
460 final OutputMode[] outs = event.getOutputModes(); |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
461 |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
462 if (outs == null) { |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
463 return; |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
464 } |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
465 |
788
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
466 boolean hasCSV = false; |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
467 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
468 for (final OutputMode out : outs) { |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
469 addOutputTab(out.getName(), out); |
788
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
470 |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
471 if (out instanceof ExportMode) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
472 final ExportMode export = (ExportMode) out; |
788
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
473 |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
474 if (export.getFacet("csv") != null) { |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
475 hasCSV = true; |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
476 } |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
477 } |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
478 } |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
479 |
dfbc6693247e
Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
611
diff
changeset
|
480 if (!hasCSV) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
481 this.parameterList.removeTable(); |
513
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
482 } |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
483 } |
e090fbd5a535
Added a mechanism to listen to changes relating to output modes of collections and artifacts. Solves a part of ISSUE-62.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
437
diff
changeset
|
484 |
36
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
485 /** |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
486 * Adds a new tab for the OutputMode <i>out</i>. |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
487 * |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
488 * @param name |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
489 * The name and title of the output. |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
490 */ |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
491 protected void addOutputTab(final String name, final OutputMode out) { |
270
d01b0d81b92a
Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
260
diff
changeset
|
492 if (out instanceof ExportMode) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
493 final ExportMode export = (ExportMode) out; |
256
5e1c1b7d6516
Added table and service for calculation output to UI.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
239
diff
changeset
|
494 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
495 if (export.getFacet("csv") != null && !this.parameterList.hasTable()) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
496 final TableDataPanel p = new TableDataPanel(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
497 p.setUuid(this.collection.identifier()); |
270
d01b0d81b92a
Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
260
diff
changeset
|
498 p.setName(out.getName()); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
499 this.parameterList.setTable(p); |
270
d01b0d81b92a
Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
260
diff
changeset
|
500 } |
d01b0d81b92a
Parse the facets of a Collection and distinguish between an ordinary OutputMode and an ExportMode (new).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
260
diff
changeset
|
501 |
239
47fe77a1bac7
Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
502 return; |
47fe77a1bac7
Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
503 } |
47fe77a1bac7
Added new i18n strings for new output modes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
229
diff
changeset
|
504 |
593
c0477626ae6a
#156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
582
diff
changeset
|
505 if (out instanceof ReportMode) { |
c0477626ae6a
#156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
582
diff
changeset
|
506 // we don't want to display report modes at all |
c0477626ae6a
#156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
582
diff
changeset
|
507 return; |
c0477626ae6a
#156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
582
diff
changeset
|
508 } |
c0477626ae6a
#156 Do not display report modes as tabs in the project view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
582
diff
changeset
|
509 |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
510 GWT.log("Add new output tab for '" + name + "'"); |
75
571843833129
Added a panel that will be used to display chart output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
74
diff
changeset
|
511 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
512 final String title = this.messages.getString(name); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
513 final OutputTab tab = out.createOutputTab(title, getCollection(), this); |
796
cd8603aaa730
Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
788
diff
changeset
|
514 |
cd8603aaa730
Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
788
diff
changeset
|
515 if (tab != null) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
516 this.outputTabs.put(name, tab); |
796
cd8603aaa730
Improved the process of creating OutputTabs. Added support for map output.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
788
diff
changeset
|
517 } |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
518 } |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
519 |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
520 /** |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
521 * Removes all output mode tabs from tab bar. |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
522 */ |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
523 protected void clearOutputTabs() { |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
524 GWT.log("Clear OutputTabs."); |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
525 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
526 final int num = this.tabs.getNumTabs(); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
527 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
528 for (int i = num - 1; i >= 1; i--) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
529 this.tabs.removeTab(i); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
530 } |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
531 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
532 this.outputTabs.clear(); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
533 } |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
534 |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
535 /** |
23
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
536 * Update the view (refresh the list of old and current data). |
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
537 */ |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
538 protected void updateView() { |
36
3cacc9d2dd01
CollectionView implements HasParameterChangeHandler and ParameterChangeHandler interfaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
32
diff
changeset
|
539 GWT.log("CollectionView.updateView()"); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
540 updateOutputTabs(); |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
541 } |
23
dc086030e6a3
The CollectionView is able to create new instances of a WINFO artifact and to display the artifact's state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
19
diff
changeset
|
542 |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
543 /** |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
544 * This method is used to update the tabs to show specific output modes. |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
545 */ |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
546 protected void updateOutputTabs() { |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
547 GWT.log("Update output tabs."); |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
548 if (this.outputTabs != null) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
549 final Set<String> keys = this.outputTabs.keySet(); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
550 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
551 for (final String key : keys) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
552 this.tabs.addTab(this.outputTabs.get(key)); |
74
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
553 } |
c5586446f3c0
Available output modes are displayed in the tab bar of the collection view.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
73
diff
changeset
|
554 } |
13
8d9075c07667
Enhanced the CollectionView: there are radio buttons for each module and a button to select one of those.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
7
diff
changeset
|
555 } |
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:
537
diff
changeset
|
556 |
2983
725470fc57d2
Add "Manage themes" button to ChartToolbar and MapToolbar.
Christian Lins <christian.lins@intevation.de>
parents:
2906
diff
changeset
|
557 @Override |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
558 public void onCloseClick(final CloseClickEvent event) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
559 if (this.collection != null) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
560 if (this.artifact != null) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
561 this.flys.closeProject(this.collection.identifier()); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
562 } else { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
563 this.flys.getProjectList().deleteCollection(this.collection); |
3501
0de0ef04bcdc
Delete empty project after closing CollectionView (#785).
Christian Lins <christian.lins@intevation.de>
parents:
3366
diff
changeset
|
564 } |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
565 } else { |
611
854312c0528c
#21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
601
diff
changeset
|
566 hide(); |
854312c0528c
#21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
601
diff
changeset
|
567 destroy(); |
854312c0528c
#21 Newly created projects cannot be opened twice.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
601
diff
changeset
|
568 } |
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:
537
diff
changeset
|
569 } |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
570 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
571 public void addArtifactToCollection(final Artifact artifact) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
572 final Config config = Config.getInstance(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
573 final String locale = config.getLocale(); |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
574 final Collection collection = getCollection(); |
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
575 |
4659
518d60dfe6bf
Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4658
diff
changeset
|
576 GWT.log("CollectionView.addArtifactToCollection " + collection); |
518d60dfe6bf
Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4658
diff
changeset
|
577 |
518d60dfe6bf
Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4658
diff
changeset
|
578 if (collection != null) { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
579 this.addArtifactService.add(collection, artifact, locale, new AsyncCallback<Collection>() { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
580 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
581 public void onFailure(final Throwable caught) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
582 GWT.log("An error occured while adding artifact."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
583 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught)); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
584 } |
4659
518d60dfe6bf
Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4658
diff
changeset
|
585 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
586 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
587 public void onSuccess(final Collection newCollection) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
588 GWT.log("Successfully added artifacts."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
589 setCollection(newCollection); |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
590 } |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
591 }); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
592 } else { |
6578 | 593 // Create new collection and add artifact. |
4659
518d60dfe6bf
Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4658
diff
changeset
|
594 final Artifact art = artifact; |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
595 this.createCollectionService.create(locale, this.flys.getCurrentUser().identifier(), new AsyncCallback<Collection>() { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
596 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
597 public void onFailure(final Throwable caught) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
598 GWT.log("Could not create the new collection."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
599 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught)); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
600 } |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
601 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
602 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
603 public void onSuccess(final Collection collection) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
604 GWT.log("Successfully created a new collection."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
605 CollectionView.this.addArtifactService.add(collection, art, locale, new AsyncCallback<Collection>() { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
606 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
607 public void onFailure(final Throwable caught) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
608 GWT.log("An error occured while " + "adding artifact."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
609 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught)); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
610 } |
4659
518d60dfe6bf
Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4658
diff
changeset
|
611 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
612 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
613 public void onSuccess(final Collection newCollection) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
614 GWT.log("Successfully added artifacts."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
615 setCollection(newCollection); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
616 } |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
617 }); |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
618 } |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
619 }); |
4659
518d60dfe6bf
Create a Collection if an artifact is added to the CollectionView
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4658
diff
changeset
|
620 } |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
621 } |
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
622 |
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
623 protected void addRecommendationsToCollection() { |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
624 final Config config = Config.getInstance(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
625 final String locale = config.getLocale(); |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
626 final Collection collection = getCollection(); |
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
627 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
628 collection.addRecommendations(this.newRecommendations); |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
629 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
630 this.updater.update(collection, locale, new AsyncCallback<Collection>() { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
631 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
632 public void onFailure(final Throwable caught) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
633 CollectionView.this.newRecommendations.removeAllElements(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
634 setCollection(collection); |
809
e9337488bac3
The Collection now knows its already loaded recommendations - the CollectionView will not load recommendations that have already been loaded before.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
807
diff
changeset
|
635 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
636 GWT.log("An error occured while saving recommendations."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
637 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught)); |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
638 } |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
639 |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
640 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
641 public void onSuccess(final Collection newCol) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
642 GWT.log("Successfully saved recommendations."); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
643 CollectionView.this.newRecommendations.removeAllElements(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
644 setCollection(newCol); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
645 } |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
646 }); |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
647 } |
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
648 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
649 protected void loadRecommendedArtifacts(final Recommendation[] recommendations) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
650 final Config config = Config.getInstance(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
651 final String locale = config.getLocale(); |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
652 final Collection collection = getCollection(); |
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
653 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
654 final Artifact masterArtifact = getArtifact(); |
847
25a4bf390757
Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
845
diff
changeset
|
655 |
819
11fd6557d0fc
UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
811
diff
changeset
|
656 if (recommendations == null) { |
11fd6557d0fc
UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
811
diff
changeset
|
657 GWT.log("WARNING: Currently no recommendations."); |
11fd6557d0fc
UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
811
diff
changeset
|
658 return; |
11fd6557d0fc
UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
811
diff
changeset
|
659 } |
11fd6557d0fc
UI: Cosmetics in log messages of CollectionView.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
811
diff
changeset
|
660 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
661 for (final Recommendation recommendation : recommendations) { |
8717
68916dd6359b
Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8716
diff
changeset
|
662 if (collection.loadedRecommendation(recommendation)) { |
68916dd6359b
Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8716
diff
changeset
|
663 continue; |
68916dd6359b
Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8716
diff
changeset
|
664 } |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
665 this.newRecommendations.push(recommendation); |
8717
68916dd6359b
Backout 8709:71ae18553377 Regression risk too high.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8716
diff
changeset
|
666 |
847
25a4bf390757
Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
845
diff
changeset
|
667 // XXX: UGLY! If no reference artifact given use uuid of |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
668 // current artifact as reference. |
847
25a4bf390757
Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
845
diff
changeset
|
669 if (recommendation.getMasterArtifact() == null) { |
25a4bf390757
Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
845
diff
changeset
|
670 recommendation.setMasterArtifact(masterArtifact.getUuid()); |
25a4bf390757
Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
845
diff
changeset
|
671 } |
25a4bf390757
Loading recommendations: If no reference artifact is given use current
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
845
diff
changeset
|
672 |
1515 | 673 } |
807
6f65e70fa11d
Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
803
diff
changeset
|
674 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
675 this.loadArtifactService.loadMany(collection, recommendations, null, locale, new AsyncCallback<Artifact[]>() { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
676 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
677 public void onFailure(final Throwable caught) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
678 GWT.log("Error loading recommendations: " + caught.getMessage()); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
679 SC.warn(FLYS.getExceptionString(CollectionView.this.messages, caught)); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
680 } |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
681 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
682 @Override |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
683 public void onSuccess(final Artifact[] artifacts) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
684 GWT.log("Loaded artifacts: " + artifacts.length); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
685 addRecommendationsToCollection(); |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
686 } |
1515 | 687 }); |
803
653ae84533e7
Read/create recommended Artifacts and add them to the current Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
796
diff
changeset
|
688 } |
915
89a47098bcbd
Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
908
diff
changeset
|
689 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
690 public void registerTabHandler(final TabSelectedHandler tse) { |
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
691 this.tabs.addTabSelectedHandler(tse); |
915
89a47098bcbd
Hide geometry layer in floodmap when tab selection changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
908
diff
changeset
|
692 } |
2906
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
693 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
694 public void setCurrentKm(final double currentKm) { |
2906
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
695 this.currentKm = currentKm; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
696 } |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
697 |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
698 public double getCurrentKm() { |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
699 return this.currentKm; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
700 } |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
701 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
702 public void setMinKm(final double km) { |
2906
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
703 this.minKm = km; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
704 } |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
705 |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
706 public double getMinKm() { |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
707 return this.minKm; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
708 } |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
709 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
710 public void setMaxKm(final double km) { |
2906
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
711 this.maxKm = km; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
712 } |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
713 |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
714 public double getMaxKm() { |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
715 return this.maxKm; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
716 } |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
717 |
9150
23945061daec
gigantic refactoring: exporter, result, results
gernotbelger
parents:
8860
diff
changeset
|
718 public void setSteps(final double step) { |
2906
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
719 this.steps = step; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
720 } |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
721 |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
722 public double getSteps() { |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
723 return this.steps; |
1780841d79af
Added navigation to fix analysis charts.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2905
diff
changeset
|
724 } |
6
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
725 } |
e2b3966b40ca
Added a workspace that handles the collection windows. New button to open a new collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
726 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |