-\r
package eu.etaxonomy.taxeditor.editor.view.uses;\r
\r
+import java.util.Arrays;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
+import javax.swing.text.html.HTMLDocument.HTMLReader.IsindexAction;\r
+\r
import org.eclipse.jface.viewers.ColumnLabelProvider;\r
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;\r
import org.eclipse.jface.viewers.StyledString;\r
\r
+import eu.etaxonomy.cdm.api.service.DefaultCategoricalDescriptionBuilder;\r
+import eu.etaxonomy.cdm.api.service.DescriptionBuilder;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.common.LanguageString;\r
+import eu.etaxonomy.cdm.model.description.CategoricalData;\r
import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.cdm.model.description.TextData;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
\r
-\r
-\r
-\r
-\r
-\r
-\r
-public class UsesLabelProvider extends ColumnLabelProvider implements IStyledLabelProvider {\r
-\r
+public class UsesLabelProvider extends ColumnLabelProvider implements\r
+ IStyledLabelProvider {\r
+ \r
+ private static DescriptionBuilder<CategoricalData> categoricalDescriptionBuilder = new DefaultCategoricalDescriptionBuilder();\r
public String getText(Object element) {\r
- /*return DescriptionHelper.getLabel(element);\r
- \r
- for (Marker marker : element.getMarkers()) {\r
- if (marker.getMarkerType().getTitleCache().equals("use")) {\r
- return "Use: " + text;\r
+ String text = "";\r
+ /*\r
+ * return DescriptionHelper.getLabel(element);\r
+ * \r
+ * for (Marker marker : element.getMarkers()) { if\r
+ * (marker.getMarkerType().getTitleCache().equals("use")) { return\r
+ * "Use: " + text; } }\r
+ */\r
+ if (element instanceof DescriptionBase) {\r
+ text = ((DescriptionBase) element).getTitleCache();\r
+ if (text == null || text.length() == 0) {\r
+ text = "Use: No label provided";\r
}\r
+ else {\r
+ text = "Use: " + text;\r
+ }\r
+ }\r
+ else if (element instanceof CategoricalData) {\r
+ TextData textData = categoricalDescriptionBuilder.build((CategoricalData) element, getLanguageList());\r
+ text = textData.getText(CdmStore.getDefaultLanguage());\r
+ if (text == null || text.length() == 0) {\r
+ text = "No data provided";\r
+ }\r
+ return text;\r
+ }\r
+ /*else if (element instanceof DescriptionElementBase) {\r
+ Map useRecordText = ((DescriptionElementBase) element).getModifyingText();\r
+ \r
+ \r
+ if (text == null || text.length() == 0) {\r
+ text = "Use Record: No label provided";\r
+ }\r
+ text = useRecordText.toString();\r
+ //text = "Something else";\r
}*/\r
- String text = ((DescriptionBase)element).getTitleCache();\r
- if (text == null || text.length() == 0) {\r
- text = "No label provided";\r
+ else{\r
+ text = "Use Record";\r
}\r
- \r
- return "Use: " + text;\r
- } \r
- \r
+\r
+ return text;\r
+ }\r
+\r
@Override\r
public StyledString getStyledText(Object element) {\r
- return new StyledString(this.getText(element), StyledString.QUALIFIER_STYLER);\r
+ return new StyledString(this.getText(element),\r
+ StyledString.QUALIFIER_STYLER);\r
+ }\r
+ \r
+ private static List<Language> getLanguageList(){\r
+ return Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()});\r
}\r
\r
}\r