import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.service.UpdateResult;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
@Component
if("merge".equals(currentRemoteInvocation.getMethodName()) ||
"save".equals(currentRemoteInvocation.getMethodName()) ||
"findWithUpdate".equals(currentRemoteInvocation.getMethodName())) {
- rir = new RemoteInvocationResult(cdmEntitySessionManager.load(rir.getValue(), true));
+ if(rir.getValue() instanceof MergeResult) {
+ MergeResult result = (MergeResult) rir.getValue();
+ cdmEntitySessionManager.load(result.getMergedEntity(), true);
+ cdmEntitySessionManager.load(result.getNewEntities(), true);
+ } else {
+ rir = new RemoteInvocationResult(cdmEntitySessionManager.load(rir.getValue(), true));
+ }
} else if(rir.getValue() instanceof UpdateResult){
UpdateResult result = (UpdateResult)rir.getValue();
if(result.isOk()){