Revision 2d981b4e
Added by Andreas Kohlbecker about 7 years ago
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
ref #6169 RegistrationWorkingSets more complete, validation problems accessible via UI