// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.model.common.OriginalSourceType;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
-import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.dialog.selection.OriginalSourceTypeSelectionDialog;
-import eu.etaxonomy.taxeditor.ui.dialog.selection.SpecimenOrObservationTypeSelectionDialog;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
*/
public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<DerivedUnit> {
private SpecimenOrObservationType specOrObsType = null;
-
+
public NewDerivedUnitBaseWizard() {
- super();
+ super();
}
-
+
public NewDerivedUnitBaseWizard(SpecimenOrObservationType specOrObsType) {
super();
this.specOrObsType = specOrObsType;
/** {@inheritDoc} */
@Override
public void addPages() {
- addPage(new GeneralWizardPage(formFactory, getConversationHolder(), getFacade()));
- addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), getFacade()));
- addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), getFacade()));
- addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), getFacade()));
-
+ DerivedUnitFacade facade = getFacade();
+ try {
+ if(getEntity() != null) {
+ facade = DerivedUnitFacade.NewInstance(getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
+ }
+ } catch (DerivedUnitFacadeNotSupportedException e) {
+ // w should never get here
+ throw new IllegalStateException();
+ }
+ addPage(new GeneralWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), facade));
+
}
-
+
/**
* @return
*/
*/
/** {@inheritDoc} */
@Override
- protected DerivedUnit createNewEntity() {
+ protected DerivedUnit createNewEntity() {
if(specOrObsType == null) {
return DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
- } else {
- if(SpecimenOrObservationType.Media.equals(specOrObsType) ||
- ((((SpecimenOrObservationType)specOrObsType).getKindOf() != null) &&
- ((SpecimenOrObservationType)specOrObsType).getKindOf().equals(SpecimenOrObservationType.Media))) {
+ } else {
+ if(SpecimenOrObservationType.Media.equals(specOrObsType) ||
+ ((specOrObsType.getKindOf() != null) &&
+ specOrObsType.getKindOf().equals(SpecimenOrObservationType.Media))) {
return MediaSpecimen.NewInstance(SpecimenOrObservationType.Media);
} else {
- return DerivedUnit.NewInstance((SpecimenOrObservationType)specOrObsType);
- }
+ return DerivedUnit.NewInstance(specOrObsType);
+ }
}
}
protected String getEntityName() {
return "Specimen";
}
-
-
+
+
}