#5242, #5223 Improve performance of derivate loading and editing
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / derivate / handler / CreateFieldUnitHandler.java
index e57cbfbf728e562f367b2b2657fb5176270cea01..5129e44c572cd4673ad5cc1673b9a785f622a50c 100644 (file)
@@ -5,6 +5,7 @@ import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
 import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
 import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
@@ -23,10 +24,10 @@ public class CreateFieldUnitHandler extends AbstractHandler {
                 return null;
             }
             FieldUnit fieldUnit = FieldUnit.NewInstance();
-            CdmStore.getService(IOccurrenceService.class).save(fieldUnit);
+            fieldUnit = CdmBase.deproxy(CdmStore.getService(IOccurrenceService.class).save(fieldUnit), FieldUnit.class);
             derivateView.getConversationHolder().commit();
             DerivateViewEditorInput input = (DerivateViewEditorInput) derivateView.getEditorInput();
-            input.addRootUuid(fieldUnit.getUuid());
+            input.addRootEntity(fieldUnit);
             derivateView.refreshTree();
         }
         return null;