Revision 5ce71816
Added by Patrick Plitzner over 8 years ago
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
Fix null selection for existing media