annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/ArtifactFilter.java @ 8871:78cd6572778d

Introduced groups for modules. Modules marked with the same group-id, will be put together in the ui. Also using now the localization info from the server instead of localizing the modules again on the client side.
author gernotbelger
date Wed, 07 Feb 2018 12:02:58 +0100
parents ea9eef426962
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;
830
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11 import java.io.Serializable;
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13 import java.util.HashMap;
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 import java.util.Map;
846
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
15 import java.util.List;
830
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 public class ArtifactFilter
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 implements Serializable
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 {
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 protected String factoryName;
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 protected Map<String, OutFilter> outFilters;
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 public ArtifactFilter() {
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 outFilters = new HashMap<String, OutFilter>();
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 }
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 public ArtifactFilter(String factoryName) {
884
ace7e9cfbb7f Fixed some bugs that avoided datacage usage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 846
diff changeset
29 this();
830
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30 this.factoryName = factoryName;
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 }
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 public String getFactoryName() {
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 return factoryName;
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 }
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37 public void setFactoryName(String factoryName) {
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 this.factoryName = factoryName;
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 }
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 public void add(String out, String name, String num) {
834
77469d7f3c93 Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 830
diff changeset
42 if (out == null) {
77469d7f3c93 Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 830
diff changeset
43 out = ToLoad.uniqueKey(outFilters);
77469d7f3c93 Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 830
diff changeset
44 }
77469d7f3c93 Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 830
diff changeset
45
830
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 OutFilter outFilter = outFilters.get(out);
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 if (outFilter == null) {
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49 outFilter = new OutFilter(out);
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 outFilters.put(out, outFilter);
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 }
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 outFilter.add(name, num);
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 }
846
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
54
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
55 public String collectIds() {
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
56 StringBuilder sb = new StringBuilder();
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
57 for (OutFilter outFilter: outFilters.values()) {
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
58 outFilter.collectIds(sb);
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
59 }
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
60 return sb.toString();
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
61 }
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
62
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
63 public Recommendation.Filter toFilter() {
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
64 Recommendation.Filter rf = new Recommendation.Filter();
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
65 for (Map.Entry<String, OutFilter> entry: outFilters.entrySet()) {
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
66 List<Recommendation.Facet> facets = entry.getValue().toFacets();
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
67 rf.add(entry.getKey(), facets);
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
68 }
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
69 return rf;
e47ef0ca8f33 Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 834
diff changeset
70 }
830
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71 }
3dde14f0bd98 Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org