Revision fb649daa
Added by Patrick Plitzner over 10 years ago
- added functionality to context menu for derivate creation
- fixed a bug where two FieldUnits were created instead of only on
- added javadoc
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java | ||
---|---|---|
14 | 14 |
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException; |
15 | 15 |
import eu.etaxonomy.cdm.api.service.IOccurrenceService; |
16 | 16 |
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; |
17 |
import eu.etaxonomy.cdm.model.occurrence.FieldUnit; |
|
17 | 18 |
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen; |
19 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
|
18 | 20 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; |
19 | 21 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
20 | 22 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
21 | 23 |
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage; |
24 |
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage; |
|
25 |
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralWizardPage; |
|
22 | 26 |
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage; |
23 | 27 |
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage; |
24 |
import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage; |
|
25 | 28 |
|
26 | 29 |
/** |
27 | 30 |
* <p>NewDerivedUnitBaseWizard class.</p> |
... | ... | |
30 | 33 |
* @created Jun 16, 2010 |
31 | 34 |
* @version 1.0 |
32 | 35 |
*/ |
33 |
public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<DerivedUnit> {
|
|
36 |
public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<SpecimenOrObservationBase> {
|
|
34 | 37 |
private SpecimenOrObservationType specOrObsType = null; |
35 | 38 |
|
36 | 39 |
public NewDerivedUnitBaseWizard() { |
... | ... | |
44 | 47 |
/** {@inheritDoc} */ |
45 | 48 |
@Override |
46 | 49 |
public void addPages() { |
47 |
DerivedUnitFacade facade = getFacade();
|
|
50 |
DerivedUnitFacade facade = null;
|
|
48 | 51 |
try { |
49 |
if(getEntity() != null) {
|
|
50 |
facade = DerivedUnitFacade.NewInstance(getEntity(), PreferencesUtil.getDerivedUnitConfigurator()); |
|
52 |
if(getEntity() instanceof DerivedUnit) {
|
|
53 |
facade = DerivedUnitFacade.NewInstance((DerivedUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
|
|
51 | 54 |
facade.getFieldUnit(true); //TODO: this is a temporary solution for the Campanula project as |
52 | 55 |
//this ALWAYS needs a FieldUnit as root of the hierarchy |
56 |
|
|
57 |
addPage(new DerivedUnitGeneralWizardPage(formFactory, getConversationHolder(), facade)); |
|
58 |
addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade)); |
|
59 |
addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade)); |
|
60 |
addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), facade)); |
|
61 |
} |
|
62 |
else if(getEntity() instanceof FieldUnit){ |
|
63 |
facade = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit, (FieldUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator()); |
|
64 |
addPage(new FieldUnitGeneralWizardPage(formFactory, getConversationHolder(), facade)); |
|
65 |
addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade)); |
|
66 |
addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade)); |
|
53 | 67 |
} |
54 | 68 |
} catch (DerivedUnitFacadeNotSupportedException e) { |
55 |
// w should never get here |
|
69 |
// we should never get here
|
|
56 | 70 |
throw new IllegalStateException(); |
57 | 71 |
} |
58 |
addPage(new GeneralWizardPage(formFactory, getConversationHolder(), facade)); |
|
59 |
addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade)); |
|
60 |
addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade)); |
|
61 |
addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), facade)); |
|
62 |
|
|
63 |
} |
|
64 |
|
|
65 |
/** |
|
66 |
* @return |
|
67 |
*/ |
|
68 |
private DerivedUnitFacade getFacade() { |
|
69 |
try { |
|
70 |
if(getEntity() != null) { |
|
71 |
return DerivedUnitFacade.NewInstance(getEntity(), PreferencesUtil.getDerivedUnitConfigurator()); |
|
72 |
} |
|
73 |
} catch (DerivedUnitFacadeNotSupportedException e) { |
|
74 |
// w should never get here |
|
75 |
throw new IllegalStateException(); |
|
76 |
} |
|
77 |
return null; |
|
78 | 72 |
} |
79 | 73 |
|
80 |
/* (non-Javadoc) |
|
81 |
* @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#createNewEntity() |
|
82 |
*/ |
|
83 |
/** {@inheritDoc} */ |
|
84 |
@Override |
|
85 |
protected DerivedUnit createNewEntity() { |
|
86 |
if(specOrObsType == null) { |
|
87 |
return DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
88 |
} else { |
|
89 |
if(SpecimenOrObservationType.Media.equals(specOrObsType) || |
|
90 |
((specOrObsType.getKindOf() != null) && |
|
91 |
specOrObsType.getKindOf().equals(SpecimenOrObservationType.Media))) { |
|
92 |
return MediaSpecimen.NewInstance(SpecimenOrObservationType.Media); |
|
93 |
} else { |
|
94 |
return DerivedUnit.NewInstance(specOrObsType); |
|
95 |
} |
|
96 |
} |
|
97 |
} |
|
74 |
/* |
|
75 |
* (non-Javadoc) |
|
76 |
* |
|
77 |
* @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard# |
|
78 |
* createNewEntity() |
|
79 |
*/ |
|
80 |
/** {@inheritDoc} */ |
|
81 |
@Override |
|
82 |
protected SpecimenOrObservationBase createNewEntity() { |
|
83 |
if (specOrObsType == null) { |
|
84 |
return DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen); |
|
85 |
} else { |
|
86 |
if (SpecimenOrObservationType.Media.equals(specOrObsType) |
|
87 |
|| ((specOrObsType.getKindOf() != null) && specOrObsType.getKindOf().equals(SpecimenOrObservationType.Media))) { |
|
88 |
return MediaSpecimen.NewInstance(SpecimenOrObservationType.Media); |
|
89 |
} else if (specOrObsType.equals(SpecimenOrObservationType.FieldUnit)) { |
|
90 |
return FieldUnit.NewInstance(); |
|
91 |
} else { |
|
92 |
return DerivedUnit.NewInstance(specOrObsType); |
|
93 |
} |
|
94 |
} |
|
95 |
} |
|
98 | 96 |
|
99 | 97 |
/* (non-Javadoc) |
100 | 98 |
* @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#saveEntity() |
Also available in: Unified diff