removed abstract method getGatheringEvent which was not implemented in DerivedUnitBase
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / occurrence / DerivedUnitBase.java
index 36113cc00c4fb7e0be2c5e5f0b328d9d1a46d50f..3a352f9d62f023a1a1adf4ef4a1673465892db6c 100644 (file)
@@ -30,9 +30,11 @@ import org.hibernate.search.annotations.Field;
 import org.hibernate.search.annotations.Index;
 import org.hibernate.search.annotations.Indexed;
 import org.hibernate.search.annotations.IndexedEmbedded;
+import org.hibernate.validator.constraints.Length;
 
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
+import eu.etaxonomy.cdm.validation.annotation.NullOrNotEmpty;
 
 /**
  * http://www.bgbm.org/biodivinf/docs/CollectionModel/ReprintTNR.pdf
@@ -68,14 +70,20 @@ public abstract class DerivedUnitBase<S extends IIdentifiableEntityCacheStrategy
 
        @XmlElement(name = "CatalogNumber")
        @Field(index=Index.UN_TOKENIZED)
+       @NullOrNotEmpty
+       @Length(max = 255)
        private String catalogNumber;
        
        @XmlElement(name = "AccessionNumber")
        @Field(index=Index.UN_TOKENIZED)
+       @NullOrNotEmpty
+       @Length(max = 255)
        private String accessionNumber;
        
        @XmlElement(name = "CollectorsNumber")
        @Field(index=Index.UN_TOKENIZED)
+       @NullOrNotEmpty
+       @Length(max = 255)
        private String collectorsNumber;
        
        @XmlElement(name = "StoredUnder")
@@ -120,7 +128,7 @@ public abstract class DerivedUnitBase<S extends IIdentifiableEntityCacheStrategy
         */
        protected DerivedUnitBase(GatheringEvent gatheringEvent) {
                this(new FieldObservation());
-               FieldObservation field = (FieldObservation) this.getOriginalUnit();
+               FieldObservation field = (FieldObservation)this.getOriginalUnit();
                field.setGatheringEvent(gatheringEvent);
        }
 
@@ -135,7 +143,7 @@ public abstract class DerivedUnitBase<S extends IIdentifiableEntityCacheStrategy
                }
                this.derivationEvent = derivedFrom;
                if (derivedFrom != null){
-                       derivedFrom.getDerivatives().add(this);
+                       derivedFrom.addDerivative(this);
                }
        }
        
@@ -144,14 +152,6 @@ public abstract class DerivedUnitBase<S extends IIdentifiableEntityCacheStrategy
                return this.getDerivedFrom().getOriginals();
        }
 
-       @Override
-       @Transient
-       public GatheringEvent getGatheringEvent() {
-               // FIXME: implement efficient way of getting original gathering event
-               // keep link to original gathering event for performance mainly.
-               return null;
-       }
-
        public Collection getCollection(){
                return this.collection;
        }
@@ -194,7 +194,7 @@ public abstract class DerivedUnitBase<S extends IIdentifiableEntityCacheStrategy
                return storedUnder;
        }
        
-       //*********** CLONE **********************************/ 
+//*********** CLONE **********************************/        
        
        /** 
         * Clones <i>this</i> derivedUnitBase. This is a shortcut that enables to