Cleaning up ProtologueSection #5638
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / name / ProtologueSection.java
index d7cfc0601fa9b52572104959efcc8bba0b70da98..ebc15fbe360c99d1ad8f9679ff712aa0054707aa 100644 (file)
@@ -1,9 +1,9 @@
 // $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.
 */
@@ -23,8 +23,8 @@ import eu.etaxonomy.cdm.model.description.TextData;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
 
@@ -33,10 +33,9 @@ import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
  *
  * @author n.hoffmann
  * @created Nov 5, 2009
- * @version 1.0
  */
 public class ProtologueSection extends AbstractEntityCollectionSection<TaxonNameBase, DescriptionElementBase> implements ITaxonBaseDetailSection{
-       
+
        private TaxonBase taxonBase;
 
        /**
@@ -97,16 +96,17 @@ public class ProtologueSection extends AbstractEntityCollectionSection<TaxonName
                List<TaxonNameDescription> descriptions = getTaxonNameDescriptions(getEntity());
                for (TaxonNameDescription desc : descriptions){
                        desc.removeElement(element);
-               } 
+               }
        }
 
        /** {@inheritDoc} */
-       public void setTaxonBase(TaxonBase entity) {
+       @Override
+    public void setTaxonBase(TaxonBase entity) {
                this.taxonBase = entity;
-               NonViralName name = (NonViralName) HibernateProxyHelper.deproxy(entity.getName());
+               NonViralName name = HibernateProxyHelper.deproxy(entity.getName(), NonViralName.class);
                setEntity(name);
        }
-       
+
        /**
         * NOTE: returns first description
         * @param name
@@ -118,7 +118,7 @@ public class ProtologueSection extends AbstractEntityCollectionSection<TaxonName
                }
                return (TaxonNameDescription) name.getDescriptions().iterator().next();
        }
-       
+
        /**
         * Try to fix FIXME in {@link #getTaxonNameDescription(TaxonNameBase)}
         * @param name
@@ -126,8 +126,8 @@ public class ProtologueSection extends AbstractEntityCollectionSection<TaxonName
         */
        private List<TaxonNameDescription> getTaxonNameDescriptions(TaxonNameBase<?,?> name){
                List<TaxonNameDescription> result = new ArrayList<TaxonNameDescription>();
-               if(name.getDescriptions().size() == 0){
-                       name.addDescription(TaxonNameDescription.NewInstance(name));
+               if (name == null){
+                       return result;
                }
                for (TaxonNameDescription desc : name.getDescriptions()){
                        result.add(desc);
@@ -135,9 +135,6 @@ public class ProtologueSection extends AbstractEntityCollectionSection<TaxonName
                return result;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase)
-        */
        @Override
        public TaxonBase getTaxonBase() {
                return taxonBase;