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