Revision 0b71a670
Added by Andreas Kohlbecker about 3 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkingsetPresenter.java | ||
---|---|---|
54 | 54 |
import eu.etaxonomy.cdm.model.name.TaxonName; |
55 | 55 |
import eu.etaxonomy.cdm.model.name.TaxonNameFactory; |
56 | 56 |
import eu.etaxonomy.cdm.model.name.TypeDesignationBase; |
57 |
import eu.etaxonomy.cdm.model.occurrence.FieldUnit; |
|
57 | 58 |
import eu.etaxonomy.cdm.model.permission.CRUD; |
58 | 59 |
import eu.etaxonomy.cdm.model.reference.Reference; |
59 |
import eu.etaxonomy.cdm.ref.EntityReference; |
|
60 | 60 |
import eu.etaxonomy.cdm.ref.TypedEntityReference; |
61 | 61 |
import eu.etaxonomy.cdm.service.CdmBeanItemContainerFactory; |
62 | 62 |
import eu.etaxonomy.cdm.service.CdmFilterablePagingProvider; |
... | ... | |
82 | 82 |
import eu.etaxonomy.cdm.vaadin.util.CdmTitleCacheCaptionGenerator; |
83 | 83 |
import eu.etaxonomy.cdm.vaadin.view.name.CachingPresenter; |
84 | 84 |
import eu.etaxonomy.cdm.vaadin.view.name.NameTypeDesignationPopupEditor; |
85 |
import eu.etaxonomy.cdm.vaadin.view.name.NameTypeDesignationWorkingsetIds; |
|
86 |
import eu.etaxonomy.cdm.vaadin.view.name.SpecimenTypeDesignationWorkingsetIds; |
|
85 | 87 |
import eu.etaxonomy.cdm.vaadin.view.name.SpecimenTypeDesignationWorkingsetPopupEditor; |
86 | 88 |
import eu.etaxonomy.cdm.vaadin.view.name.TaxonNameEditorPresenter; |
87 | 89 |
import eu.etaxonomy.cdm.vaadin.view.name.TaxonNamePopupEditor; |
88 | 90 |
import eu.etaxonomy.cdm.vaadin.view.name.TaxonNamePopupEditorMode; |
89 |
import eu.etaxonomy.cdm.vaadin.view.name.TypeDesignationWorkingsetEditorIdSet; |
|
90 | 91 |
import eu.etaxonomy.cdm.vaadin.view.reference.ReferencePopupEditor; |
91 | 92 |
import eu.etaxonomy.vaadin.mvp.AbstractPopupEditor; |
92 | 93 |
import eu.etaxonomy.vaadin.mvp.AbstractPresenter; |
... | ... | |
557 | 558 |
SpecimenTypeDesignationWorkingsetPopupEditor popup = openPopupEditor(SpecimenTypeDesignationWorkingsetPopupEditor.class, event); |
558 | 559 |
popup.setParentEditorActionContext(event.getContext(), event.getTarget()); |
559 | 560 |
popup.withDeleteButton(true); |
560 |
popup.loadInEditor(new TypeDesignationWorkingsetEditorIdSet(event.getRegistrationUuid(), event.getBaseEntityRef())); |
|
561 |
popup.loadInEditor(new SpecimenTypeDesignationWorkingsetIds(event.getRegistrationUuid(), |
|
562 |
event.getBaseEntityRef().castTo(FieldUnit.class), null)); |
|
561 | 563 |
if(event.hasSource()){ |
562 | 564 |
// propagate readonly state from source button to popup |
563 | 565 |
popup.setReadOnly(event.getSource().isReadOnly()); |
... | ... | |
566 | 568 |
NameTypeDesignationPopupEditor popup = openPopupEditor(NameTypeDesignationPopupEditor.class, event); |
567 | 569 |
popup.setParentEditorActionContext(event.getContext(), event.getTarget()); |
568 | 570 |
popup.withDeleteButton(true); |
569 |
popup.loadInEditor(new TypeDesignationWorkingsetEditorIdSet(event.getRegistrationUuid(), event.getBaseEntityRef())); |
|
571 |
popup.loadInEditor(new NameTypeDesignationWorkingsetIds( |
|
572 |
event.getRegistrationUuid(), |
|
573 |
event.getBaseEntityRef().castTo(NameTypeDesignation.class)) |
|
574 |
); |
|
570 | 575 |
popup.getTypifiedNamesComboboxSelect().setEnabled(false); |
571 | 576 |
if(event.hasSource()){ |
572 | 577 |
// propagate readonly state from source button to popup |
... | ... | |
589 | 594 |
UUID typifiedNameUuid; |
590 | 595 |
|
591 | 596 |
RegistrationDTO registrationDTO = workingset.getRegistrationDTO(event.getRegistrationUuid()).get(); |
592 |
EntityReference typifiedNameRef = registrationDTO.getTypifiedNameRef();
|
|
593 |
if(typifiedNameRef != null){
|
|
597 |
TypedEntityReference<TaxonName> typifiedNameRef;
|
|
598 |
if(registrationDTO.getTypifiedNameRef() != null){
|
|
594 | 599 |
// case for registrations without name, in which case the typifiedName is only defined via the typedesignations |
595 |
typifiedNameUuid = typifiedNameRef.getUuid();
|
|
600 |
typifiedNameRef = new TypedEntityReference(TaxonName.class, registrationDTO.getTypifiedNameRef().getUuid());
|
|
596 | 601 |
} else { |
597 | 602 |
// case of registrations with a name in the nomenclatural act. |
598 |
typifiedNameUuid = registrationDTO.getNameRef().getUuid();
|
|
603 |
typifiedNameRef = new TypedEntityReference(TaxonName.class, registrationDTO.getNameRef().getUuid());
|
|
599 | 604 |
} |
600 | 605 |
|
601 | 606 |
popup.grantToCurrentUser(EnumSet.of(CRUD.UPDATE, CRUD.DELETE)); |
602 | 607 |
popup.withDeleteButton(false); |
603 |
popup.loadInEditor(new TypeDesignationWorkingsetEditorIdSet( |
|
604 |
event.getRegistrationUuid(), |
|
605 |
typifiedNameUuid |
|
606 |
) |
|
608 |
popup.loadInEditor(new SpecimenTypeDesignationWorkingsetIds( |
|
609 |
event.getRegistrationUuid(), |
|
610 |
null, |
|
611 |
typifiedNameRef.getUuid() |
|
612 |
) |
|
607 | 613 |
); |
608 | 614 |
if(event.hasSource()){ |
609 | 615 |
// propagate readonly state from source component to popup |
Also available in: Unified diff
ref #9290 making TypeDesignationWorkingsetEditorIdSet --> TypeDesignationWorkingsetIds more clear