Project

General

Profile

« Previous | Next » 

Revision e4e1656c

Added by Patrick Plitzner over 8 years ago

Add support for generic SpecimenOrObservationBase class to
EntitySelectionElement and selection wizard

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
30 30
import eu.etaxonomy.cdm.model.name.NonViralName;
31 31
import eu.etaxonomy.cdm.model.occurrence.Collection;
32 32
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
33
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
34
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
35
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
33 36
import eu.etaxonomy.cdm.model.reference.Reference;
34 37
import eu.etaxonomy.taxeditor.model.AbstractUtility;
35 38
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
......
102 105
			addPage(new NonViralNameWizardPage(formFactory,
103 106
					selectionElement.getConversationHolder(),
104 107
					(NonViralName) entity));
105
		} else if (entity instanceof DerivedUnit) {
108
		} else if (entity instanceof SpecimenOrObservationBase) {
106 109

  
107 110
			DerivedUnitFacade facade;
108 111
			try {
109
				facade = DerivedUnitFacade.NewInstance(
110
						(DerivedUnit) entity,
111
						PreferencesUtil.getDerivedUnitConfigurator());
112
			    if(((SpecimenOrObservationBase) entity).isInstanceOf(DerivedUnit.class)){
113
			        facade = DerivedUnitFacade.NewInstance(
114
			                HibernateProxyHelper.deproxy(entity, DerivedUnit.class),
115
			                PreferencesUtil.getDerivedUnitConfigurator());
116
			    }
117
			    else {
118
                    facade = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit,
119
                            HibernateProxyHelper.deproxy(entity, FieldUnit.class),
120
                            PreferencesUtil.getDerivedUnitConfigurator());
121
			    }
122

  
112 123
			} catch (DerivedUnitFacadeNotSupportedException e) {
113 124
				// we should never get here
114 125
				throw new IllegalStateException();
......
120 131
					selectionElement.getConversationHolder(), facade));
121 132
			addPage(new FieldUnitWizardPage(formFactory,
122 133
					selectionElement.getConversationHolder(), facade));
123
			addPage(new DerivedUnitBaseWizardPage(formFactory,
124
					selectionElement.getConversationHolder(), facade));
134
			if(facade.innerDerivedUnit()!=null){
135
			    addPage(new DerivedUnitBaseWizardPage(formFactory,
136
			            selectionElement.getConversationHolder(), facade));
137
			}
125 138
		} else if (entity instanceof Collection) {
126 139
			addPage(new CollectionWizardPage(formFactory,
127 140
					selectionElement.getConversationHolder(),

Also available in: Unified diff