Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/ToLoad.java @ 9227:84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
Implemented client logic of 'intelligent datacage filtering' for SINFO
author | gernotbelger |
---|---|
date | Wed, 04 Jul 2018 18:28:08 +0200 |
parents | 5e38e2924c07 |
children |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.shared.model; |
822
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
11 import java.io.Serializable; |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
12 import java.util.ArrayList; |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
13 import java.util.HashMap; |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
14 import java.util.List; |
826
2f65c742803f
Datacage: Aggregate items to load for easier filtering facets
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
822
diff
changeset
|
15 import java.util.Map; |
822
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 |
6136
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
17 import com.google.gwt.core.client.GWT; |
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
18 |
822
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 public class ToLoad implements Serializable |
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 { |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
21 private static class StringTriple { |
1352
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
22 public String first; |
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
23 public String second; |
7175
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
24 public String third; |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
25 public StringTriple(final String first, final String second, final String third) { |
1352
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
26 this.first = first; |
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
27 this.second = second; |
7175
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
28 this.third = third; |
1352
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
29 } |
7175
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
30 @Override |
1352
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
31 public int hashCode() { |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
32 return this.first.hashCode() + this.second.hashCode() + this.third.hashCode(); |
1352
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
33 } |
7175
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
34 @Override |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
35 public boolean equals(final Object o) { |
7175
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
36 if (!(o instanceof StringTriple)) { |
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
37 return false; |
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
38 } |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
39 final StringTriple other = (StringTriple) o; |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
40 return this.second.equals(other.second) |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
41 && this.first.equals(other.first) |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
42 && this.third.equals(other.third); |
1352
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
43 } |
01b18db3b288
In WDiff datacage input make names survive backjumps.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
846
diff
changeset
|
44 } |
826
2f65c742803f
Datacage: Aggregate items to load for easier filtering facets
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
822
diff
changeset
|
45 |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
46 private static final String SYNTHETIC_KEY = "key-"; |
822
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
48 private final Map<String, Map<StringTriple, ArtifactFilter>> artifacts = new HashMap<String, Map<StringTriple, ArtifactFilter>>(); |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
49 |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
50 public static final String uniqueKey(final Map<?, ?> map) { |
834
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
51 int idx = map.size(); |
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
52 |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
53 String key = SYNTHETIC_KEY + idx; |
834
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
54 while (map.containsKey(key)) { |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
55 key = SYNTHETIC_KEY + ++idx; |
834
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
56 } |
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
57 return key; |
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
58 } |
6593
254e4e327274
Doc and indentation fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6136
diff
changeset
|
59 |
254e4e327274
Doc and indentation fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6136
diff
changeset
|
60 public void add( |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
61 final String artifactName, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
62 final String factory, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
63 final String out, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
64 final String name, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
65 final String ids, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
66 final String displayName |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
67 ) { |
6593
254e4e327274
Doc and indentation fix.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6136
diff
changeset
|
68 add(artifactName, factory, out, name, ids, displayName, null); |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
69 } |
834
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
70 |
831
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
826
diff
changeset
|
71 public void add( |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
72 String artifactName, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
73 final String factory, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
74 final String out, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
75 final String name, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
76 final String ids, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
77 final String displayName, |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
78 final String targetOut |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
79 ) { |
6136
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
80 GWT.log("Adding artifact: " + artifactName + " Factory: " + factory + |
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
81 " Out: " + out + " Name: " + name + " Ids: " + ids + |
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
82 " Display Name: " + displayName + " Target Out: " + targetOut); |
8d9859d776e5
Handle target_out in the Recommendation / Client datacage code.
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
83 |
834
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
84 if (artifactName == null) { |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
85 artifactName = uniqueKey(this.artifacts); |
834
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
86 } |
826
2f65c742803f
Datacage: Aggregate items to load for easier filtering facets
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
822
diff
changeset
|
87 |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
88 Map<StringTriple, ArtifactFilter> artifact = this.artifacts.get( |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
89 artifactName); |
826
2f65c742803f
Datacage: Aggregate items to load for easier filtering facets
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
822
diff
changeset
|
90 |
831
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
826
diff
changeset
|
91 if (artifact == null) { |
7175
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
92 artifact = new HashMap<StringTriple, ArtifactFilter>(); |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
93 this.artifacts.put(artifactName, artifact); |
826
2f65c742803f
Datacage: Aggregate items to load for easier filtering facets
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
822
diff
changeset
|
94 } |
2f65c742803f
Datacage: Aggregate items to load for easier filtering facets
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
822
diff
changeset
|
95 |
831
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
826
diff
changeset
|
96 ArtifactFilter filter = artifact.get(factory); |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
826
diff
changeset
|
97 if (filter == null) { |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
826
diff
changeset
|
98 filter = new ArtifactFilter(factory); |
8856 | 99 artifact.put(new StringTriple( |
100 factory, displayName, targetOut), filter); | |
826
2f65c742803f
Datacage: Aggregate items to load for easier filtering facets
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
822
diff
changeset
|
101 } |
822
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
102 |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
103 filter.add(out, name, ids); |
822
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
104 } |
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
105 |
826
2f65c742803f
Datacage: Aggregate items to load for easier filtering facets
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
822
diff
changeset
|
106 public boolean isEmpty() { |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
107 return this.artifacts.isEmpty(); |
822
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
108 } |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
109 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
110 public List<Recommendation> toRecommendations() { |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
111 final List<Recommendation> recommendations = new ArrayList<Recommendation>(); |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
112 |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
113 for (final Map.Entry<String, Map<StringTriple, ArtifactFilter>> all: |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
114 this.artifacts.entrySet() |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
115 ) { |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
116 String masterArtifact = all.getKey(); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
117 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
118 if (masterArtifact.startsWith(SYNTHETIC_KEY)) { // system data |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
119 masterArtifact = null; |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
120 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
121 |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
122 for (final Map.Entry<StringTriple, ArtifactFilter> entry: |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
123 all.getValue().entrySet() |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
124 ) { |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
125 final StringTriple triple = entry.getKey(); |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
126 final String factory = triple.first; |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
127 final String targetOut = triple.third; |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
128 final ArtifactFilter artifactFilter = entry.getValue(); |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
129 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
130 String ids; |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
131 Recommendation.Filter filter; |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
132 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
133 if (masterArtifact == null) { // system data |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
134 ids = artifactFilter.collectIds(); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
135 filter = null; |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
136 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
137 else { // user specific |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
138 ids = null; |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
139 filter = artifactFilter.toFilter(); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
140 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
141 |
9227
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
142 final Recommendation recommendation = new Recommendation( |
84397da33d17
Allow to control specific behaviour in TwinDatacagePanel
gernotbelger
parents:
8856
diff
changeset
|
143 factory, ids, masterArtifact, filter, targetOut); |
7175
b1f446f675b1
Save target_out in the recommendation to ensure it is sent to the server
Andre Heinecke <aheinecke@intevation.de>
parents:
6593
diff
changeset
|
144 recommendation.setDisplayName(triple.second); |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
145 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
146 recommendations.add(recommendation); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
147 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
148 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
149 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
150 return recommendations; |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
151 } |
822
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
152 } |
ffb98b228b3c
Add code to extract data to load from datacage tree.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
153 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |