X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/b478a42ff33244656106118a66019df0944a84f5..6edbda865885ff579c6ecf02aa27277b96569a6c:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java index c0f298563..5e76e56c6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java @@ -1,15 +1,19 @@ // $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. */ package eu.etaxonomy.taxeditor.ui.selection; +import java.util.Collections; +import java.util.List; +import java.util.Map; + import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.wizard.Wizard; import org.eclipse.jface.wizard.WizardDialog; @@ -18,58 +22,66 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException; +import eu.etaxonomy.cdm.api.service.IService; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.agent.Institution; import eu.etaxonomy.cdm.model.agent.Person; import eu.etaxonomy.cdm.model.agent.Team; -import eu.etaxonomy.cdm.model.common.ICdmBase; +import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.common.User; +import eu.etaxonomy.cdm.model.description.PolytomousKey; +import eu.etaxonomy.cdm.model.molecular.Amplification; +import eu.etaxonomy.cdm.model.molecular.Primer; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.occurrence.Collection; -import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; import eu.etaxonomy.cdm.model.reference.Reference; +import eu.etaxonomy.taxeditor.model.MessagingUtils; +import eu.etaxonomy.taxeditor.model.TextHelper; +import eu.etaxonomy.taxeditor.newWizard.AmplificationGeneralWizardPage; +import eu.etaxonomy.taxeditor.newWizard.PolytomousKeyWizardPage; +import eu.etaxonomy.taxeditor.newWizard.PrimerWizardPage; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; -import eu.etaxonomy.taxeditor.store.StoreUtil; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.session.ICdmEntitySession; +import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled; +import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionWizardPage; import eu.etaxonomy.taxeditor.ui.section.agent.PersonWizardPage; import eu.etaxonomy.taxeditor.ui.section.agent.TeamWizardPage; import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameWizardPage; import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionWizardPage; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage; -import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationWizardPage; +import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage; +import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage; import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage; -import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage; import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceWizardPage; import eu.etaxonomy.taxeditor.ui.section.user.UserDetailWizardPage; /** - *
- * EditFromSelectionWizard class. - *
- * * @author n.hoffmann * @created Jun 1, 2010 * @version 1.0 */ public class EditFromSelectionWizard extends Wizard implements - SelectionListener { - - private final AbstractSelectionElement selectionElement; - - /** - *- * Constructor for EditFromSelectionWizard. - *
- * - * @param selectionElement - * a - * {@link eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement} - * object. - */ - public EditFromSelectionWizard(AbstractSelectionElement selectionElement) { + SelectionListener, ICdmEntitySessionEnabled { + + private ICdmEntitySession cdmEntitySession; + private ICdmEntitySession previousCdmEntitySession; + private final EntitySelectionElement selectionElement; + private CdmBase rootElement; + + public EditFromSelectionWizard(EntitySelectionElement selectionElement) { + if (CdmStore.isActive() && CdmStore.getCurrentSessionManager().isRemoting()) { + previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession(); + cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true); + cdmEntitySession.bind(); + } this.selectionElement = selectionElement; - this.setWindowTitle("Edit Entity"); + this.setWindowTitle(String.format("Edit %s", TextHelper.deproxyClassName(selectionElement.getEntity().getClass()))); } /** {@inheritDoc} */ @@ -77,70 +89,101 @@ public class EditFromSelectionWizard extends Wizard implements public void addPages() { CdmFormFactory formFactory = selectionElement.getFormFactory(); - ICdmBase entity = (ICdmBase) HibernateProxyHelper + CdmBase entity = HibernateProxyHelper .deproxy(selectionElement.getEntity()); - - if (entity instanceof Reference) { + //check if entity has already been persisted + if(entity.getId()==0){ + rootElement = entity; + } + else{ + IService