Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/shared/model/FacetFilter.java @ 9262:fee5fa18361c
Just a comment
author | gernotbelger |
---|---|
date | Tue, 17 Jul 2018 19:48:09 +0200 |
parents | 5da11bf372be |
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 public class FacetFilter |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
14 implements Serializable |
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 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
|
17 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
|
18 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 public FacetFilter() { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
21 |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
22 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
|
23 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
|
24 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
|
25 } |
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 public String getName() { |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 return name; |
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 |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 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
|
32 this.name = name; |
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 |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
35 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
|
36 return ids; |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
37 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 |
837
29966a53cfeb
Datacage: Use 'ids' instead of 'num' in user specific part, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
831
diff
changeset
|
39 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
|
40 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
|
41 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
42 |
6041 | 43 /** Return false if only a or b are null, true if both are null |
44 * result of String.equals otherwise. */ | |
831
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
45 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
|
46 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
|
47 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
|
48 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
|
49 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
|
50 } |
9101b4d64666
Datacage: Re-written ToLoad to feature the new filter models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
830
diff
changeset
|
51 |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 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
|
53 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
|
54 return false; |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
56 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
|
57 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
|
58 } |
846
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
59 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
60 public void collectIds(StringBuilder sb) { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
61 if (ids != null) { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
62 if (sb.length() > 0) { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
63 sb.append(' '); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
64 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
65 sb.append(ids); |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
66 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
67 } |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
68 |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
69 public Recommendation.Facet toFacet() { |
e47ef0ca8f33
Compile a list of recommendations out of
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
837
diff
changeset
|
70 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
|
71 } |
830
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
72 } |
3dde14f0bd98
Datacage: Added models better suited for creating artifact facet filters.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
73 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |