task #9252
Updated by Andreas Kohlbecker about 2 years ago
Problems with the current implementations: * Naming: * PreservedSpecimenDTO should be named DerivedUnitDTO * DerivateDTO should be named SpecimenOrOberservationDTO * Terms: * term representations need to be localized * fields containing localized term representations are to be named `{fieldname}_L10n` * Factory methods * clear naming etc.... * construction of DTO should be done in factory methods instead of having this code in service methods and utilizing setters to populate the DTO with field values , see * `OccurrenceServiceImpl.assembleFieldUnitDTO(FieldUnit fieldUnit)` * `OccurrenceServiceImpl.findFieldUnitDTO(SpecimenOrObservationBaseDTO, Collection<FieldUnitDTO>, HashMap<UUID, SpecimenOrObservationBaseDTO>)` * `OccurrenceServiceImpl.loadFieldUnitDTO(UUID)` * DTO classes should extend TypeEntityReference instead of UuidAndTitleCache Solving this ticket is a prerequisite for straight forward harmonization of the different specimen representations #8419 Additional: * DerivateDataDTO: * find better class name * Use `List<MediaDTO>` List<MediaDTO> instead of `List<Link>` List<Link> * Use `List<TypeEntityReference>` List<TypeEntityReference> instead of `List<UUID>` List<UUID> * add missing fields (example values for *Glenodinium apiculatum* as in integration reference db) * Stored under: Glenodinium apiculatum Ehrenb. * Original label info: Glenodimium spec. determination pending. * Determinations: Glenodinium apiculatum Ehrenb., 2016-12-01, Kohlbecker, A., * Exsiccatum: D. Veloper