Revision fce7d237
Added by Cherian Mathew over 8 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/contextMenu/CreateDerivateContextMenu.java | ||
---|---|---|
138 | 138 |
specimenOrObservationBase.addDerivationEvent(DerivationEvent.NewSimpleInstance(specimenOrObservationBase, mediaSpecimen, derivationEventType)); |
139 | 139 |
mediaSpecimen.setCacheStrategy(new DerivedUnitFacadeCacheStrategy()); |
140 | 140 |
mediaSpecimen.getTitleCache(); //update title cache |
141 |
CdmStore.getService(IOccurrenceService.class).merge(specimenOrObservationBase); |
|
141 |
if(CdmStore.getCurrentSessionManager().isRemoting()) { |
|
142 |
CdmStore.getService(IOccurrenceService.class).merge(specimenOrObservationBase, true); |
|
143 |
} |
|
142 | 144 |
} |
143 | 145 |
|
144 | 146 |
//refresh view |
... | ... | |
202 | 204 |
Sequence newInstance = Sequence.NewInstance(dnaSample, "", 0); //$NON-NLS-1$ |
203 | 205 |
createdElement = newInstance; |
204 | 206 |
} |
205 |
CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate); |
|
207 |
if(CdmStore.getCurrentSessionManager().isRemoting()) { |
|
208 |
CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate, true); |
|
209 |
} |
|
206 | 210 |
} |
207 | 211 |
else if(selectedDerivate instanceof Sequence){ |
208 | 212 |
SingleRead newInstance = SingleRead.NewInstance(); |
209 | 213 |
((Sequence) selectedDerivate).addSingleRead(newInstance); |
210 | 214 |
createdElement = newInstance; |
211 |
CdmApplicationState.getCurrentAppConfig().getSequenceService().merge((Sequence)selectedDerivate); |
|
215 |
if(CdmStore.getCurrentSessionManager().isRemoting()) { |
|
216 |
CdmApplicationState.getCurrentAppConfig().getSequenceService().merge((Sequence)selectedDerivate, true); |
|
217 |
} |
|
212 | 218 |
} |
213 | 219 |
else if(selectedDerivate instanceof SpecimenOrObservationBase && DerivedUnit.class.isAssignableFrom(childClass)){ |
214 | 220 |
SpecimenOrObservationBase<?> specimenOrObservationBase = (SpecimenOrObservationBase<?>)selectedDerivate; |
... | ... | |
234 | 240 |
derivedUnit.setCacheStrategy(new DerivedUnitFacadeCacheStrategy()); |
235 | 241 |
derivedUnit.getTitleCache(); //update title cache |
236 | 242 |
createdElement = derivedUnit; |
237 |
CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate); |
|
243 |
if(CdmStore.getCurrentSessionManager().isRemoting()) { |
|
244 |
CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate, true); |
|
245 |
} |
|
238 | 246 |
} |
239 | 247 |
|
240 | 248 |
//refresh view |
241 | 249 |
if(derivateView!=null){ |
242 |
//CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase) selectedDerivate); |
|
243 | 250 |
derivateView.getConversationHolder().commit(); |
244 | 251 |
derivateView.refreshTree(createdElement); |
245 | 252 |
} |
Also available in: Unified diff
Add remoting checks for merge, Move to merge call which returns updated transient object