import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage;
/**
* <p>NewDerivedUnitBaseWizard class.</p>
@Override
public void addPages() {
DerivedUnitFacade facade = null;
- try {
- if(getEntity() instanceof DerivedUnit) {
- facade = DerivedUnitFacade.NewInstance((DerivedUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
- addPage(new GeneralWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), facade));
- }
- else if(getEntity() instanceof FieldUnit){
- facade = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit, (FieldUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
- addPage(new FieldUnitGeneralWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
- addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
- }
- } catch (DerivedUnitFacadeNotSupportedException e) {
- // we should never get here
- throw new IllegalStateException();
- }
- }
+ try {
+ if(getEntity() instanceof DerivedUnit) {
+ facade = DerivedUnitFacade.NewInstance((DerivedUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
+ facade.getFieldUnit(true); //TODO: this is a temporary solution for the Campanula project as
+ //this ALWAYS needs a FieldUnit as root of the hierarchy
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#createNewEntity()
- */
- /** {@inheritDoc} */
- @Override
- protected SpecimenOrObservationBase createNewEntity() {
- if(specOrObsType == null) {
- return DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
- } else {
- if(SpecimenOrObservationType.Media.equals(specOrObsType) ||
- ((specOrObsType.getKindOf() != null) &&
- specOrObsType.getKindOf().equals(SpecimenOrObservationType.Media))) {
- return MediaSpecimen.NewInstance(specOrObsType);
- } else if (specOrObsType.equals(SpecimenOrObservationType.FieldUnit)) {
- return FieldUnit.NewInstance();
- } else {
- return DerivedUnit.NewInstance(specOrObsType);
+ addPage(new DerivedUnitGeneralWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), facade));
}
+ else if(getEntity() instanceof FieldUnit){
+ facade = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit, (FieldUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
+ addPage(new FieldUnitGeneralWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
+ addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
+ }
+ } catch (DerivedUnitFacadeNotSupportedException e) {
+ // we should never get here
+ throw new IllegalStateException();
}
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#
+ * createNewEntity()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected SpecimenOrObservationBase createNewEntity() {
+ if (specOrObsType == null) {
+ return DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
+ } else {
+ if (SpecimenOrObservationType.Media.equals(specOrObsType)
+ || ((specOrObsType.getKindOf() != null) && specOrObsType.getKindOf().equals(SpecimenOrObservationType.Media))) {
+ return MediaSpecimen.NewInstance(specOrObsType);
+ } else if (specOrObsType.equals(SpecimenOrObservationType.FieldUnit)) {
+ return FieldUnit.NewInstance();
+ } else {
+ return DerivedUnit.NewInstance(specOrObsType);
+ }
+ }
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#saveEntity()
*/