task #9252
Updated by Andreas Kohlbecker over 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 TDO 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> instead of List<Link> * Use List<TypeEntityReference> instead of List<UUID>