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
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;
}
}