Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/minfo/BedHeightsDatacagePanel.java @ 4221:480de0dbca8e
Extended location input helper.
The locationpicker has now an attribute whether the input is distance or
location to display one or two clickable columns.
Replaced the record click handler with cell click handler.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 23 Oct 2012 13:17:20 +0200 |
parents | 1755a1bfe5ce |
children |
rev | line source |
---|---|
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui.minfo; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
4183 | 4 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
5 import com.google.gwt.user.client.rpc.AsyncCallback; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
6 |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
7 import com.smartgwt.client.data.Record; |
4183 | 8 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
9 import com.smartgwt.client.widgets.Canvas; |
4183 | 10 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
11 import com.smartgwt.client.widgets.events.ClickEvent; |
4183 | 12 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
13 import com.smartgwt.client.widgets.grid.ListGridRecord; |
4183 | 14 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
15 import com.smartgwt.client.widgets.layout.HLayout; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
16 import com.smartgwt.client.widgets.layout.VLayout; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
17 |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
18 import de.intevation.flys.client.client.Config; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
19 import de.intevation.flys.client.client.FLYSConstants; |
4183 | 20 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
21 import de.intevation.flys.client.client.event.StepForwardEvent; |
4183 | 22 |
23 import de.intevation.flys.client.client.services.LoadArtifactService; | |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
24 import de.intevation.flys.client.client.services.LoadArtifactServiceAsync; |
4183 | 25 import de.intevation.flys.client.client.services.RemoveArtifactService; |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
26 import de.intevation.flys.client.client.services.RemoveArtifactServiceAsync; |
4183 | 27 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
28 import de.intevation.flys.client.client.ui.DatacagePairWidget; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
29 import de.intevation.flys.client.client.ui.DatacageTwinPanel; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
30 import de.intevation.flys.client.client.ui.RecommendationPairRecord; |
4183 | 31 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
32 import de.intevation.flys.client.shared.model.Artifact; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
33 import de.intevation.flys.client.shared.model.Collection; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
34 import de.intevation.flys.client.shared.model.Data; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
35 import de.intevation.flys.client.shared.model.DataItem; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
36 import de.intevation.flys.client.shared.model.DataList; |
4183 | 37 |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
38 import de.intevation.flys.client.shared.model.Recommendation.Facet; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
39 import de.intevation.flys.client.shared.model.Recommendation.Filter; |
4183 | 40 |
41 import de.intevation.flys.client.shared.model.Recommendation; | |
3535
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
42 import de.intevation.flys.client.shared.model.User; |
75a3a41a6e51
Removed superfluous imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3508
diff
changeset
|
43 |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 import java.util.ArrayList; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 import java.util.List; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 import java.util.Map; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 import java.util.Set; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 // TODO Probably better to branch off AbstractUIProvider. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 // TODO Merge with other datacage-widget impls. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 /** |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 * Panel containing a Grid and a "next" button. The Grid is fed by a |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 * DatacagePairWidget which is put in the input-helper area. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 public class BedHeightsDatacagePanel |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 extends DatacageTwinPanel { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 protected static FLYSConstants MSG = GWT.create(FLYSConstants.class); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 /** |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 * List to track previously selected but now removed pairs. (Needed to |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 * be able to identify artifacts that can be removed from the collection. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 protected List<RecommendationPairRecord> removedPairs = |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 new ArrayList<RecommendationPairRecord>(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 /** Service handle to clone and add artifacts to collection. */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 LoadArtifactServiceAsync loadArtifactService = GWT.create( |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 de.intevation.flys.client.client.services.LoadArtifactService.class); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 /** Service to remove artifacts from collection. */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 RemoveArtifactServiceAsync removeArtifactService = GWT.create( |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 de.intevation.flys.client.client.services.RemoveArtifactService.class); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 public BedHeightsDatacagePanel(User user) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 super(user); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 /** |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 * Create a recommendation from a string representation of it. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 * @TODO describe format of input string |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 * @param from string in format as shown above. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 * @return recommendation from input string. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 public Recommendation createRecommendationFromString(String from) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 // TODO Construct "real" filter. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 String[] parts = unbracket(from).split(";"); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 Recommendation.Filter filter = new Recommendation.Filter(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 Recommendation.Facet facet = new Recommendation.Facet( |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 parts[1], |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 parts[2]); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
94 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 List<Recommendation.Facet> facets = new ArrayList<Recommendation.Facet> |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 (); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 facets.add(facet); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 filter.add("longitudinal_section", facets); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 Recommendation r = new Recommendation("bedheight", parts[0], |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 this.artifact.getUuid(), filter); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 r.setDisplayName(parts[3]); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 return r; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 /** |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 * Creates the graphical representation and interaction widgets for the data. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 * @param dataList the data. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 * @return graphical representation and interaction widgets for data. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 @Override |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 public Canvas create(DataList dataList) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 GWT.log("createData()"); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 Data data = dataList.get(0); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 DataItem[] items = data.getItems(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 String value = items[0].getStringValue(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 String filter = "minfo-heights"; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 if (value.equals("epoch")) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 filter = "minfo-heights-epoch"; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 Canvas widget = createWidget(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 Canvas submit = getNextButton(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 VLayout layout = new VLayout(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 HLayout helperLayout = new HLayout(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 helperLayout.addMember(new DatacagePairWidget(this.artifact, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 user, filter, differencesList)); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 layout.addMember(widget); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 layout.addMember(submit); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 layout.setMembersMargin(10); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 this.helperContainer.addMember(helperLayout); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 this.dataName = "diffids"; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 return layout; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 /** |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 * Add record to list of removed records. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 public void trackRemoved(Record r) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 RecommendationPairRecord pr = (RecommendationPairRecord) r; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 this.removedPairs.add(pr); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 /** |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 * Validates data, does nothing if invalid, otherwise clones new selected |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 * waterlevels and add them to collection, forward the artifact. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 @Override |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 public void onClick(ClickEvent e) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 GWT.log("DatacageTwinPanel.onClick"); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 List<String> errors = validate(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 if (errors != null && !errors.isEmpty()) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
162 showErrors(errors); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 return; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
164 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
165 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 Config config = Config.getInstance(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 String locale = config.getLocale(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
169 ListGridRecord[] records = differencesList.getRecords(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
170 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
171 List<Recommendation> ar = new ArrayList<Recommendation>(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 List<Recommendation> all = new ArrayList<Recommendation>(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
173 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
174 for (ListGridRecord record : records) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 RecommendationPairRecord r = |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 (RecommendationPairRecord) record; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
177 // Do not add "old" recommendations. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
178 if (!r.isAlreadyLoaded()) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 // Check whether one of those is a dike or similar. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 // TODO differentiate and merge: new clones, new, old. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
181 Recommendation firstR = r.getFirst(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 if(firstR.getIDs() != null) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
183 GWT.log("First IDs: " + firstR.getIDs() + " factory: " |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
184 + firstR.getFactory()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
185 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
186 firstR.setFactory("bedheight"); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
187 Recommendation secondR = r.getSecond(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
188 if(secondR.getIDs() != null) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
189 GWT.log("Second IDs: " + secondR.getIDs() + " factory: " |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
190 + secondR.getFactory()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
191 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
192 secondR.setFactory("bedheight"); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
193 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 ar.add(firstR); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
195 ar.add(secondR); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
196 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
197 else { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
198 all.add(r.getFirst()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 all.add(r.getSecond()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
200 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 final Recommendation[] toClone = ar.toArray(new Recommendation[ar.size()]); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 final Recommendation[] toUse = all.toArray(new Recommendation[all.size()]); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
205 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 // Find out whether "old" artifacts have to be removed. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 List<String> artifactIdsToRemove = new ArrayList<String>(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 for (RecommendationPairRecord rp: this.removedPairs) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 Recommendation first = rp.getFirst(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 Recommendation second = rp.getSecond(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 for (Recommendation recommendation: toUse) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 if (first != null && first.getIDs().equals(recommendation.getIDs())) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 first = null; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
215 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
216 if (second != null && second.getIDs().equals(recommendation.getIDs())) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
217 second = null; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
218 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
219 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
220 if (first == null && second == null) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
221 break; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
222 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
223 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
224 if (first != null) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
225 artifactIdsToRemove.add(first.getIDs()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
226 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
227 if (second != null) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
228 artifactIdsToRemove.add(second.getIDs()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
229 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
230 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
231 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
232 // Remove old artifacts, if any. Do this asychronously without much |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
233 // feedback. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
234 for(final String uuid: artifactIdsToRemove) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
235 removeArtifactService.remove(this.collection, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
236 uuid, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
237 locale, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
238 new AsyncCallback<Collection>() { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
239 public void onFailure(Throwable caught) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
240 GWT.log("RemoveArtifact (" + uuid + ") failed."); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
241 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
242 public void onSuccess(Collection collection) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
243 GWT.log("RemoveArtifact succeeded"); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
244 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
245 }); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
246 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
247 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
248 // Clone new ones (and spawn statics), go forward. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
249 loadArtifactService.loadMany( |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
250 this.collection, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
251 toClone, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
252 //"staticwkms" and "waterlevel" |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
253 null, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
254 locale, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
255 new AsyncCallback<Artifact[]>() { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
256 public void onFailure(Throwable caught) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
257 GWT.log("Failure of cloning with factories!"); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
258 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
259 public void onSuccess(Artifact[] artifacts) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
260 GWT.log("Successfully cloned " + toClone.length + |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
261 " with factories."); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
262 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
263 fireStepForwardEvent(new StepForwardEvent( |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
264 getData(toClone, artifacts, toUse))); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
265 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
266 }); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
267 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
268 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
269 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
270 /** |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
271 * Creates part of the String that encodes minuend or subtrahend. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
272 * @param artifact Artifacts UUID. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
273 * @param recommendation Recommendation to wrap in string. |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
274 */ |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
275 protected String createDataString( |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
276 String artifact, |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
277 Recommendation recommendation) |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
278 { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
279 Filter filter = recommendation.getFilter(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
280 Facet f = null; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
281 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
282 if(filter != null) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
283 Map<String, List<Facet>> outs = filter.getOuts(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
284 Set<Map.Entry<String, List<Facet>>> entries = outs.entrySet(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
285 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
286 for (Map.Entry<String, List<Facet>> entry: entries) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
287 List<Facet> fs = entry.getValue(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
288 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
289 f = fs.get(0); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
290 if (f != null) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
291 break; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
292 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
293 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
294 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
295 return "[" + artifact + ";" |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
296 + f.getName() |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
297 + ";" |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
298 + f.getIndex() |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
299 + ";" |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
300 + recommendation.getDisplayName() + "]"; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
301 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
302 else { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
303 return "[" |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
304 + artifact |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
305 + ";bedheight;0;" |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
306 + recommendation.getDisplayName() + "]"; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
307 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
308 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
309 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
310 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |