Project

General

Profile

« Previous | Next » 

Revision 2d981b4e

Added by Andreas Kohlbecker about 7 years ago

ref #6169 RegistrationWorkingSets more complete, validation problems accessible via UI

View differences:

src/main/java/eu/etaxonomy/cdm/mock/RegistrationService.java
8 8
*/
9 9
package eu.etaxonomy.cdm.mock;
10 10

  
11
import java.util.ArrayList;
11 12
import java.util.Collection;
12 13
import java.util.HashMap;
13 14
import java.util.HashSet;
14 15
import java.util.List;
15 16
import java.util.Map;
16
import java.util.Set;
17 17
import java.util.UUID;
18 18

  
19
import org.apache.log4j.Logger;
20 19
import org.springframework.beans.factory.annotation.Autowired;
21 20
import org.springframework.beans.factory.annotation.Qualifier;
22 21
import org.springframework.stereotype.Service;
......
27 26
import eu.etaxonomy.cdm.model.common.CdmBase;
28 27
import eu.etaxonomy.cdm.model.name.Rank;
29 28
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
29
import eu.etaxonomy.cdm.vaadin.model.registration.RegistrationWorkingSet;
30 30
import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationDTO;
31 31
import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationValidationException;
32 32

  
......
49 49
    private CdmRepository repo;
50 50

  
51 51
    private Map<UUID, Registration> registrationsByUUID = new HashMap<>();
52
    private Map<String, Registration> registrationsByRegID = new HashMap<>();
53
    private Map<String, RegistrationDTO> registrationDTOsByRegID = new HashMap<>();
54
    private Map<Integer, Set<RegistrationDTO>> registrationDTOsByCitationID = new HashMap<>();
52
    private Map<Integer, Registration> registrationsByRegID = new HashMap<>();
53
    private Map<Integer, RegistrationDTO> registrationDTOsById = new HashMap<>();
54
    private Map<String, RegistrationDTO> registrationDTOsByIdentifier = new HashMap<>();
55
    private Map<Integer, List<RegistrationDTO>> registrationDTOsByCitationId = new HashMap<>();
55 56

  
56 57
    private Collection<CdmBase> cdmEntities = new HashSet<>();
57 58

  
......
75 76
                            Registration nameReg = new Registration();
76 77
                            nameReg.setName(name);
77 78
                            cdmEntities.add(name);
78
                            try {
79
                                put(nameReg, new RegistrationDTO(nameReg));
80
                            } catch (RegistrationValidationException e) {
81
                                //FIXME throw  and handle Exception
82
                                Logger.getLogger(this.getClass()).error(e);
83
                            }
79
                            put(new RegistrationDTO(nameReg));
84 80

  
85 81
                            // typedesignation
86 82
                            Registration typedesignationReg = new Registration();
87 83
                            typedesignationReg.addTypeDesignations(name.getTypeDesignations());
88 84
                            cdmEntities.addAll(name.getTypeDesignations());
89
                            try {
90
                                put(typedesignationReg,  new RegistrationDTO(typedesignationReg));
91
                            } catch (RegistrationValidationException e) {
92
                                //FIXME throw  and handle Exception
93
                                Logger.getLogger(this.getClass()).error(e);
94
                            }
85
                            put(new RegistrationDTO(typedesignationReg));
95 86
                        }
96 87
                    }
97 88
                }
......
103 94
    /**
104 95
     * @param reg
105 96
     */
106
    private void put(Registration reg, RegistrationDTO dto) {
107
        registrationsByUUID.put(reg.getUuid(), reg);
108
        registrationsByRegID.put(reg.getSpecificIdentifier(), reg);
109
        registrationDTOsByRegID.put(reg.getSpecificIdentifier(), dto);
110
        if(! registrationDTOsByCitationID.containsKey(dto.getCitationID())){
111
            registrationDTOsByCitationID.put(dto.getCitationID(), new HashSet<RegistrationDTO>());
97
    private void put(RegistrationDTO dto) {
98
        Registration reg = dto.registration();
99
        registrationsByUUID.put(dto.getUuid(), reg);
100
        registrationsByRegID.put(reg.getId(), reg);
101

  
102
        registrationDTOsById.put(reg.getId(), dto);
103
        registrationDTOsByIdentifier.put(reg.getIdentifier(), dto);
104

  
105
        if(! registrationDTOsByCitationId.containsKey(dto.getCitationID())){
106
            registrationDTOsByCitationId.put(dto.getCitationID(), new ArrayList<RegistrationDTO>());
112 107
        }
113
        registrationDTOsByCitationID.get(dto.getCitationID()).add(dto);
108
        registrationDTOsByCitationId.get(dto.getCitationID()).add(dto);
114 109
    }
115 110

  
116 111
    private void mergeBack(){
......
125 120
        return registrationsByUUID.get(uuid);
126 121
    }
127 122

  
123

  
128 124
    public Collection<Registration> list(){
129 125
        init();
130 126
        return registrationsByUUID.values();
......
132 128

  
133 129
    public Collection<RegistrationDTO> listDTOs() {
134 130
        init();
135
        return registrationDTOsByRegID.values();
131
        return registrationDTOsById.values();
132
    }
133

  
134
    public Map<Integer, List<RegistrationDTO>> listDTOsByWorkingSet() {
135
        init();
136
        return registrationDTOsByCitationId;
137
    }
138

  
139
    /**
140
     * @param  id the CDM Entity id
141
     * @return
142
     */
143
    public Registration loadByRegistrationID(Integer id) {
144
        init();
145
        return registrationsByRegID.get(id);
136 146
    }
137 147

  
138
    public Map<Integer, Set<RegistrationDTO>> listDTOsByWorkingSet() {
148
    /**
149
     * @param identifier the Registration Identifier String
150
     * @return
151
     */
152
    public RegistrationDTO loadDtoByIdentifier(String identifier) {
139 153
        init();
140
        return registrationDTOsByCitationID;
154
        return registrationDTOsById.get(identifier);
141 155
    }
142 156

  
143 157
    /**
144
     * @param registrationID
158
     * @param id the CDM Entity id
145 159
     * @return
146 160
     */
147
    public Registration loadByRegistrationID(Integer registrationID) {
161
    public RegistrationDTO loadDtoById(Integer id) {
148 162
        init();
149
        return registrationsByRegID.get(registrationID.toString());
163
        return registrationDTOsById.get(id);
164
    }
165

  
166
    /**
167
     * @param  id the CDM Entity id
168
     * @return
169
     * @throws RegistrationValidationException
170
     */
171
    public RegistrationWorkingSet loadWorkingSetByRegistrationID(Integer id) throws RegistrationValidationException {
172
        init();
173
        RegistrationDTO dto = registrationDTOsById.get(id);
174

  
175
        return new RegistrationWorkingSet(registrationDTOsByCitationId.get(dto.getCitationID()));
150 176
    }
151 177

  
152 178

  

Also available in: Unified diff