fix #7111: synchronize sync butoon of navigator with attribute linkWithTaxon
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / TaxonNodeLabelProvider.java
index d4b243b01ccd37d1e83ac032d969e248ebc95704..b7ec191ac225abfec989831215d7461ec6ecc629 100644 (file)
@@ -1,9 +1,8 @@
-// $Id$
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -25,7 +24,8 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
-import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
 import eu.etaxonomy.taxeditor.preference.Resources;
 import eu.etaxonomy.taxeditor.security.RequiredPermissions;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -36,14 +36,13 @@ import eu.etaxonomy.taxeditor.store.StoreUtil;
  *
  * @author p.ciardelli
  * @created 04.06.2009
- * @version 1.0
  */
-public class TaxonNodeLabelProvider extends ColumnLabelProvider 
+public class TaxonNodeLabelProvider extends ColumnLabelProvider
                implements ILabelProvider, IDescriptionProvider, IStyledLabelProvider {
-       
+
 
        private Styler notGrantedStyler = null;
-       
+
        /** {@inheritDoc} */
        @Override
        public Image getImage(Object element) {
@@ -55,53 +54,55 @@ public class TaxonNodeLabelProvider extends ColumnLabelProvider
        public String getText(Object element) {
                if (element instanceof TaxonNode){
                        TaxonNode taxonNode = (TaxonNode) HibernateProxyHelper.deproxy(element);
-                       
+
                        try{
-                               Taxon taxon = (Taxon) HibernateProxyHelper.deproxy(taxonNode.getTaxon());
+                               Taxon taxon = HibernateProxyHelper.deproxy(taxonNode.getTaxon());
                                if(taxon == null){
-                                       NavigationUtil.error(getClass(), "The taxon node does not have a taxon attached to it. Please check your import. TaxonNode: " + element, null);
+                                   String text = taxonNode.getClassification().getName().getText();
+                                       if(text==null){
+                                           text = taxonNode.getClassification().getTitleCache();
+                                       }
+                    return text;
+                                       //MessagingUtils.error(getClass(), String.format(Messages.TaxonNodeLabelProvider_NODE_WITH_NO_TAXON, element), null);
 //                                     throw new RuntimeException("The data your are trying to view is corrupt. Please check your import.");
                                }else{
-                                       try{                                    
+                                       try{
                                                return taxon.getName() != null ? ((IIdentifiableEntity) HibernateProxyHelper.deproxy(taxon.getName())).getTitleCache() : new String();
                                        }catch(Exception e){
-                                               NavigationUtil.error(getClass(), e);
+                                               MessagingUtils.error(getClass(), e);
                                        }
                                }
                        }catch (LazyInitializationException e){
-                               NavigationUtil.error(getClass(), e);
+                               MessagingUtils.error(getClass(), e);
                        }
-                       
+
                }
                return new String();
        }
-       
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.navigator.IDescriptionProvider#getDescription(java.lang.Object)
-        */
+
        /** {@inheritDoc} */
-       public String getDescription(Object anElement) {
+       @Override
+    public String getDescription(Object anElement) {
                if (anElement instanceof TaxonNode) {
                        Taxon data = ((TaxonNode) anElement).getTaxon();
-                       return "Taxon: " + data.getTitleCache(); //$NON-NLS-1$
+                       String text =  (data != null ? Messages.TaxonNodeLabelProvider_TAXON + data.getTitleCache() : Messages.TaxonNodeLabelProvider_CLASSIFICATION + ((TaxonNode)anElement).getClassification().getTitleCache());
+               
+                       return text;
                }
                return null;
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider#getStyledText(java.lang.Object)
-        */
        /** {@inheritDoc} */
-       public StyledString getStyledText(Object element) {
+       @Override
+    public StyledString getStyledText(Object element) {
                // determine style base on  user grants
                Styler styler = null;
-               if(!CdmStore.currentAuthentiationHasPermission((CdmBase)element, RequiredPermissions.TAXONNODE_EDIT)){
+               if(!CdmStore.currentAuthentiationHasPermission((CdmBase) element, RequiredPermissions.TAXONNODE_EDIT)){
                        styler = getNotGrantedStyler();
                }
                return new StyledString(getText(element), styler);
-               
        }
-       
+
        /**
         * @return
         */