Revision fdb645e1
Added by Andreas Kohlbecker almost 7 years ago
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
ref #6724 implementing SpecimenTypeDesignationWorkingSetDTO as editor dto and modifying the TypeDesignationConverter accordingly