Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/shared/model/FacetFilter.java @ 5462:f2371f3aaf03
Show top level folder icons only if node has no factory
If you have an empty folder the folder icon is still shown.
This makes it possible to add functional "Top Level" entries
in the Datacage
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 26 Mar 2013 18:29:13 +0100 |
parents | e47ef0ca8f33 |
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 public class FacetFilter |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
6 implements Serializable |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
7 { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
8 protected String name; |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
9 protected String ids; |
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 public FacetFilter() { |
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 |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
14 public FacetFilter(String name, String ids) { |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 this.name = name; |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
16 this.ids = ids; |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 } |
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 public String getName() { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 return name; |
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 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
23 public void setName(String name) { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
24 this.name = name; |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
27 public String getIds() { |
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
28 return ids; |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
31 public void setIds(String ids) { |
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
32 this.ids = ids; |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
33 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 |
831
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
35 protected static boolean equals(String a, String b) { |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
36 if (a == null && b == null) return true; |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
37 if (a == null && b != null) return false; |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
38 if (a != null && b == null) return false; |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
39 return a.equals(b); |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
40 } |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
41 |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
42 public boolean equals(Object other) { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
43 if (!(other instanceof FacetFilter)) { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 return false; |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
45 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
46 FacetFilter o = (FacetFilter)other; |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
47 return equals(o.name, name) && equals(o.ids, ids); |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 } |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
49 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
50 public void collectIds(StringBuilder sb) { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
51 if (ids != null) { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
52 if (sb.length() > 0) { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
53 sb.append(' '); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
54 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
55 sb.append(ids); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
56 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
57 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
58 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
59 public Recommendation.Facet toFacet() { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
60 return new Recommendation.Facet(name, ids); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
61 } |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
62 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
63 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |