*/
package eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionFieldController;
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.LanguageTextFieldController;
import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController;
* @date 13.08.2013
*
*/
-public class FieldObservationGeneralElementController extends AbstractCdmDetailElement<FieldUnit> {
+public class FieldObservationGeneralElementController extends AbstractCdmDetailElement<DerivedUnitFacade> {
private FieldObservationGeneralElement fieldObservationGeneralElement;
private TimePeriodElement element_date;//TODO convert
private EntitySelectionFieldController<AgentBase> selection_collector;
private TextFieldController text_collectingNumber;
+ private EntitySelectionFieldController<Collection> selectionCollection;
+ private TextFieldController textAccessionNumber;
+
+ boolean isSpecimen;
+ boolean isWizard;
/**
* @param formFactory
* @param formElement
*/
- public FieldObservationGeneralElementController(FieldObservationGeneralElement fieldObservationGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
+ public FieldObservationGeneralElementController(FieldObservationGeneralElement fieldObservationGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement, boolean isSpecimen, boolean isWizard) {
super(formFactory, formElement);
this.fieldObservationGeneralElement = fieldObservationGeneralElement;
+ this.isSpecimen = isSpecimen;
+ this.isWizard = isWizard;
setPropertyChangeListeners(formFactory.getPropertyChangeListeners());
formFactory.addPropertyChangeListener(this);
}
* (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
*/
@Override
- protected void createControls(ICdmFormElement formElement, FieldUnit entity, int style) {
+ protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
toggleableText_titleCache = new ToggleableTextFieldController(fieldObservationGeneralElement.getToggleableTextField(), getFormFactory(), formElement, entity.getTitleCache(), entity.isProtectedTitleCache(), style);
- selection_country = new EntitySelectionFieldController<NamedArea>(fieldObservationGeneralElement.getCountrySelectionField(), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, entity.getGatheringEvent().getCountry(), EntitySelectionElement.NOTHING);
- languageText_locality = new LanguageTextFieldController(fieldObservationGeneralElement.getTextLocality(), getFormFactory(), formElement, entity.getGatheringEvent().getLocality());
- element_point = new PointFieldController(fieldObservationGeneralElement.getPointField(),getFormFactory(), formElement, entity.getGatheringEvent().getExactLocation(), style);
- number_elevation = new NumberFieldController(fieldObservationGeneralElement.getTextElevation(), getFormFactory(), formElement, entity.getGatheringEvent().getAbsoluteElevation());
-// element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
- selection_collector = new EntitySelectionFieldController<AgentBase>(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getGatheringEvent().getCollector(), EntitySelectionElement.ALL);
+ selection_country = new EntitySelectionFieldController<NamedArea>(fieldObservationGeneralElement.getCountrySelectionField(), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, entity.getCountry(), EntitySelectionElement.NOTHING);
+ languageText_locality = new LanguageTextFieldController(fieldObservationGeneralElement.getTextLocality(), getFormFactory(), formElement, entity.getLocality());
+ element_point = new PointFieldController(fieldObservationGeneralElement.getPointField(),getFormFactory(), formElement, entity.getExactLocation(), style);
+ number_elevation = new NumberFieldController(fieldObservationGeneralElement.getTextElevation(), getFormFactory(), formElement, entity.getAbsoluteElevation());
+ element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
+ selection_collector = new EntitySelectionFieldController<AgentBase>(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getCollector(), EntitySelectionElement.ALL);
text_collectingNumber = new TextFieldController(fieldObservationGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null);
+ if(isWizard){
+ if(!isSpecimen){
+ fieldObservationGeneralElement.getLblCollection().setVisible(false);
+ fieldObservationGeneralElement.getCollectionSelectionField().setVisible(false);
+ fieldObservationGeneralElement.getLblAccesionNumber().setVisible(false);
+ fieldObservationGeneralElement.getTextAccessionNumber().setVisible(false);
+ }
+ else{
+ selectionCollection = new EntitySelectionFieldController<Collection>(fieldObservationGeneralElement.getCollectionSelectionField(), getFormFactory(), getConversationHolder(), formElement, Collection.class, entity.getCollection(), EntitySelectionElement.ALL);
+ textAccessionNumber = new TextFieldController(fieldObservationGeneralElement.getTextAccessionNumber(), getFormFactory(), formElement, entity.getAccessionNumber(), null);
+ }
+ }
+ else{
+ if(isSpecimen){
+ selectionCollection = new EntitySelectionFieldController<Collection>(fieldObservationGeneralElement.getCollectionSelectionField(), getFormFactory(), getConversationHolder(), formElement, Collection.class, entity.getCollection(), EntitySelectionElement.ALL);
+ textAccessionNumber = new TextFieldController(fieldObservationGeneralElement.getTextAccessionNumber(), getFormFactory(), formElement, entity.getAccessionNumber(), null);
+ fieldObservationGeneralElement.getLblCountry().setEnabled(false);
+ fieldObservationGeneralElement.getCountrySelectionField().setEnabled(false);
+ fieldObservationGeneralElement.getLblLocality().setEnabled(false);
+ fieldObservationGeneralElement.getTextLocality().setEnabled(false);
+
+ fieldObservationGeneralElement.getPointField().setEnabled(false);
+ // fieldObservationGeneralElement.getPointField().getText_latitude().setEnabled(false);
+ fieldObservationGeneralElement.getLblLatitude().setEnabled(false);
+ // fieldObservationGeneralElement.getPointField().getText_longitude().setEnabled(false);
+ fieldObservationGeneralElement.getLblLongitude().setEnabled(false);
+ // fieldObservationGeneralElement.getPointField().getNumber_errorRadius().setEnabled(false);
+ fieldObservationGeneralElement.getLblErrorRadiusm().setEnabled(false);
+ // fieldObservationGeneralElement.getPointField().getCombo_referenceSystem().setEnabled(false);
+ fieldObservationGeneralElement.getLblReferenceSystem().setEnabled(false);
+
+ fieldObservationGeneralElement.getLblAbsoluteElevation().setEnabled(false);
+ fieldObservationGeneralElement.getTextElevation().setEnabled(false);
+ fieldObservationGeneralElement.getLblDate().setEnabled(false);
+
+ fieldObservationGeneralElement.getLblCollector().setEnabled(false);
+ fieldObservationGeneralElement.getCollectorSelectionField().setEnabled(false);
+ fieldObservationGeneralElement.getLblCollectingNumber().setEnabled(false);
+ fieldObservationGeneralElement.getTextCollectingNumber().setEnabled(false);
+ }
+ else{
+ fieldObservationGeneralElement.getLblCollection().setVisible(false);
+ fieldObservationGeneralElement.getCollectionSelectionField().setVisible(false);
+ fieldObservationGeneralElement.getLblAccesionNumber().setVisible(false);
+ fieldObservationGeneralElement.getTextAccessionNumber().setVisible(false);
+ }
+ }
}
/*
if (eventSource == toggleableText_titleCache) {
getEntity().setTitleCache(toggleableText_titleCache.getText(), toggleableText_titleCache.getState());
} else if (eventSource == selection_country) {
- getEntity().getGatheringEvent().setCountry(selection_country.getSelection());
+ getEntity().setCountry(selection_country.getSelection());
} else if (eventSource == languageText_locality) {
LanguageString locality = languageText_locality.getLanguageString();
- getEntity().getGatheringEvent().setLocality(locality);
+ getEntity().setLocality(locality);
} else if (eventSource == element_point) {
- getEntity().getGatheringEvent().setExactLocation(element_point.getPoint());
+ getEntity().setExactLocation(element_point.getPoint());
} else if (eventSource == number_elevation) {
- getEntity().getGatheringEvent().setAbsoluteElevation(number_elevation.getInteger());
-// } else if (eventSource == element_date) {
-// getEntity().setGatheringPeriod(element_date.getTimePeriod());
+ getEntity().setAbsoluteElevation(number_elevation.getInteger());
+ } else if (eventSource == element_date) {
+ getEntity().setGatheringPeriod(element_date.getTimePeriod());
} else if (eventSource == selection_collector) {
- getEntity().getGatheringEvent().setCollector(selection_collector.getSelection());
+ getEntity().setCollector(selection_collector.getSelection());
} else if (eventSource == text_collectingNumber) {
getEntity().setFieldNumber(text_collectingNumber.getText());
+ } else if (eventSource == selectionCollection) {
+ getEntity().setCollection(selectionCollection.getSelection());
+ } else if (eventSource == textAccessionNumber) {
+ getEntity().setAccessionNumber(textAccessionNumber.getText());
}
if (eventSource != toggleableText_titleCache) {
toggleableText_titleCache.setText(getEntity().getTitleCache());