Project

General

Profile

« Previous | Next » 

Revision 9d5ae601

Added by Andreas Kohlbecker almost 7 years ago

ref #6612 updating UI components on modified References

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkflowPresenter.java
27 27
import eu.etaxonomy.cdm.model.reference.Reference;
28 28
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
29 29
import eu.etaxonomy.cdm.service.IRegistrationWorkingSetService;
30
import eu.etaxonomy.cdm.vaadin.event.EntityChangeEvent;
30 31
import eu.etaxonomy.cdm.vaadin.event.ReferenceEditorAction;
31 32
import eu.etaxonomy.cdm.vaadin.event.ShowDetailsEvent;
32 33
import eu.etaxonomy.cdm.vaadin.event.registration.RegistrationWorkflowEvent;
......
76 77
            } catch (RegistrationValidationException error) {
77 78
                getView().getWorkflow().setComponentError(new SystemError(error));
78 79
            }
80
            getView().setWorkingset(workingset);
79 81
        } else {
80
            try {
81
                workingset = workingSetService.loadWorkingSetByRegistrationID(event.getRegistrationID());
82
            } catch (RegistrationValidationException error) {
83
                getView().getWorkflow().setComponentError(new SystemError(error));
84
            }
85
            getView().setHeaderText("Registration for " + workingset.getCitation());
82
            Integer registrationID = event.getRegistrationID();
83
            presentWorkingSetByRegID(registrationID);
86 84
        }
87
        if(workingset != null){
88
            getView().setWorkingset(workingset);
89
            //TODO add Blocking registrations to view
85

  
86
    }
87

  
88
    /**
89
     * @param registrationID
90
     * @deprecated use other method working sets should only be addressed by the referenceID
91
     */
92
    @Deprecated
93
    private void presentWorkingSetByRegID(Integer registrationID) {
94
        try {
95
            workingset = workingSetService.loadWorkingSetByRegistrationID(registrationID);
96
        } catch (RegistrationValidationException error) {
97
            getView().getWorkflow().setComponentError(new SystemError(error));
90 98
        }
99
        getView().setHeaderText("Registration for " + workingset.getCitation());
100
        getView().setWorkingset(workingset);
101
    }
102

  
103
    /**
104
     * @param registrationID
105
     */
106
    private void presentWorkingSet(Integer referenceID) {
107
        try {
108
            workingset = workingSetService.loadWorkingSetByReferenceID(referenceID);
109
        } catch (RegistrationValidationException error) {
110
            getView().getWorkflow().setComponentError(new SystemError(error));
111
        }
112
        getView().setHeaderText("Registration for " + workingset.getCitation());
113
        getView().setWorkingset(workingset);
91 114
    }
92 115

  
93 116
    @EventListener(condition = "#event.eventType ==T(eu.etaxonomy.cdm.vaadin.event.EntityEventType).ADD")
......
126 149
        }
127 150
    }
128 151

  
152
    @EventListener
153
    public void onEntityChangeEvent(EntityChangeEvent event){
154
        if(event.getEntityType().isAssignableFrom(Reference.class)){
155
            if(workingset.getCitationId().equals(event.getEntityId())){
156
                presentWorkingSet(event.getEntityId());
157
            }
158
        }
159

  
160
    }
161

  
129 162
}

Also available in: Unified diff