2 package eu
.etaxonomy
.taxeditor
.propertysheet
;
4 import java
.util
.Collection
;
6 import org
.apache
.log4j
.Logger
;
8 import eu
.etaxonomy
.cdm
.model
.common
.Marker
;
9 import eu
.etaxonomy
.cdm
.model
.common
.MarkerType
;
11 public class MarkersPropertySource
extends CollectionPropertySource
{
12 private static final Logger logger
= Logger
13 .getLogger(MarkersPropertySource
.class);
16 public MarkersPropertySource(Collection collection
) {
18 // logger.warn("Markers collection contains " + collection.size() + " elements.");
21 protected void addDescriptor(Object item
) {
22 String itemDisplayName
= getItemDisplayName(item
);
23 descriptors
.addElement(
24 new CheckboxPropertyDescriptor(item
, itemDisplayName
));
28 protected String
getItemDisplayName(Object item
) {
29 String itemDisplayName
= "";
30 if (item
instanceof Marker
) {
31 Marker marker
= (Marker
) item
;
32 MarkerType markerType
= marker
.getMarkerType();
33 if (markerType
!= null) {
34 return markerType
.getLabel();
37 return itemDisplayName
;
41 public Object
getPropertyValue(Object id
) {
42 if (id
instanceof Marker
) {
43 Marker marker
= (Marker
) id
;
44 if (marker
.getFlag()) {
54 public void setPropertyValue(Object id
, Object value
) {
55 if (id
instanceof Marker
&& value
instanceof Boolean
) {
56 logger
.warn("Updating marker values");
57 Marker marker
= (Marker
) id
;
58 marker
.setFlag((Boolean
) value
);
60 logger
.warn("Marker update failed type checks");
65 public String
toString() {
66 // "Markers" header has no value