Project

General

Profile

Download (2.61 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.editor.view.uses;
2

    
3
import java.util.Arrays;
4
import java.util.List;
5
import java.util.Map;
6

    
7
import javax.swing.text.html.HTMLDocument.HTMLReader.IsindexAction;
8

    
9
import org.eclipse.jface.viewers.ColumnLabelProvider;
10
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
11
import org.eclipse.jface.viewers.StyledString;
12

    
13
import eu.etaxonomy.cdm.api.service.DefaultCategoricalDescriptionBuilder;
14
import eu.etaxonomy.cdm.api.service.DescriptionBuilder;
15
import eu.etaxonomy.cdm.model.common.Language;
16
import eu.etaxonomy.cdm.model.common.LanguageString;
17
import eu.etaxonomy.cdm.model.description.CategoricalData;
18
import eu.etaxonomy.cdm.model.description.DescriptionBase;
19
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
20
import eu.etaxonomy.cdm.model.description.TextData;
21
import eu.etaxonomy.taxeditor.store.CdmStore;
22

    
23
public class UsesLabelProvider extends ColumnLabelProvider implements
24
		IStyledLabelProvider {
25
	
26
	private static DescriptionBuilder<CategoricalData> categoricalDescriptionBuilder = new DefaultCategoricalDescriptionBuilder();
27
	public String getText(Object element) {
28
		String text = "";
29
		/*
30
		 * return DescriptionHelper.getLabel(element);
31
		 * 
32
		 * for (Marker marker : element.getMarkers()) { if
33
		 * (marker.getMarkerType().getTitleCache().equals("use")) { return
34
		 * "Use: " + text; } }
35
		 */
36
		if (element instanceof DescriptionBase) {
37
			text = ((DescriptionBase) element).getTitleCache();
38
			if (text == null || text.length() == 0) {
39
				text = "Use: No label provided";
40
			}
41
			else {
42
				text = "Use: " + text;
43
			}
44
		}
45
		else if (element instanceof CategoricalData) {
46
			TextData textData = categoricalDescriptionBuilder.build((CategoricalData) element, getLanguageList());
47
			text = textData.getText(CdmStore.getDefaultLanguage());
48
			if (text == null || text.length() == 0) {
49
				text = "No data provided";
50
			}
51
			return text;
52
		}
53
		/*else  if (element instanceof DescriptionElementBase) {
54
			Map useRecordText = ((DescriptionElementBase) element).getModifyingText();
55
			
56
			
57
			if (text == null || text.length() == 0) {
58
				text = "Use Record: No label provided";
59
			}
60
			text = useRecordText.toString();
61
			//text = "Something else";
62
		}*/
63
		else{
64
			text = "Use Record";
65
		}
66

    
67
		return  text;
68
	}
69

    
70
	@Override
71
	public StyledString getStyledText(Object element) {
72
		return new StyledString(this.getText(element),
73
				StyledString.QUALIFIER_STYLER);
74
	}
75
	
76
	private static List<Language> getLanguageList(){
77
		return Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()});
78
	}
79

    
80
}
(2-2/3)