Project

General

Profile

« Previous | Next » 

Revision 3b17b230

Added by Andreas Kohlbecker about 6 years ago

ref #6740 service methods to load NameTypeDesignations for Registrations

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/name/NameTypeDesignationPresenter.java
12 12
import java.util.HashSet;
13 13
import java.util.List;
14 14

  
15
import org.springframework.beans.factory.annotation.Autowired;
16

  
15 17
import eu.etaxonomy.cdm.api.service.IService;
16 18
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
17 19
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
18 20
import eu.etaxonomy.cdm.model.name.TaxonName;
19 21
import eu.etaxonomy.cdm.model.reference.Reference;
20 22
import eu.etaxonomy.cdm.service.CdmFilterablePagingProvider;
23
import eu.etaxonomy.cdm.service.IRegistrationWorkingSetService;
21 24
import eu.etaxonomy.cdm.vaadin.component.CdmBeanItemContainerFactory;
22 25
import eu.etaxonomy.cdm.vaadin.event.ToOneRelatedEntityButtonUpdater;
23 26
import eu.etaxonomy.cdm.vaadin.event.ToOneRelatedEntityReloader;
24 27
import eu.etaxonomy.cdm.vaadin.security.UserHelper;
25 28
import eu.etaxonomy.cdm.vaadin.util.CdmTitleCacheCaptionGenerator;
29
import eu.etaxonomy.cdm.vaadin.util.converter.TypeDesignationSetManager.TypeDesignationWorkingSet;
30
import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationDTO;
26 31
import eu.etaxonomy.vaadin.mvp.AbstractCdmEditorPresenter;
27 32

  
28 33
/**
......
33 38
public class NameTypeDesignationPresenter
34 39
        extends AbstractCdmEditorPresenter<NameTypeDesignation, NameTypeDesignationEditorView> {
35 40

  
41
    @Autowired
42
    private IRegistrationWorkingSetService registrationWorkingSetService;
43

  
36 44
    HashSet<TaxonName> typifiedNamesAsLoaded;
37 45

  
46

  
47
    /**
48
     * {@inheritDoc}
49
     */
50
    @Override
51
    protected NameTypeDesignation loadBeanById(Object identifier) {
52
        if(identifier instanceof Integer || identifier == null){
53
            return super.loadBeanById(identifier);
54
        } else {
55
            TypeDesignationWorkingsetEditorIdSet idset = (TypeDesignationWorkingsetEditorIdSet)identifier;
56
            RegistrationDTO regDTO = registrationWorkingSetService.loadDtoById(idset.registrationId);
57
            // find the working set
58
            TypeDesignationWorkingSet typeDesignationWorkingSet = regDTO.getTypeDesignationWorkingSet(idset.workingsetId);
59
            int nameTypeDesignationId = typeDesignationWorkingSet.getBaseEntityReference().getId();
60
            // NameTypeDesignation bameTypeDesignation = regDTO.getNameTypeDesignation(typeDesignationWorkingSet.getBaseEntityReference());
61
            if(!typeDesignationWorkingSet.getBaseEntityReference().getType().equals(NameTypeDesignation.class)){
62
                throw new RuntimeException("TypeDesignationWorkingsetEditorIdSet references not a NameTypeDesignation");
63
            }
64
            return super.loadBeanById(nameTypeDesignationId);
65
        }
66
    }
67

  
68

  
38 69
    /**
39 70
     * {@inheritDoc}
40 71
     */

Also available in: Unified diff