Merge branch 'develop' into remoting-4.0
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / handler / create / NewSpecimenHandler.java
index bfbdd84477a478f1d9b791b4e2c99d0c2b438824..dbd3353708ca5eed81bb348743c09e3b8d5cd2ee 100644 (file)
 
 package eu.etaxonomy.taxeditor.editor.handler.create;
 
-import java.util.Collections;
-
 import org.apache.log4j.Logger;
 import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.PartInitException;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.ui.handlers.HandlerUtil;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeFieldUnitCacheStrategy;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
-import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
-import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
-import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.newWizard.NewDerivedUnitBaseWizard;
 
 /**
- * <p>NewSpecimenHandler class.</p>
- *
  * @author n.hoffmann
  * @created Jun 16, 2010
  * @version 1.0
@@ -42,32 +28,32 @@ public class NewSpecimenHandler extends AbstractHandler {
        private static final Logger logger = Logger
                        .getLogger(NewSpecimenHandler.class);
 
-       /* (non-Javadoc)
-        * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
-        */
        /** {@inheritDoc} */
        @Override
     public Object execute(ExecutionEvent event) throws ExecutionException {
-           ConversationHolder conversation = CdmStore.createConversation();
-           conversation.bind();
-           FieldUnit fieldUnit = FieldUnit.NewInstance();
-           DerivedUnit derivedUnit = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
-           DerivationEvent.NewSimpleInstance(fieldUnit, derivedUnit, DerivationEventType.GATHERING_IN_SITU());
-        CdmStore.getService(IOccurrenceService.class).merge(fieldUnit);
-        conversation.commit();
-        DerivateViewEditorInput input = new DerivateViewEditorInput(Collections.singleton(fieldUnit.getUuid()));
-        fieldUnit.setCacheStrategy(new DerivedUnitFacadeFieldUnitCacheStrategy());
-        derivedUnit.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
-        try {
-            EditorUtil.open(input);
-        } catch (PartInitException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-//             NewDerivedUnitBaseWizard wizard = new NewDerivedUnitBaseWizard();
-//             wizard.init(null, null);
-//             WizardDialog dialog = new WizardDialog(HandlerUtil.getActiveShell(event), wizard);
-//             dialog.open();
+
+           //TODO: we need to discuss how specimens should be created and handled #5244
+//         ConversationHolder conversation = CdmStore.createConversation();
+//         conversation.bind();
+//         FieldUnit fieldUnit = FieldUnit.NewInstance();
+//         DerivedUnit derivedUnit = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
+//         DerivationEvent.NewSimpleInstance(fieldUnit, derivedUnit, DerivationEventType.GATHERING_IN_SITU());
+//         fieldUnit.setCacheStrategy(new DerivedUnitFacadeFieldUnitCacheStrategy());
+//         derivedUnit.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
+//        CdmStore.getService(IOccurrenceService.class).save(fieldUnit);
+//        CdmStore.getService(IOccurrenceService.class).save(derivedUnit);
+//        conversation.commit();
+//        DerivateViewEditorInput input = new DerivateViewEditorInput(Collections.singleton(fieldUnit.getUuid()));
+//        try {
+//            EditorUtil.open(input);
+//        } catch (PartInitException e) {
+//            // TODO Auto-generated catch block
+//            e.printStackTrace();
+//        }
+               NewDerivedUnitBaseWizard wizard = new NewDerivedUnitBaseWizard();
+               wizard.init(null, null);
+               WizardDialog dialog = new WizardDialog(HandlerUtil.getActiveShell(event), wizard);
+               dialog.open();
                return null;
        }
 }