Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/shared/model/ArtifactFilter.java @ 3693:b63e6fdd8cd0
Cosmetics, docs.
flys-client/trunk@5384 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 07 Sep 2012 13:02:46 +0000 |
parents | 6bb6d43eeb2d |
children |
rev | line source |
---|---|
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.shared.model; |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
3 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
|
4 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
5 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
|
6 import java.util.Map; |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
7 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
|
8 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
9 public class ArtifactFilter |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 implements Serializable |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
11 { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
12 protected String factoryName; |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
13 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
14 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
|
15 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 public ArtifactFilter() { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 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
|
18 } |
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 public ArtifactFilter(String factoryName) { |
884
ace7e9cfbb7f
Fixed some bugs that avoided datacage usage.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
846
diff
changeset
|
21 this(); |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
22 this.factoryName = factoryName; |
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 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 public String getFactoryName() { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 return factoryName; |
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 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 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
|
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 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
|
34 if (out == null) { |
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
35 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
|
36 } |
77469d7f3c93
Generate unique keys for anonymous artifacts (aka static data).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
37 |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 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
|
39 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
40 if (outFilter == null) { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
41 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
|
42 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
|
43 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 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
|
45 } |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
46 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
47 public String collectIds() { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
48 StringBuilder sb = new StringBuilder(); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
49 for (OutFilter outFilter: outFilters.values()) { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
50 outFilter.collectIds(sb); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
51 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
52 return sb.toString(); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
53 } |
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 Recommendation.Filter toFilter() { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
56 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
|
57 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
|
58 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
|
59 rf.add(entry.getKey(), facets); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
60 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
61 return rf; |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
834
diff
changeset
|
62 } |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |