Project

General

Profile

« Previous | Next » 

Revision fdb645e1

Added by Andreas Kohlbecker almost 7 years ago

ref #6724 implementing SpecimenTypeDesignationWorkingSetDTO as editor dto and modifying the TypeDesignationConverter accordingly

  • SpecimenTypeDesignation editor operates on SpecimenTypeDesignationWorkingSetDTO
  • TypeDesignationConverter.TypeDesignationWorkingSet have field for the baseEntity

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationDTO.java
13 13
import java.util.HashSet;
14 14
import java.util.LinkedHashMap;
15 15
import java.util.List;
16
import java.util.Optional;
16 17
import java.util.Set;
17 18
import java.util.UUID;
18 19

  
......
20 21
import org.apache.log4j.Logger;
21 22
import org.joda.time.DateTime;
22 23

  
24
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
23 25
import eu.etaxonomy.cdm.model.common.TimePeriod;
24 26
import eu.etaxonomy.cdm.model.name.Registration;
25 27
import eu.etaxonomy.cdm.model.name.RegistrationStatus;
28
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
26 29
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
27 30
import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
28 31
import eu.etaxonomy.cdm.model.reference.IReference;
29 32
import eu.etaxonomy.cdm.vaadin.model.EntityReference;
30 33
import eu.etaxonomy.cdm.vaadin.model.TypedEntityReference;
34
import eu.etaxonomy.cdm.vaadin.model.registration.SpecimenTypeDesignationWorkingSetDTO;
31 35
import eu.etaxonomy.cdm.vaadin.util.converter.TypeDesignationConverter;
32 36
import eu.etaxonomy.cdm.vaadin.util.converter.TypeDesignationConverter.TypeDesignationWorkingSet;
33 37

  
......
236 240
        return typeDesignationConverter != null ? typeDesignationConverter.getOrderdTypeDesignationWorkingSets() : null;
237 241
    }
238 242

  
243
    /**
244
     * @param baseEntityReference
245
     */
246
    public TypeDesignationWorkingSet getTypeDesignationWorkingSet(TypedEntityReference baseEntityReference) {
247
        return typeDesignationConverter != null ? typeDesignationConverter.getOrderdTypeDesignationWorkingSets().get(baseEntityReference) : null;
248

  
249
    }
250

  
251
    /**
252
     * @param baseEntityReference
253
     */
254
    public Set<TypeDesignationBase> getTypeDesignationsInWorkingSet(TypedEntityReference baseEntityReference) {
255
        Set<TypeDesignationBase> typeDesignations = new HashSet<>();
256
        TypeDesignationWorkingSet workingSet = getTypeDesignationWorkingSet(baseEntityReference);
257
        for(EntityReference ref :  workingSet.getTypeDesignations()){
258
            typeDesignations.add(findTypeDesignation(ref));
259
        }
260
        return typeDesignations;
261
    }
262

  
263
    public SpecimenTypeDesignationWorkingSetDTO getSpecimenTypeDesignationWorkingSetDTO(TypedEntityReference baseEntityReference) {
264
        Set<TypeDesignationBase> typeDesignations = getTypeDesignationsInWorkingSet(baseEntityReference);
265
        List<SpecimenTypeDesignation> specimenTypeDesignations = new ArrayList<>(typeDesignations.size());
266
        typeDesignations.forEach(td -> specimenTypeDesignations.add((SpecimenTypeDesignation)td));
267
        IdentifiableEntity<?> baseEntity = getTypeDesignationWorkingSet(baseEntityReference).getBaseEntity();
268
        SpecimenTypeDesignationWorkingSetDTO dto = new SpecimenTypeDesignationWorkingSetDTO(reg, baseEntity, specimenTypeDesignations);
269
        return dto;
270
    }
271

  
272
    /**
273
     *
274
     * @param workingSetId
275
     * @return the TypeDesignationWorkingSet in this DTO with the matching workingSetId or NULL
276
     */
277
    public TypeDesignationWorkingSet getTypeDesignationWorkingSet(int workingSetId) {
278
        Optional<TypeDesignationWorkingSet> workingSetOptional = getOrderdTypeDesignationWorkingSets().values().stream().filter(workingSet -> workingSet.getWorkingSetId() == workingSetId).findFirst();
279
        if(workingSetOptional.isPresent()){
280
            return workingSetOptional.get();
281
        }
282
        return null;
283

  
284
    }
285

  
286
    /**
287
     * @param ref
288
     * @return
289
     */
290
    private TypeDesignationBase findTypeDesignation(EntityReference ref) {
291
        return typeDesignationConverter != null ? typeDesignationConverter.findTypeDesignation(ref) : null;
292
    }
293

  
239 294
    public Collection<TypeDesignationBase> getTypeDesignations() {
240 295
        return typeDesignationConverter != null ? typeDesignationConverter.getTypeDesignations() : null;
241 296
    }

Also available in: Unified diff