Project

General

Profile

Download (1.7 KB) Statistics
| Branch: | Tag: | Revision:
1

    
2
package eu.etaxonomy.taxeditor.propertysheet;
3

    
4
import java.util.Collection;
5

    
6
import org.apache.log4j.Logger;
7

    
8
import eu.etaxonomy.cdm.model.common.Marker;
9
import eu.etaxonomy.cdm.model.common.MarkerType;
10

    
11
public class MarkersPropertySource extends CollectionPropertySource {
12
	private static final Logger logger = Logger
13
			.getLogger(MarkersPropertySource.class);
14

    
15

    
16
	public MarkersPropertySource(Collection<?> collection) {
17
		super(collection);
18
//		logger.warn("Markers collection contains " + collection.size() + " elements.");
19
	}
20

    
21
	protected void addDescriptor(Object item) {
22
		String itemDisplayName = getItemDisplayName(item);
23
		descriptors.addElement(
24
				new CheckboxPropertyDescriptor(item, itemDisplayName));
25
	}
26
	
27
	@Override
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();
35
			}
36
		}
37
		return itemDisplayName;
38
	}
39

    
40
	@Override
41
	public Object getPropertyValue(Object id) {
42
		if (id instanceof Marker) {
43
			Marker marker = (Marker) id;
44
			if (marker.getFlag()) {
45
				return Boolean.TRUE;
46
			} else {
47
				return Boolean.FALSE;
48
			}
49
		}
50
		return null;
51
	}
52

    
53
	@Override
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);
59
		} else {
60
			logger.warn("Marker update failed type checks");			
61
		}
62
	}
63

    
64
	@Override
65
	public String toString() {
66
		// "Markers" header has no value
67
		return "";
68
	}
69
}
(19-19/24)