smaller changes to display taxon interactions
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / description / DescribedSpecimenSection.java
index 6eddaad0adb84f37fd45b5c9e4da49011f765631..112927630fc5e6e808c8213d8d084e77407460e3 100644 (file)
@@ -10,7 +10,9 @@
 
 package eu.etaxonomy.taxeditor.ui.section.description;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
@@ -48,26 +50,32 @@ public class DescribedSpecimenSection extends AbstractEntityCollectionSection<Ta
        @Override
        public Collection<SpecimenOrObservationBase> getCollection(
                        TaxonDescription entity) {
-               return entity.getDescribedSpecimenOrObservations();
+               //FIXME:This class is not really an entity collection section, and should be moved 
+               // to a single entity section, but one with the possibility of launching a wizard
+               List<SpecimenOrObservationBase> collection = new ArrayList<SpecimenOrObservationBase>();
+               if(entity.getDescribedSpecimenOrObservation() != null) {
+                       collection.add(entity.getDescribedSpecimenOrObservation());     
+               }               
+               return collection;
        }
 
        /** {@inheritDoc} */
        @Override
        public SpecimenOrObservationBase createNewElement() {
-               DerivedUnit selection = DerivedUnitSelectionDialog.select(getShell(), getConversationHolder(), null);
+               DerivedUnit selection = DerivedUnitSelectionDialog.select(getShell(), getConversationHolder(), null);           
                return selection;
        }
 
        /** {@inheritDoc} */
        @Override
        public void addElement(SpecimenOrObservationBase element) {
-               getEntity().addDescribedSpecimenOrObservation(element);
+               getEntity().setDescribedSpecimenOrObservation(element);
        }
 
        /** {@inheritDoc} */
        @Override
        public void removeElement(SpecimenOrObservationBase element) {
-               getEntity().removeDescribedSpecimenOrObservation(element);
+               getEntity().setDescribedSpecimenOrObservation(null);            
        }
 
        /** {@inheritDoc} */