Project

General

Profile

« Previous | Next » 

Revision 5ce71816

Added by Patrick Plitzner over 8 years ago

Fix null selection for existing media

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/contextMenu/CreateDerivateContextMenu.java
127 127
                public void widgetSelected(SelectionEvent e) {
128 128
                    //select media
129 129
                    Media media = MediaSelectionDialog.select(AbstractUtility.getShell(), null, null);
130
                    //create MediaSpecimen
131
                    MediaSpecimen mediaSpecimen = MediaSpecimen.NewInstance(specimenType);
132
                    mediaSpecimen.setMediaSpecimen(media);
130
                    if(media!=null){
131
                        //create MediaSpecimen
132
                        MediaSpecimen mediaSpecimen = MediaSpecimen.NewInstance(specimenType);
133
                        mediaSpecimen.setMediaSpecimen(media);
133 134

  
134
                    //attach to parent
135
                    if(selectedNode.getValue() instanceof SpecimenOrObservationBase){
136
                        SpecimenOrObservationBase<?> specimenOrObservationBase = (SpecimenOrObservationBase<?>)selectedNode.getValue();
135
                        //attach to parent
136
                        if(selectedNode.getValue() instanceof SpecimenOrObservationBase){
137
                            SpecimenOrObservationBase<?> specimenOrObservationBase = (SpecimenOrObservationBase<?>)selectedNode.getValue();
137 138

  
138
                        specimenOrObservationBase.addDerivationEvent(DerivationEvent.NewSimpleInstance(specimenOrObservationBase, mediaSpecimen, derivationEventType));
139
                        mediaSpecimen.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
140
                        mediaSpecimen.getTitleCache(); //update title cache
141
                        if(CdmStore.getCurrentSessionManager().isRemoting()) {
142
                            CdmStore.getService(IOccurrenceService.class).merge(specimenOrObservationBase, true);
139
                            specimenOrObservationBase.addDerivationEvent(DerivationEvent.NewSimpleInstance(specimenOrObservationBase, mediaSpecimen, derivationEventType));
140
                            mediaSpecimen.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
141
                            mediaSpecimen.getTitleCache(); //update title cache
142
                            if(CdmStore.getCurrentSessionManager().isRemoting()) {
143
                                CdmStore.getService(IOccurrenceService.class).merge(specimenOrObservationBase, true);
144
                            }
143 145
                        }
144
                    }
145 146

  
146
                    //refresh view
147
                    DerivateView derivateView = null;
148
                    if(AbstractUtility.getActivePart() instanceof DerivateView){
149
                        derivateView = (DerivateView) AbstractUtility.getActivePart();
150
                    }
151
                    if(derivateView!=null){
147
                        //refresh view
148
                        DerivateView derivateView = null;
149
                        if(AbstractUtility.getActivePart() instanceof DerivateView){
150
                            derivateView = (DerivateView) AbstractUtility.getActivePart();
151
                        }
152
                        if(derivateView!=null){
152 153

  
153
                        derivateView.getConversationHolder().commit();
154
                        derivateView.refreshTree(mediaSpecimen);
154
                            derivateView.getConversationHolder().commit();
155
                            derivateView.refreshTree(mediaSpecimen);
156
                        }
155 157
                    }
156 158
                }
157 159
            });

Also available in: Unified diff