eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsContentProvider.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsLabelProvider.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditor.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditorLineDisplayStrategy.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientAgentService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCdmRepository.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientClassificationService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCollectionService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientDescriptionService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientNameService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientOccurenceService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientReferenceService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTaxonService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTermService.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/test/java/eu/etaxonomy/taxeditor/bulkeditor/Application.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/test/java/eu/etaxonomy/taxeditor/bulkeditor/ApplicationActionBarAdvisor.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/test/java/eu/etaxonomy/taxeditor/bulkeditor/ApplicationWorkbenchAdvisor.java -text
eu.etaxonomy.taxeditor.editor/icons/camera-photo.png -text
eu.etaxonomy.taxeditor.editor/icons/edit_16x16.gif -text
eu.etaxonomy.taxeditor.editor/icons/emblem-photos.png -text
+eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png -text
eu.etaxonomy.taxeditor.editor/icons/xper64.png -text
eu.etaxonomy.taxeditor.editor/p2.inf -text
eu.etaxonomy.taxeditor.editor/plugin.properties -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteNameRelationOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java -text
+ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonBaseOperation.java -text
+ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/RemoveHomotypicalGroupBasionymOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptContentProvider.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/OpenRelatedConceptHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/CreateConceptRelationOperation.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/DeleteConceptRelationOperation.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/CreateDerivateContextMenu.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateLabelProvider.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateMenuPropertyTester.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptionElementDragListener.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptionElementDropAdapter.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptionElementTransfer.java -text
eu.etaxonomy.taxeditor.store/icons/large_image.gif -text
eu.etaxonomy.taxeditor.store/icons/leaf_detail.png -text
eu.etaxonomy.taxeditor.store/icons/linkto_help.gif -text
+ eu.etaxonomy.taxeditor.store/icons/lock.png -text
+ eu.etaxonomy.taxeditor.store/icons/lock_open.png -text
eu.etaxonomy.taxeditor.store/icons/lockedstate.gif -text
eu.etaxonomy.taxeditor.store/icons/ma_12x12.gif -text
eu.etaxonomy.taxeditor.store/icons/maximize.gif -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewClassificationWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewCollectionWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewFieldObservationWizard.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewFieldUnitWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewGrantedAuthorityWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewGroupWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewInstitutionWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/internal/TaxeditorStorePlugin.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/bar/AuthenticatedUserBar.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ComboDefinedTermController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntityCollectionElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionField.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionFieldController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/LanguageTextFieldController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NamedAreaFieldController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NumberFieldController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointField.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointFieldController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/TextFieldController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextField.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextFieldController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/ICdmFormElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/IEntitySelectionElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsView.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchComposite.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchController.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/LoginDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/DerivedUnitSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FeatureSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FeatureTreeSelectionDialog.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FieldObservationSelectionDialog.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FieldUnitSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/GrantedAuthoritySelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/GroupSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/InstitutionSelectionDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CheckboxElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/DateDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/GatheringEventUnitElement.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ICdmFormElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/IEnableableFormElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/IEntityElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/IErrorIntolerableElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/ICdmDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/ITaxonBaseDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailsWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationGeneralWizardPage.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/IDerivedUnitFacadeDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/reporting/ReportingViewPart.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/ResourceManager.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/SWTResourceManager.java -text
eu.etaxonomy.taxeditor.store/src/main/resources/eu/etaxonomy/cdm/editorApplicationContext.xml -text
eu.etaxonomy.taxeditor.store/src/main/resources/log4j.properties -text
eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/NameProtectTitleCacheTest.java -text
eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/operations/AbstractTaxeditorOperationTestBase.java -text
+ eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/utility/AbstractUtilityTest.java -text
eu.etaxonomy.taxeditor.store/src/test/resources/eu/etaxonomy/cdm/applicationContext-test.xml -text
eu.etaxonomy.taxeditor.store/src/test/resources/eu/etaxonomy/cdm/cdm.datasources.xml -text
eu.etaxonomy.taxeditor.store/src/test/resources/eu/etaxonomy/cdm/cdmfs.xml -text
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2013 EDIT
+* 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.dataimport.transientServices;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
+import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.queryParser.ParseException;
+import org.hibernate.LockMode;
+import org.hibernate.Session;
+import org.hibernate.criterion.Criterion;
+import org.hibernate.envers.query.criteria.AuditCriterion;
+
+import eu.etaxonomy.cdm.api.service.ITaxonService;
+import eu.etaxonomy.cdm.api.service.TaxaAndNamesSearchMode;
+import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
+import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator;
+import eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator;
+import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
+import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;
+import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
+import eu.etaxonomy.cdm.api.service.pager.Pager;
+import eu.etaxonomy.cdm.api.service.search.LuceneMultiSearchException;
+import eu.etaxonomy.cdm.api.service.search.SearchResult;
+import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
+import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
+import eu.etaxonomy.cdm.model.common.Annotation;
+import eu.etaxonomy.cdm.model.common.ISourceable;
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.IdentifiableSource;
+import eu.etaxonomy.cdm.model.common.LSID;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.Marker;
+import eu.etaxonomy.cdm.model.common.MarkerType;
+import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
+import eu.etaxonomy.cdm.model.common.RelationshipBase;
+import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;
+import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.model.media.MediaRepresentation;
+import eu.etaxonomy.cdm.model.media.Rights;
+import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
+import eu.etaxonomy.cdm.model.name.Rank;
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.cdm.model.taxon.Synonym;
+import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
+import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
+import eu.etaxonomy.cdm.model.view.AuditEvent;
+import eu.etaxonomy.cdm.model.view.AuditEventRecord;
+import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
+import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;
+import eu.etaxonomy.cdm.persistence.query.Grouping;
+import eu.etaxonomy.cdm.persistence.query.MatchMode;
+import eu.etaxonomy.cdm.persistence.query.OrderHint;
+import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
+import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
+import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
+
+/**
+ * @author pplitzner
+ * @date 27.09.2013
+ *
+ */
+public class TransientTaxonService implements ITaxonService {
+
+ private final ITaxonService defaultTaxonService;
+
+ /**
+ * @param defaultTaxonService
+ */
+ public TransientTaxonService(ITaxonService defaultTaxonService) {
+ this.defaultTaxonService = defaultTaxonService;
+ }
+
+ /**
+ * @param t
+ * @param pageSize
+ * @param pageNumber
+ * @param sort
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(eu.etaxonomy.cdm.model.common.VersionableEntity, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
+ */
+ @Override
+ public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(TaxonBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> propertyPaths) {
+ return defaultTaxonService.pageAuditEvents(t, pageSize, pageNumber, sort, propertyPaths);
+ }
+
+ /**
+ * @param annotatedObj
+ * @param status
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getAnnotations(eu.etaxonomy.cdm.model.common.AnnotatableEntity, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<Annotation> getAnnotations(TaxonBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ *
+ * @see eu.etaxonomy.cdm.api.service.IService#clear()
+ */
+ @Override
+ public void clear() {
+ defaultTaxonService.clear();
+ }
+
+ /**
+ * @param t
+ * @param lockMode
+ * @see eu.etaxonomy.cdm.api.service.IService#lock(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode)
+ */
+ @Override
+ public void lock(TaxonBase t, LockMode lockMode) {
+ defaultTaxonService.lock(t, lockMode);
+ }
+
+ /**
+ * @param t
+ * @param lockMode
+ * @param propertyPaths
+ * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase, org.hibernate.LockMode, java.util.List)
+ */
+ @Override
+ public void refresh(TaxonBase t, LockMode lockMode, List<String> propertyPaths) {
+ defaultTaxonService.refresh(t, lockMode, propertyPaths);
+ }
+
+ /**
+ *
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache()
+ */
+ @Override
+ public void updateTitleCache() {
+ defaultTaxonService.updateTitleCache();
+ }
+
+ /**
+ * @param t
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
+ */
+ @Override
+ public AuditEventRecord<TaxonBase> getNextAuditEvent(TaxonBase t) {
+ return defaultTaxonService.getNextAuditEvent(t);
+ }
+
+ /**
+ * @param annotatableEntity
+ * @param technical
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#getMarkers(eu.etaxonomy.cdm.model.common.AnnotatableEntity, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<Marker> getMarkers(TaxonBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param clazz
+ * @param stepSize
+ * @param cacheStrategy
+ * @param monitor
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Class, java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy, eu.etaxonomy.cdm.common.monitor.IProgressMonitor)
+ */
+ @Override
+ public void updateTitleCache(Class<? extends TaxonBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TaxonBase> cacheStrategy, IProgressMonitor monitor) {
+ defaultTaxonService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor);
+ }
+
+ /**
+ * @param t
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity)
+ */
+ @Override
+ public AuditEventRecord<TaxonBase> getPreviousAuditEvent(TaxonBase t) {
+ return defaultTaxonService.getPreviousAuditEvent(t);
+ }
+
+ /**
+ * @param clazz
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class)
+ */
+ @Override
+ public int count(Class<? extends TaxonBase> clazz) {
+ return defaultTaxonService.count(clazz);
+ }
+
+ /**
+ * @param clazz
+ * @param from
+ * @param to
+ * @param criteria
+ * @param pageSize
+ * @param pageValue
+ * @param sort
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IVersionableService#pageAuditEvents(java.lang.Class, eu.etaxonomy.cdm.model.view.AuditEvent, eu.etaxonomy.cdm.model.view.AuditEvent, java.util.List, java.lang.Integer, java.lang.Integer, eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort, java.util.List)
+ */
+ @Override
+ public Pager<AuditEventRecord<TaxonBase>> pageAuditEvents(Class<? extends TaxonBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> propertyPaths) {
+ return defaultTaxonService.pageAuditEvents(clazz, from, to, criteria, pageSize, pageValue, sort, propertyPaths);
+ }
+
+ /**
+ * @param lsid
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#find(eu.etaxonomy.cdm.model.common.LSID)
+ */
+ @Override
+ public TaxonBase find(LSID lsid) {
+ return defaultTaxonService.find(lsid);
+ }
+
+ /**
+ * @param persistentObject
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase)
+ */
+ @Override
+ public UUID delete(TaxonBase persistentObject) {
+ return defaultTaxonService.delete(persistentObject);
+ }
+
+ /**
+ * @param clazz
+ * @param technical
+ * @param pageSize
+ * @param pageNumber
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#groupMarkers(java.lang.Class, java.lang.Boolean, java.lang.Integer, java.lang.Integer, java.util.List)
+ */
+ @Override
+ public List<Object[]> groupMarkers(Class<? extends TaxonBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
+ return defaultTaxonService.groupMarkers(clazz, technical, pageSize, pageNumber, propertyPaths);
+ }
+
+ /**
+ * @param uuid
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#exists(java.util.UUID)
+ */
+ @Override
+ public boolean exists(UUID uuid) {
+ return defaultTaxonService.exists(uuid);
+ }
+
+ /**
+ * @param limit
+ * @param start
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllSynonyms(int, int)
+ */
+ @Override
+ public List<Synonym> getAllSynonyms(int limit, int start) {
+ return defaultTaxonService.getAllSynonyms(limit, start);
+ }
+
+ /**
+ * @param x
+ * @param y
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#replace(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity)
+ */
+ @Override
+ public TaxonBase replace(TaxonBase x, TaxonBase y) {
+ return defaultTaxonService.replace(x, y);
+ }
+
+ /**
+ * @param limit
+ * @param start
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllTaxa(int, int)
+ */
+ @Override
+ public List<Taxon> getAllTaxa(int limit, int start) {
+ return defaultTaxonService.getAllTaxa(limit, start);
+ }
+
+ /**
+ * @param uuidSet
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set)
+ */
+ @Override
+ public List<TaxonBase> find(Set<UUID> uuidSet) {
+ return defaultTaxonService.find(uuidSet);
+ }
+
+ /**
+ * @param t
+ * @param pageSize
+ * @param pageNumber
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSources(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
+ */
+ @Override
+ public Pager<IdentifiableSource> getSources(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
+ return defaultTaxonService.getSources(t, pageSize, pageNumber, propertyPaths);
+ }
+
+ /**
+ * @param sec
+ * @param cdmFetch
+ * @param onlyWithChildren
+ * @return
+ * @deprecated
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.reference.Reference, eu.etaxonomy.cdm.persistence.fetch.CdmFetch, boolean)
+ */
+ @Deprecated
+ @Override
+ public List<Taxon> getRootTaxa(Reference sec, CdmFetch cdmFetch, boolean onlyWithChildren) {
+ return defaultTaxonService.getRootTaxa(sec, cdmFetch, onlyWithChildren);
+ }
+
+ /**
+ * @param uuid
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID)
+ */
+ @Override
+ public TaxonBase find(UUID uuid) {
+ return defaultTaxonService.find(uuid);
+ }
+
+ /**
+ * @param rank
+ * @param sec
+ * @param onlyWithChildren
+ * @param withMisapplications
+ * @param propertyPaths
+ * @return
+ * @deprecated
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getRootTaxa(eu.etaxonomy.cdm.model.name.Rank, eu.etaxonomy.cdm.model.reference.Reference, boolean, boolean, java.util.List)
+ */
+ @Deprecated
+ @Override
+ public List<Taxon> getRootTaxa(Rank rank, Reference sec, boolean onlyWithChildren, boolean withMisapplications, List<String> propertyPaths) {
+ return defaultTaxonService.getRootTaxa(rank, sec, onlyWithChildren, withMisapplications, propertyPaths);
+ }
+
+ /**
+ * @param id
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#find(int)
+ */
+ @Override
+ public TaxonBase find(int id) {
+ return defaultTaxonService.find(id);
+ }
+
+ /**
+ * @param t
+ * @param pageSize
+ * @param pageNumber
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getRights(eu.etaxonomy.cdm.model.common.IdentifiableEntity, java.lang.Integer, java.lang.Integer, java.util.List)
+ */
+ @Override
+ public Pager<Rights> getRights(TaxonBase t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
+ return defaultTaxonService.getRights(t, pageSize, pageNumber, propertyPaths);
+ }
+
+ /**
+ * @param clazz
+ * @param technical
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IAnnotatableService#countMarkers(java.lang.Class, java.lang.Boolean)
+ */
+ @Override
+ public int countMarkers(Class<? extends TaxonBase> clazz, Boolean technical) {
+ return defaultTaxonService.countMarkers(clazz, technical);
+ }
+
+ /**
+ * @param idSet
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
+ */
+ @Override
+ public List<TaxonBase> findById(Set<Integer> idSet) {
+ return defaultTaxonService.findById(idSet);
+ }
+
+ /**
+ * @param clazz
+ * @param idInSource
+ * @param idNamespace
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getSourcedObjectByIdInSource(java.lang.Class, java.lang.String, java.lang.String)
+ */
+ @Override
+ public ISourceable getSourcedObjectByIdInSource(Class clazz, String idInSource, String idNamespace) {
+ return defaultTaxonService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace);
+ }
+
+ /**
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#getSession()
+ */
+ @Override
+ public Session getSession() {
+ return defaultTaxonService.getSession();
+ }
+
+ /**
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache()
+ */
+ @Override
+ public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCache() {
+ return defaultTaxonService.getUuidAndTitleCache();
+ }
+
+ /**
+ * @param clazz
+ * @param limit
+ * @param start
+ * @param groups
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#group(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public List<Object[]> group(Class<? extends TaxonBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> propertyPaths) {
+ return defaultTaxonService.group(clazz, limit, start, groups, propertyPaths);
+ }
+
+ /**
+ * @param limit
+ * @param start
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllRelationships(int, int)
+ */
+ @Override
+ public List<RelationshipBase> getAllRelationships(int limit, int start) {
+ return defaultTaxonService.getAllRelationships(limit, start);
+ }
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param matchmode
+ * @param criteria
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<TaxonBase> findByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @return
+ * @deprecated
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getTaxonRelationshipTypeVocabulary()
+ */
+ @Deprecated
+ @Override
+ public OrderedTermVocabulary<TaxonRelationshipType> getTaxonRelationshipTypeVocabulary() {
+ return defaultTaxonService.getTaxonRelationshipTypeVocabulary();
+ }
+
+ /**
+ * @param name
+ * @param sec
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#searchTaxaByName(java.lang.String, eu.etaxonomy.cdm.model.reference.Reference)
+ */
+ @Override
+ public List<TaxonBase> searchTaxaByName(String name, Reference sec) {
+ return defaultTaxonService.searchTaxaByName(name, sec);
+ }
+
+ /**
+ * @param synonym
+ * @param acceptedTaxon
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#swapSynonymAndAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
+ */
+ @Override
+ public void swapSynonymAndAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon) {
+ defaultTaxonService.swapSynonymAndAcceptedTaxon(synonym, acceptedTaxon);
+ }
+
+ /**
+ * @param type
+ * @param limit
+ * @param start
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#list(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public List<TaxonBase> list(Class<? extends TaxonBase> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.list(type, limit, start, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param configurator
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
+ */
+ @Override
+ public Pager<TaxonBase> findByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
+ return defaultTaxonService.findByTitle(configurator);
+ }
+
+ /**
+ * @param synonym
+ * @param acceptedTaxon
+ * @param deleteSynonym
+ * @param copyCitationInfo
+ * @param citation
+ * @param microCitation
+ * @return
+ * @throws HomotypicalGroupChangeException
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
+ */
+ @Override
+ public Taxon changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym, boolean copyCitationInfo, Reference citation, String microCitation) throws HomotypicalGroupChangeException {
+ return defaultTaxonService.changeSynonymToAcceptedTaxon(synonym, acceptedTaxon, deleteSynonym, copyCitationInfo, citation, microCitation);
+ }
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param matchmode
+ * @param criteria
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List)
+ */
+ @Override
+ public Integer countByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria) {
+ return defaultTaxonService.countByTitle(clazz, queryString, matchmode, criteria);
+ }
+
+ /**
+ * @param uuid
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID)
+ */
+ @Override
+ public TaxonBase load(UUID uuid) {
+ return defaultTaxonService.load(uuid);
+ }
+
+ /**
+ * @param uuid
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List)
+ */
+ @Override
+ public TaxonBase load(UUID uuid, List<String> propertyPaths) {
+ return defaultTaxonService.load(uuid, propertyPaths);
+ }
+
+ /**
+ * @param configurator
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#countByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
+ */
+ @Override
+ public Integer countByTitle(IIdentifiableEntityServiceConfigurator<TaxonBase> configurator) {
+ return defaultTaxonService.countByTitle(configurator);
+ }
+
+ /**
+ * @param transientObject
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase)
+ */
+ @Override
+ public TaxonBase merge(TaxonBase transientObject) {
+ return defaultTaxonService.merge(transientObject);
+ }
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param matchmode
+ * @param criteria
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public List<TaxonBase> listByTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param type
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#page(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<TaxonBase> page(Class<? extends TaxonBase> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.page(type, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param persistentObject
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase)
+ */
+ @Override
+ public UUID refresh(TaxonBase persistentObject) {
+ return defaultTaxonService.refresh(persistentObject);
+ }
+
+ /**
+ * @param synonym
+ * @param toTaxon
+ * @param taxonRelationshipType
+ * @param reference
+ * @param microReference
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToRelatedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String)
+ */
+ @Override
+ public Taxon changeSynonymToRelatedTaxon(Synonym synonym, Taxon toTaxon, TaxonRelationshipType taxonRelationshipType, Reference reference, String microReference) {
+ return defaultTaxonService.changeSynonymToRelatedTaxon(synonym, toTaxon, taxonRelationshipType, reference, microReference);
+ }
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param matchmode
+ * @param criteria
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#listByReferenceTitle(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public List<TaxonBase> listByReferenceTitle(Class<? extends TaxonBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param tableName
+ * @param limit
+ * @param start
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int)
+ */
+ @Override
+ public List<TaxonBase> rows(String tableName, int limit, int start) {
+ return defaultTaxonService.rows(tableName, limit, start);
+ }
+
+ /**
+ * @param newInstances
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection)
+ */
+ @Override
+ public Map<UUID, TaxonBase> save(Collection<TaxonBase> newInstances) {
+ return null;
+ }
+
+ /**
+ * @param syn
+ * @param taxon
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
+ */
+ @Override
+ public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {
+ return defaultTaxonService.deleteSynonymRelationships(syn, taxon);
+ }
+
+ /**
+ * @param newInstance
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase)
+ */
+ @Override
+ public UUID save(TaxonBase newInstance) {
+ return null;
+ }
+
+ /**
+ * @param transientObject
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase)
+ */
+ @Override
+ public UUID saveOrUpdate(TaxonBase transientObject) {
+ return null;
+ }
+
+ /**
+ * @param synonym
+ * @param newHomotypicalGroup
+ * @param targetTaxon
+ * @param removeFromOtherTaxa
+ * @param setBasionymRelationIfApplicable
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeHomotypicalGroupOfSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.name.HomotypicalGroup, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean)
+ */
+ @Override
+ public void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon, boolean removeFromOtherTaxa, boolean setBasionymRelationIfApplicable) {
+ defaultTaxonService.changeHomotypicalGroupOfSynonym(synonym, newHomotypicalGroup, targetTaxon, removeFromOtherTaxa, setBasionymRelationIfApplicable);
+ }
+
+ /**
+ * @param transientObjects
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection)
+ */
+ @Override
+ public Map<UUID, TaxonBase> saveOrUpdate(Collection<TaxonBase> transientObjects) {
+ return null;
+ }
+
+ /**
+ * @param transientObject
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase)
+ */
+ @Override
+ public UUID update(TaxonBase transientObject) {
+ return defaultTaxonService.update(transientObject);
+ }
+
+ /**
+ * @param example
+ * @param includeProperties
+ * @param limit
+ * @param start
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IService#list(eu.etaxonomy.cdm.model.common.ICdmBase, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public List<TaxonBase> list(TaxonBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.list(example, includeProperties, limit, start, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param oldSynonymRelation
+ * @param newTaxon
+ * @param moveHomotypicGroup
+ * @param newSynonymRelationshipType
+ * @param newReference
+ * @param newReferenceDetail
+ * @param keepReference
+ * @return
+ * @throws HomotypicalGroupChangeException
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#moveSynonymToAnotherTaxon(eu.etaxonomy.cdm.model.taxon.SynonymRelationship, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String, boolean)
+ */
+ @Override
+ public SynonymRelationship moveSynonymToAnotherTaxon(SynonymRelationship oldSynonymRelation, Taxon newTaxon, boolean moveHomotypicGroup, SynonymRelationshipType newSynonymRelationshipType, Reference newReference, String newReferenceDetail, boolean keepReference) throws HomotypicalGroupChangeException {
+ return defaultTaxonService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxon, moveHomotypicGroup, newSynonymRelationshipType, newReference, newReferenceDetail, keepReference);
+ }
+
+ /**
+ * @param clazz
+ * @param matchStrategy
+ * @param mergeStrategy
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#deduplicate(java.lang.Class, eu.etaxonomy.cdm.strategy.match.IMatchStrategy, eu.etaxonomy.cdm.strategy.merge.IMergeStrategy)
+ */
+ @Override
+ public int deduplicate(Class<? extends TaxonBase> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
+ return defaultTaxonService.deduplicate(clazz, matchStrategy, mergeStrategy);
+ }
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param matchMode
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findTitleCache(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, eu.etaxonomy.cdm.persistence.query.MatchMode)
+ */
+ @Override
+ public Pager<TaxonBase> findTitleCache(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode) {
+ return defaultTaxonService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
+ }
+
+ /**
+ * @param taxon
+ * @param type
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#listToTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public List<TaxonRelationship> listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.listToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param taxon
+ * @param type
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageToTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<TaxonRelationship> pageToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.pageToTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param taxon
+ * @param type
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#listFromTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public List<TaxonRelationship> listFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.listFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param taxon
+ * @param type
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#pageFromTaxonRelationships(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<TaxonRelationship> pageFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.pageFromTaxonRelationships(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param taxon
+ * @param includeRelationships
+ * @param maxDepth
+ * @param limit
+ * @param start
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#listRelatedTaxa(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List)
+ */
+ @Override
+ public Set<Taxon> listRelatedTaxa(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Integer maxDepth, Integer limit, Integer start, List<String> propertyPaths) {
+ return defaultTaxonService.listRelatedTaxa(taxon, includeRelationships, maxDepth, limit, start, propertyPaths);
+ }
+
+ /**
+ * @param taxonBase
+ * @param limit
+ * @param start
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#listClassifications(eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List)
+ */
+ @Override
+ public List<Classification> listClassifications(TaxonBase taxonBase, Integer limit, Integer start, List<String> propertyPaths) {
+ return defaultTaxonService.listClassifications(taxonBase, limit, start, propertyPaths);
+ }
+
+ /**
+ * @param synonym
+ * @param type
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<SynonymRelationship> getSynonyms(Synonym synonym, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.getSynonyms(synonym, type, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param taxon
+ * @param type
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<SynonymRelationship> getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.getSynonyms(taxon, type, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param taxon
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
+ */
+ @Override
+ public List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
+ return defaultTaxonService.getHomotypicSynonymsByHomotypicGroup(taxon, propertyPaths);
+ }
+
+ /**
+ * @param taxon
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHeterotypicSynonymyGroups(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
+ */
+ @Override
+ public List<List<Synonym>> getHeterotypicSynonymyGroups(Taxon taxon, List<String> propertyPaths) {
+ return defaultTaxonService.getHeterotypicSynonymyGroups(taxon, propertyPaths);
+ }
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<TaxonBase> search(Class<? extends TaxonBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
+ return defaultTaxonService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param clazz
+ * @param uninomial
+ * @param infragenericEpithet
+ * @param specificEpithet
+ * @param infraspecificEpithet
+ * @param rank
+ * @param pageSize
+ * @param pageNumber
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByName(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer)
+ */
+ @Override
+ public Pager<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
+ return defaultTaxonService.findTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
+ }
+
+ /**
+ * @param clazz
+ * @param uninomial
+ * @param infragenericEpithet
+ * @param specificEpithet
+ * @param infraspecificEpithet
+ * @param rank
+ * @param pageSize
+ * @param pageNumber
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxaByName(java.lang.Class, java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer)
+ */
+ @Override
+ public List<TaxonBase> listTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber) {
+ return defaultTaxonService.listTaxaByName(clazz, uninomial, infragenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber);
+ }
+
+ /**
+ * @param configurator
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
+ */
+ @Override
+ public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {
+ return defaultTaxonService.findTaxaAndNames(configurator);
+ }
+
+ /**
+ * @param queryString
+ * @param classification
+ * @param languages
+ * @param highlightFragments
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @throws CorruptIndexException
+ * @throws IOException
+ * @throws ParseException
+ * @throws LuceneMultiSearchException
+ * @deprecated
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByEverythingFullText(java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Deprecated
+ @Override
+ public Pager<SearchResult<TaxonBase>> findByEverythingFullText(String queryString, Classification classification, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
+ return defaultTaxonService.findByEverythingFullText(queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param classification
+ * @param languages
+ * @param highlightFragments
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @throws CorruptIndexException
+ * @throws IOException
+ * @throws ParseException
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<SearchResult<TaxonBase>> findByFullText(Class<? extends TaxonBase> clazz, String queryString, Classification classification, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
+ return defaultTaxonService.findByFullText(clazz, queryString, classification, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param areaFilter
+ * @param statusFilter
+ * @param classification
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @throws IOException
+ * @throws ParseException
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDistribution(java.util.List, java.util.List, eu.etaxonomy.cdm.model.taxon.Classification, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<SearchResult<TaxonBase>> findByDistribution(List<NamedArea> areaFilter, List<PresenceAbsenceTermBase<?>> statusFilter, Classification classification, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws IOException, ParseException {
+ return defaultTaxonService.findByDistribution(areaFilter, statusFilter, classification, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param searchModes
+ * @param queryString
+ * @param classification
+ * @param namedAreas
+ * @param distributionStatus
+ * @param languages
+ * @param highlightFragments
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @throws CorruptIndexException
+ * @throws IOException
+ * @throws ParseException
+ * @throws LuceneMultiSearchException
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesByFullText(java.util.EnumSet, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.Set, java.util.Set, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(EnumSet<TaxaAndNamesSearchMode> searchModes, String queryString, Classification classification, Set<NamedArea> namedAreas, Set<PresenceAbsenceTermBase<?>> distributionStatus, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException, LuceneMultiSearchException {
+ return defaultTaxonService.findTaxaAndNamesByFullText(searchModes, queryString, classification, namedAreas, distributionStatus, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param clazz
+ * @param queryString
+ * @param classification
+ * @param features
+ * @param languages
+ * @param highlightFragments
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @return
+ * @throws CorruptIndexException
+ * @throws IOException
+ * @throws ParseException
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDescriptionElementFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+ */
+ @Override
+ public Pager<SearchResult<TaxonBase>> findByDescriptionElementFullText(Class<? extends DescriptionElementBase> clazz, String queryString, Classification classification, List<Feature> features, List<Language> languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) throws CorruptIndexException, IOException, ParseException {
+ return defaultTaxonService.findByDescriptionElementFullText(clazz, queryString, classification, features, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths);
+ }
+
+ /**
+ * @param taxon
+ * @param size
+ * @param height
+ * @param widthOrDuration
+ * @param mimeTypes
+ * @return
+ * @deprecated
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])
+ */
+ @Deprecated
+ @Override
+ public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes) {
+ return defaultTaxonService.getAllMedia(taxon, size, height, widthOrDuration, mimeTypes);
+ }
+
+ /**
+ * @param taxon
+ * @param includeRelationships
+ * @param limitToGalleries
+ * @param propertyPath
+ * @return
+ * @deprecated
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)
+ */
+ @Deprecated
+ @Override
+ public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath) {
+ return defaultTaxonService.listTaxonDescriptionMedia(taxon, includeRelationships, limitToGalleries, propertyPath);
+ }
+
+ /**
+ * @param taxon
+ * @param includeRelationships
+ * @param limitToGalleries
+ * @param includeTaxonDescriptions
+ * @param includeOccurrences
+ * @param includeTaxonNameDescriptions
+ * @param propertyPath
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#listMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.lang.Boolean, java.util.List)
+ */
+ @Override
+ public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List<String> propertyPath) {
+ return defaultTaxonService.listMedia(taxon, includeRelationships, limitToGalleries, includeTaxonDescriptions, includeOccurrences, includeTaxonNameDescriptions, propertyPath);
+ }
+
+ /**
+ * @param listOfIDs
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)
+ */
+ @Override
+ public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {
+ return defaultTaxonService.findTaxaByID(listOfIDs);
+ }
+
+ /**
+ * @param uuid
+ * @param propertyPaths
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(java.util.UUID, java.util.List)
+ */
+ @Override
+ public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths) {
+ return defaultTaxonService.findTaxonByUuid(uuid, propertyPaths);
+ }
+
+ /**
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()
+ */
+ @Override
+ public int countAllRelationships() {
+ return defaultTaxonService.countAllRelationships();
+ }
+
+ /**
+ * @param propertyPath
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)
+ */
+ @Override
+ public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {
+ return defaultTaxonService.findIdenticalTaxonNames(propertyPath);
+ }
+
+ /**
+ * @param propertyPath
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)
+ */
+ @Override
+ public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {
+ return defaultTaxonService.findIdenticalTaxonNameIds(propertyPath);
+ }
+
+ /**
+ * @param name
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)
+ */
+ @Override
+ public String getPhylumName(TaxonNameBase name) {
+ return defaultTaxonService.getPhylumName(name);
+ }
+
+ /**
+ * @param syn
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)
+ */
+ @Override
+ public long deleteSynonymRelationships(Synonym syn) {
+ return defaultTaxonService.deleteSynonymRelationships(syn);
+ }
+
+ /**
+ * @param taxonBase
+ * @param type
+ * @param pageSize
+ * @param pageNumber
+ * @param orderHints
+ * @param propertyPaths
+ * @param direction
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#listSynonymRelationships(eu.etaxonomy.cdm.model.taxon.TaxonBase, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction)
+ */
+ @Override
+ public List<SynonymRelationship> listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths, Direction direction) {
+ return defaultTaxonService.listSynonymRelationships(taxonBase, type, pageSize, pageNumber, orderHints, propertyPaths, direction);
+ }
+
+ /**
+ * @param taxonName
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)
+ */
+ @Override
+ public Taxon findBestMatchingTaxon(String taxonName) {
+ return defaultTaxonService.findBestMatchingTaxon(taxonName);
+ }
+
+ /**
+ * @param config
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator)
+ */
+ @Override
+ public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {
+ return defaultTaxonService.findBestMatchingTaxon(config);
+ }
+
+ /**
+ * @param taxonName
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)
+ */
+ @Override
+ public Synonym findBestMatchingSynonym(String taxonName) {
+ return defaultTaxonService.findBestMatchingSynonym(taxonName);
+ }
+
+ /**
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()
+ */
+ @Override
+ public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {
+ return defaultTaxonService.getUuidAndTitleCacheTaxon();
+ }
+
+ /**
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()
+ */
+ @Override
+ public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {
+ return defaultTaxonService.getUuidAndTitleCacheSynonym();
+ }
+
+ /**
+ * @param configurator
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesForEditor(eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator)
+ */
+ @Override
+ public List<UuidAndTitleCache<TaxonBase>> findTaxaAndNamesForEditor(IFindTaxaAndNamesConfigurator configurator) {
+ return defaultTaxonService.findTaxaAndNamesForEditor(configurator);
+ }
+
+ /**
+ * @param taxon
+ * @param tree
+ * @param type
+ * @param doWithMisappliedNames
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#createInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, boolean)
+ */
+ @Override
+ public List<Synonym> createInferredSynonyms(Taxon taxon, Classification tree, SynonymRelationshipType type, boolean doWithMisappliedNames) {
+ return defaultTaxonService.createInferredSynonyms(taxon, tree, type, doWithMisappliedNames);
+ }
+
+ /**
+ * @param taxon
+ * @param tree
+ * @param doWithMisappliedNames
+ * @return
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#createAllInferredSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, boolean)
+ */
+ @Override
+ public List<Synonym> createAllInferredSynonyms(Taxon taxon, Classification tree, boolean doWithMisappliedNames) {
+ return defaultTaxonService.createAllInferredSynonyms(taxon, tree, doWithMisappliedNames);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
+ */
+ @Override
+ public void deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) {
+ defaultTaxonService.deleteSynonym(arg0, arg1);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
+ */
+ @Override
+ public void deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) {
+ defaultTaxonService.deleteSynonym(arg0, arg1, arg2);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator, eu.etaxonomy.cdm.model.taxon.Classification)
+ */
+ @Override
+ public UUID deleteTaxon(Taxon arg0, TaxonDeletionConfigurator arg1, Classification arg2)
+ throws DataChangeNoRollbackException {
+ return defaultTaxonService.deleteTaxon(arg0, arg1, arg2);
+ }
+
++ /* (non-Javadoc)
++ * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)
++ */
++ @Override
++ public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths) {
++ return defaultTaxonService.getSynonymsByHomotypicGroup(taxon, propertyPaths);
++ }
++
+
+
+}
point="org.eclipse.ui.views">
<view
allowMultiple="false"
+ category="eu.etaxonomy.taxeditor.editor.category"
class="eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart"
icon="icons/address-book-new.png"
id="eu.etaxonomy.taxeditor.editor.view.descriptive"
restorable="true">
</view>
<view
- allowMultiple="false"
- class="eu.etaxonomy.taxeditor.editor.view.uses.UsesViewPart"
- icon="icons/leaf.png"
- id="eu.etaxonomy.taxeditor.editor.view.uses"
- name="Uses"
- restorable="true">
+ allowMultiple="false"
+ category="eu.etaxonomy.taxeditor.editor.category"
+ class="eu.etaxonomy.taxeditor.editor.view.uses.UsesViewPart"
+ icon="icons/leaf.png"
+ id="eu.etaxonomy.taxeditor.editor.view.uses"
+ name="Uses"
+ restorable="true">
</view>
<view
allowMultiple="false"
+ category="eu.etaxonomy.taxeditor.editor.category"
class="eu.etaxonomy.taxeditor.editor.view.media.MediaViewPart"
icon="icons/camera-photo.png"
id="eu.etaxonomy.taxeditor.editor.view.media"
restorable="true">
</view>
<view
+ category="eu.etaxonomy.taxeditor.editor.category"
class="eu.etaxonomy.taxeditor.editor.view.concept.ConceptViewPart"
id="eu.etaxonomy.taxeditor.editor.view.concept"
name="Concept Relations"
restorable="true">
</view>
<view
+ category="eu.etaxonomy.taxeditor.editor.category"
class="eu.etaxonomy.taxeditor.editor.view.concept.graph.ConceptGraphView"
icon="icons/address-book-new.png"
id="eu.etaxonomy.taxeditor.editor.view.concept.graph"
name="Concept Graph"
restorable="true">
</view>
+ <view
+ allowMultiple="false"
+ category="eu.etaxonomy.taxeditor.editor.category"
+ class="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
+ icon="icons/leaf_detail.png"
+ id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"
+ name="Derivate View"
+ restorable="true">
+ </view>
+ <category
+ id="eu.etaxonomy.taxeditor.editor.category"
+ name="Taxonomic Editor">
+ </category>
</extension>
<extension
point="org.eclipse.ui.elementFactories">
style="push">
</command>
</menuContribution>
+ <menuContribution
+ locationURI="popup:eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
+ <menu
+ label="New Derivate">
+ <dynamic
+ class="eu.etaxonomy.taxeditor.editor.view.derivate.CreateDerivateContextMenu"
+ id="eu.etaxonomy.taxeditor.editor.view.derivate.CreateDerivateContextMenu">
+ </dynamic>
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="isSpecimenOrObservation">
+ </reference>
+ </visibleWhen>
+ </menu>
+ </menuContribution>
<reference
definitionId="isTaxonBase">
</reference>
- <not>
+ <not>
<reference
definitionId="isAcceptedTaxon">
</reference>
</test>
</with>
</definition>
+ <definition
+ id="isSpecimenOrObservation">
+ <with
+ variable="selection">
+ <test
+ property="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateMenuPropertyTester.isSpecimenOrObservation">
+ </test>
+ </with>
+ </definition>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
properties="isGroup"
type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">
</propertyTester>
+ <propertyTester
+ class="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateMenuPropertyTester"
+ id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateMenuPropertyTester"
+ namespace="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateMenuPropertyTester"
+ properties="isSpecimenOrObservation"
+ type="org.eclipse.jface.viewers.TreeSelection">
+ </propertyTester>
</extension>
<extension
point="org.eclipse.ui.bindings">
*/\r
package eu.etaxonomy.taxeditor.editor.definedterm;\r
\r
--import java.util.HashSet;\r
--import java.util.List;\r
--import java.util.Set;\r
--\r
import org.eclipse.core.runtime.IProgressMonitor;\r
import org.eclipse.jface.action.GroupMarker;\r
import org.eclipse.jface.action.MenuManager;\r
\r
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;\r
--import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
import eu.etaxonomy.cdm.model.common.CdmBase;\r
--import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
--import eu.etaxonomy.cdm.model.common.TermType;\r
--import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;\r
--import eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput;\r
import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;\r
import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;\r
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
import org.eclipse.jface.viewers.ITreeContentProvider;\r
import org.eclipse.jface.viewers.Viewer;\r
\r
--import eu.etaxonomy.cdm.model.common.DefinedTerm;\r
import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
--import eu.etaxonomy.cdm.model.common.TermBase;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
\r
*/\r
package eu.etaxonomy.taxeditor.editor.definedterm;\r
\r
--import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;\r
--import org.eclipse.jface.viewers.StyledString.Styler;\r
--import org.eclipse.jface.viewers.LabelProvider;\r
import org.eclipse.jface.viewers.StyledCellLabelProvider;\r
import org.eclipse.jface.viewers.StyledString;\r
++import org.eclipse.jface.viewers.StyledString.Styler;\r
import org.eclipse.jface.viewers.ViewerCell;\r
import org.eclipse.swt.SWT;\r
import org.eclipse.swt.custom.StyleRange;\r
import org.eclipse.swt.graphics.TextStyle;\r
import org.eclipse.swt.widgets.Display;\r
\r
--import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
--import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;\r
\r
/**\r
* @author l.morris\r
import org.eclipse.jface.viewers.IStructuredSelection;\r
import org.eclipse.ui.handlers.HandlerUtil;\r
\r
--import eu.etaxonomy.cdm.model.common.DefinedTerm;\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
--import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
import eu.etaxonomy.taxeditor.editor.definedterm.operation.CreateDefinedTermOperation;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
import org.eclipse.core.commands.IHandler;\r
import org.eclipse.core.commands.common.NotDefinedException;\r
import org.eclipse.core.commands.operations.IUndoContext;\r
--import org.eclipse.jface.viewers.IStructuredSelection;\r
import org.eclipse.ui.handlers.HandlerUtil;\r
\r
--import eu.etaxonomy.cdm.model.common.TermType;\r
--import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
import eu.etaxonomy.taxeditor.editor.definedterm.operation.CreateTermVocabularyOperation;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
import org.eclipse.jface.viewers.IStructuredSelection;\r
import org.eclipse.ui.handlers.HandlerUtil;\r
\r
--import eu.etaxonomy.cdm.model.common.DefinedTerm;\r
--import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
--import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
import eu.etaxonomy.taxeditor.editor.definedterm.operation.DeleteTermBaseOperation;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
*/\r
package eu.etaxonomy.taxeditor.editor.definedterm.operation;\r
\r
--import java.net.URI;\r
--\r
import org.eclipse.core.commands.ExecutionException;\r
import org.eclipse.core.commands.operations.IUndoContext;\r
import org.eclipse.core.runtime.IAdaptable;\r
import org.eclipse.core.runtime.IStatus;\r
\r
import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
--import eu.etaxonomy.cdm.model.common.DefinedTerm;\r
--import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;\r
--import eu.etaxonomy.cdm.model.common.TermType;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
--import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
\r
import eu.etaxonomy.cdm.api.service.ITermService;\r
import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
--import eu.etaxonomy.cdm.model.common.DefinedTerm;\r
import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
--import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
--import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
import eu.etaxonomy.taxeditor.store.StoreUtil;\r
import java.io.File;
import java.net.URI;
--import java.net.URISyntaxException;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IWorkbench;
import eu.etaxonomy.cdm.io.jaxb.JaxbExportConfigurator;
import eu.etaxonomy.taxeditor.store.CdmStore;
--import eu.etaxonomy.taxeditor.store.StoreUtil;
/**
* <p>JaxbExportWizard class.</p>
import org.eclipse.core.runtime.Status;
import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.ITreeNode;
+ import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
/**
*
*/
- private IPostOperationEnabled postOperationEnabled;
+ protected IPostOperationEnabled postOperationEnabled;
/**
* A reference to the taxon the concrete operation is working on
/**
* A reference to the taxons TaxonNode
*/
- protected TaxonNode taxonNode;
+ protected ITaxonTreeNode taxonNode;
protected UUID parentNodeUuid;
public IPostOperationEnabled getPostOperationEnabled() {
return postOperationEnabled;
}
+
+
}
package eu.etaxonomy.taxeditor.preference;
--import eu.etaxonomy.cdm.model.common.IDefinedTerm;
+ import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
/**
* <p>IPreferenceKeys interface.</p>
public static final String OPENURL_IMAGE_MAX_HEIGHT = "eu.etaxonomy.taxeditor.openUrlImageMaxHeight";
/**
- * Whether the occurrence bulk editor should show {@link FieldObservation} objects
+ * Whether the occurrence bulk editor should show {@link FieldUnit} objects
*/
- public static final String BULK_EDITOR_OCCURRENCE_SHOW_FIELD_OBSERVATIONS = "eu.etaxonomy.taxeditor.bulkeditor.occurrence.showFieldObservations";
+ public static final String BULK_EDITOR_OCCURRENCE_SHOW_FIELD_UNITS = "eu.etaxonomy.taxeditor.bulkeditor.occurrence.showFieldUnits";
public static final String SEARCH_OPEN_RESULTS_IN_SEPARATE_WINDOWS = "eu.etaxonomy.taxeditor.navigation.search.openResultInSeparateWindows";
package eu.etaxonomy.taxeditor.store;
--import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
--import eu.etaxonomy.cdm.persistence.hibernate.permission.Operation;
import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
import eu.etaxonomy.taxeditor.io.ExportManager;
import eu.etaxonomy.taxeditor.io.ImportManager;
import java.util.Observable;
import org.eclipse.core.runtime.IProgressMonitor;
--import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IMemento;
--import org.eclipse.ui.IWorkbenchPage;
--import org.eclipse.ui.IWorkbenchPart;
--import org.eclipse.ui.IWorkbenchWindow;
--import org.eclipse.ui.editors.text.EditorsUI;
--import org.eclipse.ui.handlers.HandlerUtil;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.authentication.LockedException;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
// $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.
*/
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+ import java.util.LinkedHashMap;
import java.util.List;
+ import java.util.Map.Entry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Label;
- import eu.etaxonomy.cdm.model.common.IDefinedTerm;
import eu.etaxonomy.cdm.model.common.IEnumTerm;
import eu.etaxonomy.cdm.model.common.OriginalSourceType;
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.cdm.model.reference.ReferenceType;
+ import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
import eu.etaxonomy.taxeditor.ui.element.ISelectable;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
* <p>
* Abstract AbstractEnumComboElement class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Mar 16, 2010
* @version 1.0
*/
- public class EnumComboElement<T extends IEnumTerm> extends
+ public class EnumComboElement<T extends IEnumTerm<T>> extends
AbstractCdmFormElement implements SelectionListener,
IEnableableFormElement, ISelectable {
private static CdmEnumDataHolder[] cdmEnumDataHolders = {
new CdmEnumDataHolder<NomenclaturalCode>(){
-
+
@Override
public String getName() {
return "Nomenclatural Code";
public Class<NomenclaturalCode> getClazz() {
return NomenclaturalCode.class;
}
-
+
},
new CdmEnumDataHolder<ReferenceType>(){
public Class<ReferenceType> getClazz() {
return ReferenceType.class;
}
-
+
},
new CdmEnumDataHolder<SpecimenOrObservationType>(){
public Class<SpecimenOrObservationType> getClazz() {
return SpecimenOrObservationType.class;
}
-
+
},
new CdmEnumDataHolder<OriginalSourceType>(){
public Class<OriginalSourceType> getClazz() {
return OriginalSourceType.class;
}
-
+
}
-
+
};
-
+
private static final int DEFAULT_VISIBLE_ITEMS = 10;
protected T selection;
protected List<T> elementTypeList = new ArrayList<T>();
- private Label label;
+ private final Label label;
protected Combo combo;
- private Class<T> enumType;
+ private final Class<T> enumType;
/**
* <p>
* Constructor for AbstractEnumComboElement.
* </p>
- *
+ *
* @param formFactory
* a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
* object.
* populateTypes
* </p>
*/
- private void populateTypes(){
- for(T enumElement : getElementsForClass(enumType)){
- elementTypeList.add(enumElement);
- combo.add(((Enum) enumElement).name());
- }
+ private void populateTypes(){
+ Collection<T> elementsForClass = getElementsForClass(enumType);
+ // special hierarchical order for specimens
+ if(enumType.equals(SpecimenOrObservationType.class)){
+ LinkedHashMap<T, String> orderedTerms = AbstractUtility.orderTerms(elementsForClass);
+ for(Entry<T, String> keyLabelPair : orderedTerms.entrySet()){
+ elementTypeList.add(keyLabelPair.getKey());
+ combo.add(keyLabelPair.getValue());
+ }
+ }
+ // default order
+ else{
+ for(T enumElement : getElementsForClass(enumType)){
+ elementTypeList.add(enumElement);
+ combo.add(((Enum) enumElement).name());
+ }
+ }
}
/**
* <p>
* Setter for the field <code>selection</code>.
* </p>
- *
+ *
* @param selection
* the selection to set
*/
* <p>
* addSelectionListener
* </p>
- *
+ *
* @param listener
* a {@link org.eclipse.swt.events.SelectionListener} object.
*/
* <p>
* removeSelectionListener
* </p>
- *
+ *
* @param listener
* a {@link org.eclipse.swt.events.SelectionListener} object.
*/
}
/** {@inheritDoc} */
- public void setSelected(boolean selected) {
+ @Override
+ public void setSelected(boolean selected) {
setBackground(selected ? SELECTED : getPersistentBackground());
}
* <p>
* Getter for the field <code>selection</code>.
* </p>
- *
+ *
* @return the selection
*/
public T getSelection() {
}
/** {@inheritDoc} */
- public void setEnabled(boolean enabled) {
+ @Override
+ public void setEnabled(boolean enabled) {
combo.setEnabled(enabled);
}
/*
* (non-Javadoc)
- *
+ *
* @see
* org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt
* .events.SelectionEvent)
*/
/** {@inheritDoc} */
- public void widgetSelected(SelectionEvent e) {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
selection = elementTypeList.get(combo.getSelectionIndex());
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
/** {@inheritDoc} */
- public void setIrrelevant(boolean irrelevant) {
+ @Override
+ public void setIrrelevant(boolean irrelevant) {
String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT
: Resources.COLOR_COMPOSITE_BACKGROUND;
}
/** {@inheritDoc} */
- public void widgetDefaultSelected(SelectionEvent e) {
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
}
-
+
public void setVisibleItemCount(int visibleItems){
combo.setVisibleItemCount(visibleItems);
}
-
+
private Collection<T> getElementsForClass(Class<T> clazz){
CdmEnumDataHolder<T> dataHolder = getCdmEnumDataHolderForClass(clazz);
if (dataHolder != null) {
- return dataHolder.getElements();
+ return dataHolder.getElements();
}
return null;
}
-
+
private CdmEnumDataHolder<T> getCdmEnumDataHolderForClass(Class<T> clazz){
for (CdmEnumDataHolder dataHolder : cdmEnumDataHolders) {
if (dataHolder.getClazz().equals(clazz)){
}
return null;
}
-
+
private interface CdmEnumDataHolder<T> {
Class<T> getClazz();
String getName();
// $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.
*/
protected List<UuidAndTitleCache<T>> model;
private final Set<T> transientCdmObjects = new HashSet<T>();
private final String settings;
-
+
protected T cdmBaseToBeFiltered;
-
+
/**
* <p>Constructor for AbstractFilteredCdmResourceSelectionDialog.</p>
*
* @param shell a {@link org.eclipse.swt.widgets.Shell} object.
- * @param conversation
+ * @param conversation
* @param title a {@link java.lang.String} object.
* @param multi a boolean.
* @param settings a {@link java.lang.String} object.
setTitle(title);
setMessage("Use * for wildcard, or ? to see all entries");
this.settings = settings;
-
+
this.conversation = conversation;
-
+
init();
-
+
initModel();
-
+
String objectTitle = getTitle(cdmObject);
if (objectTitle != null) {
setInitialPattern(objectTitle);
}
-
+
setListLabelProvider(createListLabelProvider());
setDetailsLabelProvider(createDetailsLabelProvider());
-
+
setSelectionHistory(new ResourceSelectionHistory());
}
-
+
/**
* By default, we are returning the standard list label provider
- *
- * Override in subclasses if you want different behavior
- *
+ *
+ * Override in subclasses if you want different behavior
+ *
* @return
*/
protected ILabelProvider createDetailsLabelProvider() {
}
/**
- *
+ *
* @return
*/
protected ILabelProvider createListLabelProvider() {
* Will run before initModel()
*/
protected void init() {
-
+
}
-
+
/**
* <p>getSelectionFromDialog</p>
*
protected static <TYPE extends CdmBase> TYPE getSelectionFromDialog(AbstractFilteredCdmResourceSelectionDialog<TYPE> dialog) {
//dialog.setInitialPattern("");
int result = dialog.open();
-
+
if (result == Window.CANCEL) {
return null;
}
-
+
UUID uuid = dialog.getSelectedUuidAndTitleCache().getUuid();
if(uuid == null){
return null;
- }
+ }
return dialog.getCdmObjectByUuid(uuid);
}
-
+
/**
* Check if object was created during the life of this dialog. If not,
* retrieve it from the CdmStore.
}
return getPersistentObject(cdmUuid);
}
-
+
/**
* <p>getPersistentObject</p>
*
if(cdmObject == null){
return "";
}
-
+
if (cdmObject instanceof IIdentifiableEntity) {
- return ((IIdentifiableEntity) cdmObject).getTitleCache();
+ return ((IIdentifiableEntity) cdmObject).getTitleCache();
}
-
+
throw new IllegalArgumentException("Generic method only" +
" supports cdmObject of type IIdentifiableEntity." +
" Please implement specific method in subclass.");
}
-
+
/** {@inheritDoc} */
@Override
filterExcludedObjects();
super.refresh();
}
-
+
/**
* <p>initModel</p>
*/
public boolean equalsFilter(ItemsFilter filter) {
return false;
}
-
+
@Override
public boolean isConsistentItem(Object item) {
return false;
}
return text != null ? matches(text) : false;
}
-
+
};
}
-
+
/**
* Set the filter input to the Agent's title cache
* @param cdmObject a T object.
*/
protected void setPattern(T cdmObject) {
- // FilteredSelection does some very tricky caching to make sure it
- // runs with high performance.
+ // FilteredSelection does some very tricky caching to make sure it
+ // runs with high performance.
// This works for most use cases, but we want to change the model while the dialog is open
// and all the clever caching prevents the content provider from knowing that the model has changed
- // I am aware, that this is a hack, but the FilteredSelectionDialog API does not offer a convenient
+ // I am aware, that this is a hack, but the FilteredSelectionDialog API does not offer a convenient
// way to solve the problem.
try {
Field lastCompletedFilter = this.getClass().getSuperclass().getSuperclass().getDeclaredField("lastCompletedFilter");
} catch (IllegalAccessException e) {
AbstractUtility.error(getClass(), e);
}
-
- // this also is not the nicest way to do it.
+
+ // this also is not the nicest way to do it.
// I am still amazed, that FilteredSelectionDialog does not offer any methods to change its data
// once it was opened. Am I doing it wrong?
String pattern = getTitle(cdmObject);
((Text) getPatternControl()).setText(pattern);
}
-
+
/* (non-Javadoc)
* @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor)
*/
ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
throws CoreException {
try {
- if(model != null){
+ if(model != null){
progressMonitor.beginTask("Looking for entities", model.size());
for(UuidAndTitleCache<T> element : model){
contentProvider.add(element, itemsFilter);
protected Comparator getItemsComparator() {
return new Comparator<UuidAndTitleCache>() {
@Override
- public int compare(UuidAndTitleCache entity1,
+ public int compare(UuidAndTitleCache entity1,
UuidAndTitleCache entity2) {
Collator collator = Collator.getInstance();
return collator.compare(entity1.getTitleCache(), entity2.getTitleCache());
protected IStatus validateItem(Object item) {
return Status.OK_STATUS;
}
-
+
/**
* <p>getSelectedUuidAndTitleCache</p>
*
Object[] result = getResult();
return result[0] == null ? null : (UuidAndTitleCache) result[0];
}
-
+
/**
* <p>Getter for the field <code>settings</code>.</p>
*
}
return settings;
}
-
+
/**
- *
+ *
* @author n.hoffmann
* @created Oct 19, 2009
* @version 1.0
* @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#restoreItemFromMemento(org.eclipse.ui.IMemento)
*/
@Override
- protected Object restoreItemFromMemento(IMemento element) {
+ protected Object restoreItemFromMemento(IMemento element) {
return element.getString("resource"); //$NON-NLS-1$
}
/*
* org.eclipse.ui.IMemento)
*/
@Override
- protected void storeItemToMemento(Object item, IMemento element) {
+ protected void storeItemToMemento(Object item, IMemento element) {
element.putString("resource", item.toString()); //$NON-NLS-1$
}
}
-
+
/**
* <p>getNewWizardLinkText</p>
*
* @return a {@link java.lang.String} object.
*/
protected abstract String getNewWizardLinkText();
-
+
/**
* <p>getNewEntityWizard</p>
- * @param parameter
+ * @param parameter
* @return a {@link eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard} object.
*/
protected abstract AbstractNewEntityWizard getNewEntityWizard(String parameter);
-
+
public class FilteredCdmResourceLabelProvider extends LabelProvider {
@Override
- public String getText(Object element) {
+ public String getText(Object element) {
if (element == null) {
return null;
}
return ((UuidAndTitleCache) element).getTitleCache();
- }
+ }
};
/* (non-Javadoc)
}
return null;
}
-
+
protected SelectionListener getNewWizardLinkSelectionListener(){
return new SelectionAdapter() {
-
+
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
AbstractNewEntityWizard wizard = getNewEntityWizard(e.text);
wizard.init(null, null);
- WizardDialog dialog = new WizardDialog(getShell(), wizard);
- int status = dialog.open();
-
- if (status == IStatus.OK) {
+ if(wizard.getEntity() != null) {
+ WizardDialog dialog = new WizardDialog(getShell(), wizard);
+ int status = dialog.open();
- T entity = (T) wizard.getEntity();
+ if (status == IStatus.OK) {
-// addObjectToModel(teamOrPerson);
- refresh();
- setPattern(entity);
- getConversationHolder().bind();
+ T entity = (T) wizard.getEntity();
+ refresh();
+ setPattern(entity);
+ getConversationHolder().bind();
+ }
+ //FIXME : Need to make sure this is a stable fix (ticket 3822)
+ getConversationHolder().commit();
}
}
};
}
-
+
/**
* <p>getConversationHolder</p>
*
* @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
*/
@Override
- public ConversationHolder getConversationHolder() {
+ public ConversationHolder getConversationHolder() {
return conversation;
}
-
+
/** {@inheritDoc} */
@Override
- public void update(CdmDataChangeMap changeEvents) {}
+ public void update(CdmDataChangeMap changeEvents) {}
/**
- * Don't want to add for example a taxon or synonym to itself
- * so filter the list to remove the taxon in question
+ * Don't want to add for example a taxon or synonym to itself
+ * so filter the list to remove the taxon in question
* (<code>cdmBaseToBeFiltered</code>)
* so it is not available in the filtered list.
*/
private void filterExcludedObjects() {
if (model != null && cdmBaseToBeFiltered != null) {
-
+
UuidAndTitleCache uuidAndTitleCacheToRemove = null;
-
+
for (UuidAndTitleCache uuidAndTitleCache : model){
if ((cdmBaseToBeFiltered.getUuid()).equals(uuidAndTitleCache.getUuid())) {
uuidAndTitleCacheToRemove = uuidAndTitleCache;
- }
+ }
}
model.remove(uuidAndTitleCacheToRemove);
}
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NamedAreaFieldController;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationDetailsElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationDetailsSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralElementController;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventDetailsElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenDetailsElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenDetailsSection;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenGeneralSection;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection.UnitType;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailSection;
+ import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailElement;
+ import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationEventDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationHistoryDetailSection;
- import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailElement;
- import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailSection;
+ import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitDetailElement;
+ import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitDetailSection;
+ import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralDetailElement;
+ import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection;
- import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralDetailElement;
- import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.NamedAreaDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailElement;
import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailSection;
+ import eu.etaxonomy.taxeditor.ui.section.vocabulary.FeatureDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
*/
public class CdmFormFactory extends FormToolkit {
- private BoldFontHolder2 boldFontHolder2;
- private MouseListener selectionMouseHandler;
- private FocusListener selectionFocusHandler;
+ private BoldFontHolder2 boldFontHolder2;
+ private MouseListener selectionMouseHandler;
+ private FocusListener selectionFocusHandler;
private final Set<SelectionListener> selectionListenerList = new HashSet<SelectionListener>();
- private final List<IPropertyChangeListener> propertyChangeListeners = new ArrayList<IPropertyChangeListener>();
+ private final List<IPropertyChangeListener> propertyChangeListeners = new ArrayList<IPropertyChangeListener>();
- private final int orientation = Window.getDefaultOrientation();
- private ISelectionProvider selectionProvider;
+ private final int orientation = Window.getDefaultOrientation();
+ private ISelectionProvider selectionProvider;
- /** Constant <code>EMPTY_SELECTION</code> */
- public static ISelection EMPTY_SELECTION = new ISelection() {
- @Override
- public boolean isEmpty() {
- return true;
- }
- };
+ /** Constant <code>EMPTY_SELECTION</code> */
+ public static ISelection EMPTY_SELECTION = new ISelection() {
+ @Override
+ public boolean isEmpty() {
+ return true;
+ }
+ };
- /**
- *
- * @author n.hoffmann
- * @date Jan 25, 2010
- *
- */
- private class SelectionMouseHandler extends MouseAdapter {
- @Override
- public void mouseDown(MouseEvent e) {
- notifySelectionListeners(e);
- }
- }
+ /**
+ *
+ * @author n.hoffmann
+ * @date Jan 25, 2010
+ *
+ */
+ private class SelectionMouseHandler extends MouseAdapter {
+ @Override
+ public void mouseDown(MouseEvent e) {
+ notifySelectionListeners(e);
+ }
+ }
- /**
- *
- * @author n.hoffmann
- * @date Jan 25, 2010
- *
- */
- private class SelectionFocusHandler extends FocusAdapter {
- @Override
- public void focusGained(FocusEvent e) {
- notifySelectionListeners(e);
- }
- }
+ /**
+ *
+ * @author n.hoffmann
+ * @date Jan 25, 2010
+ *
+ */
+ private class SelectionFocusHandler extends FocusAdapter {
+ @Override
+ public void focusGained(FocusEvent e) {
+ notifySelectionListeners(e);
+ }
+ }
- private void notifySelectionListeners(TypedEvent e) {
- Event event = new Event();
- event.widget = e.widget;
- SelectionEvent selectionEvent = new SelectionEvent(event);
+ private void notifySelectionListeners(TypedEvent e) {
+ Event event = new Event();
+ event.widget = e.widget;
+ SelectionEvent selectionEvent = new SelectionEvent(event);
for (SelectionListener listener : selectionListenerList) {
listener.widgetSelected(selectionEvent);
- }
- }
+ }
+ }
- /**
- * <p>
- * Constructor for CdmFormFactory.
- * </p>
- *
- * @param display
- * a {@link org.eclipse.swt.widgets.Display} object.
- * @param selectionProvider
- * a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
- */
- public CdmFormFactory(Display display, ISelectionProvider selectionProvider) {
- super(display);
- this.selectionProvider = selectionProvider;
- init();
- }
+ /**
+ * <p>
+ * Constructor for CdmFormFactory.
+ * </p>
+ *
+ * @param display
+ * a {@link org.eclipse.swt.widgets.Display} object.
+ * @param selectionProvider
+ * a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
+ */
+ public CdmFormFactory(Display display, ISelectionProvider selectionProvider) {
+ super(display);
+ this.selectionProvider = selectionProvider;
+ init();
+ }
- /**
- * <p>
- * Constructor for CdmFormFactory.
- * </p>
- *
- * @param display
- * a {@link org.eclipse.swt.widgets.Display} object.
- */
- public CdmFormFactory(Display display) {
- super(display);
- init();
- }
+ /**
+ * <p>
+ * Constructor for CdmFormFactory.
+ * </p>
+ *
+ * @param display
+ * a {@link org.eclipse.swt.widgets.Display} object.
+ */
+ public CdmFormFactory(Display display) {
+ super(display);
+ init();
+ }
- /**
+ /**
*
*/
- private void init() {
- boldFontHolder2 = new BoldFontHolder2();
- selectionMouseHandler = new SelectionMouseHandler();
- selectionFocusHandler = new SelectionFocusHandler();
- }
+ private void init() {
+ boldFontHolder2 = new BoldFontHolder2();
+ selectionMouseHandler = new SelectionMouseHandler();
+ selectionFocusHandler = new SelectionFocusHandler();
+ }
- /**
- * Creates an instance initialized with the correct selectionProvider
- *
- * Make sure to remove the instance when the entityComposite disposes via
- * destroySelectionArbitrator(..)
- *
- * @param entityElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.IEntityElement}
- * object.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator}
- * object.
- */
+ /**
+ * Creates an instance initialized with the correct selectionProvider
+ *
+ * Make sure to remove the instance when the entityComposite disposes via
+ * destroySelectionArbitrator(..)
+ *
+ * @param entityElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.IEntityElement}
+ * object.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator}
+ * object.
+ */
public SelectionArbitrator createSelectionArbitrator(IEntityElement entityElement) {
SelectionArbitrator selectionArbitrator = new SelectionArbitrator(entityElement);
- selectionArbitrator.addSelectionProvider(selectionProvider);
- selectionProvider.addSelectionChangedListener(selectionArbitrator);
- addSelectionListener(selectionArbitrator);
- return selectionArbitrator;
- }
+ selectionArbitrator.addSelectionProvider(selectionProvider);
+ selectionProvider.addSelectionChangedListener(selectionArbitrator);
+ addSelectionListener(selectionArbitrator);
+ return selectionArbitrator;
+ }
- /**
- * <p>
- * destroySelectionArbitrator
- * </p>
- *
- * @param selectionArbitrator
+ /**
+ * <p>
+ * destroySelectionArbitrator
+ * </p>
+ *
+ * @param selectionArbitrator
* a
* {@link eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator}
- * object.
- */
+ * object.
+ */
public void destroySelectionArbitrator(SelectionArbitrator selectionArbitrator) {
- removeSelectionListener(selectionArbitrator);
- if (selectionProvider != null) {
+ removeSelectionListener(selectionArbitrator);
+ if (selectionProvider != null) {
selectionProvider.removeSelectionChangedListener(selectionArbitrator);
- } else {
+ } else {
AbstractUtility.error(this.getClass(),
"Tried to destroy a selection listener from this factories listeners but was null", null);
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public void adapt(Composite composite) {
- composite.addMouseListener(selectionMouseHandler);
- super.adapt(composite);
- }
+ }
+ }
- /**
- * <p>
+ /**
+ * <p>
* Adapts the {@link AbstractCdmFormElement}:<br>
* - sets the {@link IPropertyChangeListener}s handled by this class
- * </p>
- *
- * @param formElement
- * a
- * {@link eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement}
- * object.
- */
- public void adapt(AbstractCdmFormElement formElement) {
- formElement.setPropertyChangeListeners(propertyChangeListeners);
- }
+ * </p>
+ *
+ * @param formElement
+ * a
+ * {@link eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement}
+ * object.
+ */
+ public void adapt(AbstractCdmFormElement formElement) {
+ formElement.setPropertyChangeListeners(propertyChangeListeners);
+ }
- /** {@inheritDoc} */
- @Override
- public void adapt(Control control, boolean trackFocus, boolean trackKeyboard) {
- if (trackFocus) {
- control.addFocusListener(selectionFocusHandler);
- }
- super.adapt(control, trackFocus, trackKeyboard);
- }
+ /** {@inheritDoc} */
+ @Override
+ public void adapt(Control control, boolean trackFocus, boolean trackKeyboard) {
+ if (trackFocus) {
+ control.addFocusListener(selectionFocusHandler);
+ }
+ super.adapt(control, trackFocus, trackKeyboard);
+ }
- /**
- * <p>
- * destroyElement
- * </p>
- *
- * @param formElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- */
- public void destroyElement(ICdmFormElement formElement) {
- // return if element was not initialized
- if (formElement == null) {
- return;
- }
- // destroy selection arbitrator, if any
- if (formElement instanceof ISelectableElement) {
+ /** {@inheritDoc} */
+ @Override
+ public void adapt(Composite composite) {
+ composite.addMouseListener(selectionMouseHandler);
+ super.adapt(composite);
+ }
+
+ /**
+ * <p>
+ * destroyElement
+ * </p>
+ *
+ * @param formElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ */
+ public void destroyElement(ICdmFormElement formElement) {
+ // return if element was not initialized
+ if (formElement == null) {
+ return;
+ }
+ // destroy selection arbitrator, if any
+ if (formElement instanceof ISelectableElement) {
destroySelectionArbitrator(((ISelectableElement) formElement).getSelectionArbitrator());
- }
- // remove this element form its parents list of elements
- // ICdmFormElement parentElement = formElement.getParentElement();
- // if(parentElement != null){
- // parentElement.removeElement(formElement);
- // }
- // call destroy on child elements recursively
- for (ICdmFormElement childElement : formElement.getElements()) {
- destroyElement(childElement);
- }
- // dispose of the controls
- for (Control control : formElement.getControls()) {
- // we added the layoutComposite of the parental element as the
- // layout composite to this formElement
- // but we do not want to destroy it.
- if (control.equals(formElement.getLayoutComposite())) {
- continue;
- } else {
- control.dispose();
- control = null;
- }
- }
- }
+ }
+ // remove this element form its parents list of elements
+ // ICdmFormElement parentElement = formElement.getParentElement();
+ // if(parentElement != null){
+ // parentElement.removeElement(formElement);
+ // }
+ // call destroy on child elements recursively
+ for (ICdmFormElement childElement : formElement.getElements()) {
+ destroyElement(childElement);
+ }
+ // dispose of the controls
+ for (Control control : formElement.getControls()) {
+ // we added the layoutComposite of the parental element as the
+ // layout composite to this formElement
+ // but we do not want to destroy it.
+ if (control.equals(formElement.getLayoutComposite())) {
+ continue;
+ } else {
+ control.dispose();
+ control = null;
+ }
+ }
+ }
- /**
- * <p>
- * createEmptyCell
- * </p>
- *
- * @param parent
- * a {@link org.eclipse.swt.widgets.Composite} object.
- * @return a {@link org.eclipse.swt.widgets.Label} object.
- */
- public Label createEmptyCell(Composite parent) {
- return this.createLabel(parent, null);
- }
+ /**
+ * <p>
+ * createEmptyCell
+ * </p>
+ *
+ * @param parent
+ * a {@link org.eclipse.swt.widgets.Composite} object.
+ * @return a {@link org.eclipse.swt.widgets.Label} object.
+ */
+ public Label createEmptyCell(Composite parent) {
+ return this.createLabel(parent, null);
+ }
- /**
- * <p>
- * createMultilineTextWithLabel
- * </p>
- *
- * @param labelString
- * a {@link java.lang.String} object.
- * @param textHeight
- * a int.
- * @param style
- * a int.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement}
- * object.
- */
+ /**
+ * <p>
+ * createMultilineTextWithLabel
+ * </p>
+ *
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param textHeight
+ * a int.
+ * @param style
+ * a int.
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement}
+ * object.
+ */
public TextWithLabelElement createMultilineTextWithLabel(ICdmFormElement parentElement, String labelString,
int textHeight, int style) {
TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, "", textHeight, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createMultiLanguageTextElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param multilanguageText
- * a {@link java.util.Map} object.
- * @param textHeight
- * a int.
- * @param style
- * a int.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement}
- * object.
- */
+ /**
+ * <p>
+ * createMultiLanguageTextElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param multilanguageText
+ * a {@link java.util.Map} object.
+ * @param textHeight
+ * a int.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement}
+ * object.
+ */
public MultilanguageTextElement createMultiLanguageTextElement(ICdmFormElement parentElement, String labelString,
Map<Language, LanguageString> multilanguageText, int textHeight, int style) {
MultilanguageTextElement element = new MultilanguageTextElement(this, parentElement, labelString,
multilanguageText, textHeight, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
public KeyStatementElement createKeyStatementElement(ICdmFormElement parentElement, String labelString,
- KeyStatement keyStatement, int textHeight, int style) {
+ KeyStatement keyStatement, int textHeight, int style) {
KeyStatementElement element = new KeyStatementElement(this, parentElement, labelString, keyStatement,
textHeight, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createTextWithLabelElement
- * </p>
- *
- * @param labelString
- * a {@link java.lang.String} object.
- * @param initialText
- * a {@link java.lang.String} object.
- * @param style
- * a int.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement}
- * object.
- */
+ /**
+ * <p>
+ * createTextWithLabelElement
+ * </p>
+ *
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param initialText
+ * a {@link java.lang.String} object.
+ * @param style
+ * a int.
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement}
+ * object.
+ */
public TextWithLabelElement createTextWithLabelElement(ICdmFormElement parentElement, String labelString,
- String initialText, int style) {
+ String initialText, int style) {
TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, initialText, null,
style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
public UriWithLabelElement createUriWithLabelElement(ICdmFormElement parentElement, String labelString,
URI initialUri, int style) {
UriWithLabelElement element = new UriWithLabelElement(this, parentElement, labelString, initialUri, null, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * @param element
- * @param string
- * @param uri
- * @param style
- * @return
- */
+ /**
+ * @param element
+ * @param string
+ * @param uri
+ * @param style
+ * @return
+ */
public OpenUrlSelectorElement createOpenUrlSelectorElement(ICdmFormElement parentElement, String labelString,
- IOpenUrlEnabled openUrlEnabled, int style) {
+ IOpenUrlEnabled openUrlEnabled, int style) {
OpenUrlSelectorElement element = new OpenUrlSelectorElement(this, parentElement, labelString, openUrlEnabled,
style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- *
- * @param parentElement
- * @param labelString
- * @param conversationEnabled
- * @param user
- * @param style
- * @return
- */
+ /**
+ *
+ * @param parentElement
+ * @param labelString
+ * @param conversationEnabled
+ * @param user
+ * @param style
+ * @return
+ */
public EditPasswordElement createEditPasswordElement(ICdmFormElement parentElement, String labelString,
- ConversationHolder conversation, User user, int style) {
+ ConversationHolder conversation, User user, int style) {
EditPasswordElement element = new EditPasswordElement(this, parentElement, labelString, user, conversation);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createIntegerTextWithLabelElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param initialInteger
- * a {@link java.lang.Integer} object.
- * @param style
- * a int.
+ /**
+ * <p>
+ * createIntegerTextWithLabelElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param initialInteger
+ * a {@link java.lang.Integer} object.
+ * @param style
+ * a int.
* @return a
* {@link eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement}
- * object.
- */
+ * object.
+ */
public NumberWithLabelElement createNumberTextWithLabelElement(
ICdmFormElement parentElement, String labelString,
Number initialNumber, int style) {
return element;
}
-
- /**
- * <p>
- * createLanguageStringWithLabelElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param languageString
- * a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
- * @param style
- * a int.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement}
- * object.
- */
- public LanguageStringWithLabelElement createLanguageStringWithLabelElement(ICdmFormElement parentElement,
- String labelString, LanguageString languageString, int style) {
- LanguageStringWithLabelElement element = new LanguageStringWithLabelElement(this, parentElement, labelString,
- languageString, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
-
- /**
- * <p>
- * createLanguageStringWithLabelElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param languageString
- * a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
- * @param height
- * a int.
- * @param style
- * a int.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement}
- * object.
- */
+ /**
+ * <p>
+ * createLanguageStringWithLabelElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param languageString
+ * a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement}
+ * object.
+ */
+ public LanguageStringWithLabelElement createLanguageStringWithLabelElement(ICdmFormElement parentElement,
+ String labelString, LanguageString languageString, int style) {
+ LanguageStringWithLabelElement element = new LanguageStringWithLabelElement(this, parentElement, labelString,
+ languageString, style);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
+ /**
+ * <p>
+ * createLanguageStringWithLabelElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param languageString
+ * a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
+ * @param height
+ * a int.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement}
+ * object.
+ */
public LanguageStringWithLabelElement createLanguageStringWithLabelElement(ICdmFormElement parentElement,
String labelString, LanguageString languageString, int height, int style) {
LanguageStringWithLabelElement element = new LanguageStringWithLabelElement(this, parentElement, labelString,
languageString, height, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createTextElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param initialText
- * a {@link java.lang.String} object.
- * @param style
- * a int.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement}
- * object.
- */
+ /**
+ * <p>
+ * createTextElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param initialText
+ * a {@link java.lang.String} object.
+ * @param style
+ * a int.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement}
+ * object.
+ */
public TextWithLabelElement createTextElement(ICdmFormElement parentElement, String initialText, int style) {
TextWithLabelElement element = new TextWithLabelElement(this, parentElement, null, initialText, null, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createKeyValueViewerElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param keyHeading
- * a {@link java.lang.String} object.
- * @param valueHeading
- * a {@link java.lang.String} object.
- * @param map
- * a {@link java.util.Map} object.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.KeyValueViewerElement}
- * object.
- */
+ /**
+ * <p>
+ * createKeyValueViewerElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param keyHeading
+ * a {@link java.lang.String} object.
+ * @param valueHeading
+ * a {@link java.lang.String} object.
+ * @param map
+ * a {@link java.util.Map} object.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.KeyValueViewerElement}
+ * object.
+ */
public KeyValueViewerElement createKeyValueViewerElement(ICdmFormElement parentElement, String keyHeading,
- String valueHeading, Map<Object, Object> map) {
+ String valueHeading, Map<Object, Object> map) {
KeyValueViewerElement element = new KeyValueViewerElement(this, parentElement, keyHeading, valueHeading, map);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createTermComboElement
- * </p>
- *
- * @param termComboType
- * a
- * {@link eu.eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.TermComboType}
- * object.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param selection
- * a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase}
- * object.
- * @param style
- * a int.
- * @return a {@link eu.etaxonomy.taxeditor.ui.combo.TermComboElement}
- * object.
- */
+ /**
+ * <p>
+ * createTermComboElement
+ * </p>
+ *
+ * @param termComboType
+ * a
+ * {@link eu.eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.TermComboType}
+ * object.
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param selection
+ * a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase}
+ * object.
+ * @param style
+ * a int.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.combo.TermComboElement}
+ * object.
+ */
public <T extends DefinedTermBase> TermComboElement<T> createTermComboElement(Class<T> termComboType,
ICdmFormElement parentElement, String labelString, T selection, int style) {
TermComboElement<T> element = new TermComboElement<T>(this, parentElement, termComboType, labelString,
selection, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
/**
* <p>
return element;
}
- /**
- * <p>
- * createEnumComboElement
- * </p>
- *
- * @param enumComboType
- * a
- * {@link eu.eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.EnumComboType}
- * object.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param style
- * a int.
- * @return a {@link eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement}
- * object.
- */
+ /**
+ * <p>
+ * createEnumComboElement
+ * </p>
+ *
+ * @param enumComboType
+ * a
+ * {@link eu.eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.EnumComboType}
+ * object.
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param style
+ * a int.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement}
+ * object.
+ */
- public <T extends IEnumTerm> EnumComboElement<T> createEnumComboElement(
+ public <T extends IEnumTerm<T>> EnumComboElement<T> createEnumComboElement(
Class<T> enumComboType, ICdmFormElement parentElement,
int style) {
- EnumComboElement<T> element = new EnumComboElement<T>(this, parentElement, enumComboType, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ EnumComboElement<T> element = new EnumComboElement<T>(this, parentElement, enumComboType, style);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createBrowserElement
- * </p>
- *
- * @param imageUri
- * a {@link java.net.URI} object.
- * @param style
- * a int.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
+ /**
+ * <p>
+ * createBrowserElement
+ * </p>
+ *
+ * @param imageUri
+ * a {@link java.net.URI} object.
+ * @param style
+ * a int.
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
* @return a {@link eu.etaxonomy.taxeditor.ui.element.BrowserElement}
* object.
- */
+ */
public BrowserElement createBrowserElement(ICdmFormElement parentElement, URI imageUri, int style) {
BrowserElement element = new BrowserElement(this, parentElement, imageUri, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createImageElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param imageUri
- * a {@link java.net.URI} object.
- * @param style
- * a int.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.ImageElement} object.
- */
+ /**
+ * <p>
+ * createImageElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param imageUri
+ * a {@link java.net.URI} object.
+ * @param style
+ * a int.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.ImageElement} object.
+ */
public ImageElement createImageElement(ICdmFormElement parentElement, URI imageUri, int style) {
ImageElement element = new ImageElement(this, parentElement, imageUri, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createTextActionElement
- * </p>
- *
- * @param labelString
- * a {@link java.lang.String} object.
- * @param initialText
- * a {@link java.lang.String} object.
- * @param style
- * a int.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param buttonLabel
- * a {@link java.lang.String} object.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextActionElement}
- * object.
- */
+ /**
+ * <p>
+ * createTextActionElement
+ * </p>
+ *
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param initialText
+ * a {@link java.lang.String} object.
+ * @param style
+ * a int.
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param buttonLabel
+ * a {@link java.lang.String} object.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.TextActionElement}
+ * object.
+ */
public TextActionElement createTextActionElement(ICdmFormElement parentElement, String labelString,
- String buttonLabel, String initialText, int style) {
+ String buttonLabel, String initialText, int style) {
TextActionElement element = new TextActionElement(this, parentElement, labelString, buttonLabel, initialText,
style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createCheckbox
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param label
- * a {@link java.lang.String} object.
- * @param initialState
- * a boolean.
- * @param style
- * a int.
+ /**
+ * <p>
+ * createCheckbox
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param label
+ * a {@link java.lang.String} object.
+ * @param initialState
+ * a boolean.
+ * @param style
+ * a int.
* @return a {@link eu.etaxonomy.taxeditor.ui.element.CheckboxElement}
* object.
- */
+ */
public CheckboxElement createCheckbox(ICdmFormElement parentElement, String label, boolean initialState, int style) {
CheckboxElement element = new CheckboxElement(this, parentElement, label, initialState, style | orientation);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * Creates a section as a part of the form.
- *
- * @return the section widget
- * @param section
+ /**
+ * Creates a section as a part of the form.
+ *
+ * @return the section widget
+ * @param section
* a
* {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
- * object.
- */
- public Section adapt(AbstractFormSection section) {
- section.setMenu(section.getLayoutComposite().getMenu());
- adapt(section, true, true);
+ * object.
+ */
+ public Section adapt(AbstractFormSection section) {
+ section.setMenu(section.getLayoutComposite().getMenu());
+ adapt(section, true, true);
- // handle focus and property change events for cdm use
- section.addFocusListener(selectionFocusHandler);
- section.setPropertyChangeListeners(propertyChangeListeners);
+ // handle focus and property change events for cdm use
+ section.addFocusListener(selectionFocusHandler);
+ section.setPropertyChangeListeners(propertyChangeListeners);
- if (section.getToggle() != null) {
+ if (section.getToggle() != null) {
section.getToggle().setHoverDecorationColor(getColors().getColor(IFormColors.TB_TOGGLE_HOVER));
section.getToggle().setDecorationColor(getColors().getColor(IFormColors.TB_TOGGLE));
- }
+ }
section.setFont(boldFontHolder2.getBoldFont(section.getLayoutComposite().getFont()));
if ((section.getStyle() & ExpandableComposite.TITLE_BAR) != 0
|| (section.getStyle() & ExpandableComposite.SHORT_TITLE_BAR) != 0) {
- getColors().initializeSectionToolBarColors();
+ getColors().initializeSectionToolBarColors();
section.setTitleBarBackground(getColors().getColor(IFormColors.TB_BG));
section.setTitleBarBorderColor(getColors().getColor(IFormColors.TB_BORDER));
- }
- // call setTitleBarForeground regardless as it also sets the label color
+ }
+ // call setTitleBarForeground regardless as it also sets the label color
section.setTitleBarForeground(getColors().getColor(IFormColors.TB_TOGGLE));
- return section;
- }
+ return section;
+ }
- private class BoldFontHolder2 {
- private Font normalFont;
+ private class BoldFontHolder2 {
+ private Font normalFont;
- private Font boldFont;
+ private Font boldFont;
- public BoldFontHolder2() {
- }
+ public BoldFontHolder2() {
+ }
- public Font getBoldFont(Font font) {
- createBoldFont(font);
- return boldFont;
- }
+ public Font getBoldFont(Font font) {
+ createBoldFont(font);
+ return boldFont;
+ }
- private void createBoldFont(Font font) {
- if (normalFont == null || !normalFont.equals(font)) {
- normalFont = font;
- dispose();
- }
- if (boldFont == null) {
+ private void createBoldFont(Font font) {
+ if (normalFont == null || !normalFont.equals(font)) {
+ normalFont = font;
+ dispose();
+ }
+ if (boldFont == null) {
boldFont = FormFonts.getInstance().getBoldFont(getColors().getDisplay(), normalFont);
- }
- }
+ }
+ }
- public void dispose() {
- if (boldFont != null) {
+ public void dispose() {
+ if (boldFont != null) {
FormFonts.getInstance().markFinished(boldFont, getColors().getDisplay());
- boldFont = null;
- }
- }
- }
+ boldFont = null;
+ }
+ }
+ }
- /**
- * <p>
- * createToggleableTextField
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param initialText
- * a {@link java.lang.String} object.
- * @param initialState
- * a boolean.
- * @param style
- * a int.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement}
- * object.
- */
+ /**
+ * <p>
+ * createToggleableTextField
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param initialText
+ * a {@link java.lang.String} object.
+ * @param initialState
+ * a boolean.
+ * @param style
+ * a int.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement}
+ * object.
+ */
public ToggleableTextElement createToggleableTextField(ICdmFormElement parentElement, String labelString,
- String initialText, boolean initialState, int style) {
+ String initialText, boolean initialState, int style) {
ToggleableTextElement element = new ToggleableTextElement(this, parentElement, labelString, initialText,
initialState, style | orientation);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createTimePeriodElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param timePeriod
- * a {@link eu.etaxonomy.cdm.model.common.TimePeriod} object.
- * @param style
- * a int.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.TimePeriodElement}
- * object.
- */
+ /**
+ * <p>
+ * createTimePeriodElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param timePeriod
+ * a {@link eu.etaxonomy.cdm.model.common.TimePeriod} object.
+ * @param style
+ * a int.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.TimePeriodElement}
+ * object.
+ */
public TimePeriodElement createTimePeriodElement(ICdmFormElement parentElement, String labelString,
- TimePeriod timePeriod, int style) {
+ TimePeriod timePeriod, int style) {
TimePeriodElement element = new TimePeriodElement(this, parentElement, labelString, timePeriod, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
/**
* <p>
return element;
}
- /**
- * <p>
- * createPointElement
- * </p>
- *
- * @param style
- * a int.
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param point
- * a {@link eu.etaxonomy.cdm.model.location.Point} object.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.PointElement} object.
- */
+ /**
+ * <p>
+ * createPointElement
+ * </p>
+ *
+ * @param style
+ * a int.
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param point
+ * a {@link eu.etaxonomy.cdm.model.location.Point} object.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.PointElement} object.
+ */
public PointElement createPointElement(ICdmFormElement parentElement, Point point, int style) {
PointElement element = new PointElement(this, parentElement, point, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createDateDetailSection
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param style
- * a int.
- * @return a {@link eu.etaxonomy.taxeditor.ui.element.DateDetailSection}
- * object.
- */
+ /**
+ * <p>
+ * createDateDetailSection
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param style
+ * a int.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.element.DateDetailSection}
+ * object.
+ */
public DateDetailSection createDateDetailSection(ICdmFormElement parentElement, int style) {
DateDetailSection section = new DateDetailSection(this, parentElement, style);
- parentElement.addElement(section);
- adapt(section);
- return section;
- }
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
+ }
/**
* <p>
return section;
}
- /**
- * <p>
- * createPartialElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param labelString
- * a {@link java.lang.String} object.
- * @param partial
- * a {@link org.joda.time.Partial} object.
- * @param style
- * a int.
+ /**
+ * <p>
+ * createPartialElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param labelString
+ * a {@link java.lang.String} object.
+ * @param partial
+ * a {@link org.joda.time.Partial} object.
+ * @param style
+ * a int.
* @return a {@link eu.etaxonomy.taxeditor.ui.element.PartialElement}
* object.
- */
+ */
public PartialElement createPartialElement(ICdmFormElement parentElement, String labelString, Partial partial,
int style) {
PartialElement element = new PartialElement(this, parentElement, labelString, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * addSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
- public void addSelectionListener(SelectionListener listener) {
- selectionListenerList.add(listener);
- }
+ /**
+ * <p>
+ * addSelectionListener
+ * </p>
+ *
+ * @param listener
+ * a {@link org.eclipse.swt.events.SelectionListener} object.
+ */
+ public void addSelectionListener(SelectionListener listener) {
+ selectionListenerList.add(listener);
+ }
- /**
- * <p>
- * removeSelectionListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- */
- public void removeSelectionListener(SelectionListener listener) {
- if (listener == null) {
+ /**
+ * <p>
+ * removeSelectionListener
+ * </p>
+ *
+ * @param listener
+ * a {@link org.eclipse.swt.events.SelectionListener} object.
+ */
+ public void removeSelectionListener(SelectionListener listener) {
+ if (listener == null) {
AbstractUtility.error(this.getClass(),
"Tried to remove a selection listener from this factories listeners but was null", null);
- } else {
- selectionListenerList.remove(listener);
- }
- }
+ } else {
+ selectionListenerList.remove(listener);
+ }
+ }
- /**
- * <p>
- * addPropertyChangeListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.jface.util.IPropertyChangeListener}
- * object.
- */
- public void addPropertyChangeListener(IPropertyChangeListener listener) {
- if(propertyChangeListeners.contains(listener)){
- return;
- }
- propertyChangeListeners.add(0, listener);
- }
+ /**
+ * <p>
+ * addPropertyChangeListener
+ * </p>
+ *
+ * @param listener
+ * a {@link org.eclipse.jface.util.IPropertyChangeListener}
+ * object.
+ */
+ public void addPropertyChangeListener(IPropertyChangeListener listener) {
+ if (propertyChangeListeners.contains(listener)) {
+ return;
+ }
+ propertyChangeListeners.add(0, listener);
+ }
- /**
- * <p>
- * removePropertyChangeListener
- * </p>
- *
- * @param listener
- * a {@link org.eclipse.jface.util.IPropertyChangeListener}
- * object.
- */
- public void removePropertyChangeListener(IPropertyChangeListener listener) {
- propertyChangeListeners.remove(listener);
- }
+ /**
+ * <p>
+ * removePropertyChangeListener
+ * </p>
+ *
+ * @param listener
+ * a {@link org.eclipse.jface.util.IPropertyChangeListener}
+ * object.
+ */
+ public void removePropertyChangeListener(IPropertyChangeListener listener) {
+ propertyChangeListeners.remove(listener);
+ }
- /**
- * <p>
- * createHorizontalSeparator
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param style
- * a int.
- * @return a {@link org.eclipse.swt.widgets.Label} object.
- */
+ /**
+ * @return the propertyChangeListeners
+ */
+ public List<IPropertyChangeListener> getPropertyChangeListeners() {
+ return propertyChangeListeners;
+ }
+
+ /**
+ * <p>
+ * createHorizontalSeparator
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param style
+ * a int.
+ * @return a {@link org.eclipse.swt.widgets.Label} object.
+ */
public Label createHorizontalSeparator(ICdmFormElement parentElement, int style) {
Label separator = this.createSeparator(parentElement.getLayoutComposite(), SWT.HORIZONTAL | style);
- separator.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
- return separator;
- }
+ separator.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
+ return separator;
+ }
- /**
- * <p>
- * createVersionElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param entity
- * a {@link eu.etaxonomy.cdm.model.common.VersionableEntity}
- * object.
- * @param style
- * a int.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.section.supplemental.VersionElement}
- * object.
- */
+ /**
+ * <p>
+ * createVersionElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param entity
+ * a {@link eu.etaxonomy.cdm.model.common.VersionableEntity}
+ * object.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.section.supplemental.VersionElement}
+ * object.
+ */
public VersionElement createVersionElement(ICdmFormElement parentElement, VersionableEntity entity, int style) {
VersionElement element = new VersionElement(this, parentElement, entity, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * @param cdmBaseSection
- * @param object
- * @param style
- * @return
- */
+ /**
+ * @param cdmBaseSection
+ * @param object
+ * @param style
+ * @return
+ */
public CdmBaseElement createCdmBaseElement(ICdmFormElement parentElement, CdmBase entity, int style) {
CdmBaseElement element = new CdmBaseElement(this, parentElement, entity, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
-
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createVersionSection
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param style
- * a int.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection}
- * object.
- */
+ /**
+ * <p>
+ * createVersionSection
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection}
+ * object.
+ */
public VersionSection createVersionSection(ICdmFormElement parentElement, int style) {
- VersionSection section = new VersionSection(this, parentElement, style);
- parentElement.addElement(section);
- adapt(section);
- return section;
- }
+ VersionSection section = new VersionSection(this, parentElement, style);
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
+ }
- /**
- * @param parent
- * @param i
- * @return
- */
- public CdmBaseSection createCdmBaseSection(ICdmFormElement parentElement, int style) {
- CdmBaseSection section = new CdmBaseSection(this, parentElement, style);
- parentElement.addElement(section);
- adapt(section);
- return section;
- }
+ /**
+ * @param parent
+ * @param i
+ * @return
+ */
+ public CdmBaseSection createCdmBaseSection(ICdmFormElement parentElement, int style) {
+ CdmBaseSection section = new CdmBaseSection(this, parentElement, style);
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
+ }
- /**
- * <p>
- * createEmptyElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @return a {@link eu.etaxonomy.taxeditor.ui.section.EmptyElement} object.
- */
- public EmptyElement createEmptyElement(ICdmFormElement parentElement) {
+ /**
+ * <p>
+ * createEmptyElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @return a {@link eu.etaxonomy.taxeditor.ui.section.EmptyElement} object.
+ */
+ public EmptyElement createEmptyElement(ICdmFormElement parentElement) {
EmptyElement element = new EmptyElement(this, parentElement, null, SWT.NULL);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /**
- * <p>
- * createHeadlineSection
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineSection}
- * object.
- */
- public HeadlineSection createHeadlineSection(ICdmFormElement parentElement) {
+ /**
+ * <p>
+ * createHeadlineSection
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.section.supplemental.HeadlineSection}
+ * object.
+ */
+ public HeadlineSection createHeadlineSection(ICdmFormElement parentElement) {
HeadlineSection section = new HeadlineSection(this, parentElement, SWT.NULL);
- parentElement.addElement(section);
- adapt(section);
- return section;
- }
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
+ }
- /**
- * <p>
- * createParsingMessageElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param parserProblem
- * a {@link eu.etaxonomy.cdm.strategy.parser.ParserProblem}
- * object.
- * @param style
- * a int.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessageElement}
- * object.
- */
+ /**
+ * <p>
+ * createParsingMessageElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param parserProblem
+ * a {@link eu.etaxonomy.cdm.strategy.parser.ParserProblem}
+ * object.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessageElement}
+ * object.
+ */
public ParsingMessageElement createParsingMessageElement(ICdmFormElement parentElement,
ParserProblem parserProblem, int style) {
ParsingMessageElement element = new ParsingMessageElement(this, parentElement, parserProblem, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
public AbstractFormSection createDefinedTermDetailSection(Class definedTermClass, ConversationHolder conversation,
ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
AbstractFormSection section = new DefinedTermDetailSection(this, definedTermClass, conversation, parentElement,
selectionProvider, style);
- parentElement.addElement(section);
- adapt(section);
- return section;
+ parentElement.addElement(section);
+ adapt(section);
+ return section;
- }
+ }
/**
* @param definedTermClass
* @param style
* @return
*/
- public AbstractCdmDetailElement createDefinedTermDetailElement(Class definedTermClass, AbstractCdmDetailSection parentElement, int style) {
+ public AbstractCdmDetailElement createDefinedTermDetailElement(Class definedTermClass,
+ AbstractCdmDetailSection parentElement, int style) {
AbstractCdmDetailElement element = null;
if (NamedArea.class.isAssignableFrom(definedTermClass)) {
element = new eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailElement(this, parentElement);
+ } else if (definedTermClass.equals(Feature.class)) {
+ element = new FeatureDetailElement(this, parentElement);
} else {
element = new DefinedTermDetailElement(this, parentElement);
}
return section;
}
- public FieldObservationDetailSection createFieldObservationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
- FieldObservationDetailSection section = new FieldObservationDetailSection(this, conversation, parentElement, selectionProvider, style);
+ public FieldUnitDetailSection createFieldUnitDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+ FieldUnitDetailSection section = new FieldUnitDetailSection(this, conversation, parentElement, selectionProvider, style);
addAndAdaptSection(parentElement, section);
return section;
}
return section;
}
- public GeneralDetailSection createGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
- GeneralDetailSection section = new GeneralDetailSection(this, conversation, parentElement, selectionProvider, style);
+ public FieldUnitGeneralDetailSection createFieldUnitGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+ FieldUnitGeneralDetailSection section = new FieldUnitGeneralDetailSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
+ public DerivedUnitGeneralDetailSection createDerivedUnitGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+ DerivedUnitGeneralDetailSection section = new DerivedUnitGeneralDetailSection(this, conversation, parentElement, selectionProvider, style);
addAndAdaptSection(parentElement, section);
return section;
}
return section;
}
+ public GatheringEventDetailSection createGatheringSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+ GatheringEventDetailSection section = new GatheringEventDetailSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
public NamedAreaDetailSection createNamedAreaDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
NamedAreaDetailSection section = new NamedAreaDetailSection(this, conversation, parentElement, selectionProvider, style);
return section;
}
- public DerivedUnitGeneralDetailSection createFOSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
- DerivedUnitGeneralDetailSection section = new DerivedUnitGeneralDetailSection(this, conversation, parentElement, selectionProvider, style);
- addAndAdaptSection(parentElement, section);
- return section;
- }
-
- public GatheringEventDetailSection createGatheringSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
- GatheringEventDetailSection section = new GatheringEventDetailSection(this, conversation, parentElement, selectionProvider, style);
- addAndAdaptSection(parentElement, section);
- return section;
- }
-
- public FieldUnitDetailSection createFODetailsSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
- FieldUnitDetailSection section = new FieldUnitDetailSection(this, conversation, parentElement, selectionProvider, style);
- addAndAdaptSection(parentElement, section);
- return section;
- }
-
private void addAndAdaptSection(ICdmFormElement parentElement, AbstractFormSection<?> section) {
- parentElement.addElement(section);
- adapt(section);
- }
+ parentElement.addElement(section);
+ adapt(section);
+ }
//--------DetailElements------------
}
- public GeneralDetailElement createGeneralDetailElement(ICdmFormElement parentElement){
- GeneralDetailElement element = new GeneralDetailElement(this, parentElement);
+ public FieldUnitGeneralDetailElement createFieldUnitGeneralDetailElement(ICdmFormElement parentElement){
+ FieldUnitGeneralDetailElement element = new FieldUnitGeneralDetailElement(this, parentElement);
+ addAndAdaptElement(parentElement, element);
+ return element;
+ }
+
+ public DerivedUnitGeneralDetailElement createDerivedUnitGeneralDetailElement(ICdmFormElement parentElement){
+ DerivedUnitGeneralDetailElement element = new DerivedUnitGeneralDetailElement(this, parentElement);
addAndAdaptElement(parentElement, element);
return element;
}
+
public GatheringEventDetailElement createGatheringEventDetailElement(ICdmFormElement parentElement) {
GatheringEventDetailElement element = new GatheringEventDetailElement(this, parentElement);
addAndAdaptElement(parentElement, element);
return element;
- }
+ }
- public FieldObservationDetailElement createFieldObservationDetailElement(ICdmFormElement parentElement) {
- FieldObservationDetailElement element = new FieldObservationDetailElement(this, parentElement);
+ public FieldUnitDetailElement createFieldUnitDetailElement(ICdmFormElement parentElement) {
+ FieldUnitDetailElement element = new FieldUnitDetailElement(this, parentElement);
addAndAdaptElement(parentElement, element);
return element;
- }
+ }
+
public DerivedUnitBaseDetailElement createDerivedUnitBaseDetailElement(ICdmFormElement parentElement) {
DerivedUnitBaseDetailElement element = new DerivedUnitBaseDetailElement(this, parentElement);
addAndAdaptElement(parentElement, element);
- return element;
- }
+ return element;
+ }
public DeterminationDetailElement createDeterminationDetailElement(ICdmFormElement parentElement) {
DeterminationDetailElement element = new DeterminationDetailElement(this, parentElement);
addAndAdaptElement(parentElement, element);
return element;
- }
+ }
- /**
- * @param parentElement
+ /**
+ * @param parentElement
* @param element
- */
+ */
private void addAndAdaptElement(ICdmFormElement parentElement, AbstractCdmDetailElement<?> element) {
adapt(element);
parentElement.addElement(element);
GroupsByUserDetailSection section = new GroupsByUserDetailSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
return section;
- }
+ }
public TaxonomicScopeSection createTaxonomicScopeSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
TaxonomicScopeSection section = new TaxonomicScopeSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
- return section;
- }
+ return section;
+ }
- /**
- * <p>
- * createEntityCollectionElement
- * </p>
- *
- * @param removeListener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- * @param style
- * a int.
- * @param parentElement
+ /**
+ * <p>
+ * createEntityCollectionElement
+ * </p>
+ *
+ * @param removeListener
+ * a {@link org.eclipse.swt.events.SelectionListener} object.
+ * @param style
+ * a int.
+ * @param parentElement
* a
* {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
- * object.
- * @param versionableEntity
- * a {@link eu.etaxonomy.cdm.model.common.IVersionableEntity}
- * object.
- * @param backgroundColor
- * a {@link org.eclipse.swt.graphics.Color} object.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement}
- * object.
- */
+ * object.
+ * @param versionableEntity
+ * a {@link eu.etaxonomy.cdm.model.common.IVersionableEntity}
+ * object.
+ * @param backgroundColor
+ * a {@link org.eclipse.swt.graphics.Color} object.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement}
+ * object.
+ */
public AbstractEntityCollectionElement createEntityCollectionElement(AbstractFormSection parentElement,
Object versionableEntity, SelectionListener removeListener, Color backgroundColor, int style) {
- AbstractEntityCollectionElement element = null;
+ AbstractEntityCollectionElement element = null;
- Object entity = HibernateProxyHelper.deproxy(versionableEntity);
+ Object entity = HibernateProxyHelper.deproxy(versionableEntity);
- if (entity instanceof Annotation) {
+ if (entity instanceof Annotation) {
element = new AnnotationElement(this, parentElement, (Annotation) entity, removeListener, style);
- } else if (entity instanceof Person) {
+ } else if (entity instanceof Person) {
element = new TeamMemberElement(this, parentElement, (Person) entity, removeListener, style);
- } else if (entity instanceof Credit) {
+ } else if (entity instanceof Credit) {
element = new CreditElement(this, parentElement, (Credit) entity, removeListener, style);
- } else if (entity instanceof Extension) {
+ } else if (entity instanceof Extension) {
element = new ExtensionElement(this, parentElement, (Extension) entity, removeListener, style);
- } else if (entity instanceof Marker) {
+ } else if (entity instanceof Marker) {
element = new MarkerElement(this, parentElement, (Marker) entity, removeListener, style);
- } else if (entity instanceof Media) {
+ } else if (entity instanceof Media) {
element = new MediaElement(this, parentElement, (Media) entity, removeListener, style);
- } else if (entity instanceof MediaRepresentation) {
+ } else if (entity instanceof MediaRepresentation) {
element = new MediaRepresentationElement(this, parentElement, (MediaRepresentation) entity, removeListener,
style);
- } else if (entity instanceof ImageFile) {
+ } else if (entity instanceof ImageFile) {
element = new ImageFileElement(this, parentElement, (ImageFile) entity, removeListener, style);
- } else if (entity instanceof MediaRepresentationPart){
+ } else if (entity instanceof MediaRepresentationPart) {
element = new MediaRepresentationPartElement(this, parentElement, (MediaRepresentationPart) entity,
removeListener, style);
- } else if (entity instanceof NomenclaturalStatus) {
+ } else if (entity instanceof NomenclaturalStatus) {
element = new NomenclaturalStatusElement(this, parentElement, (NomenclaturalStatus) entity, removeListener,
style);
- } else if (entity instanceof Rights) {
+ } else if (entity instanceof Rights) {
element = new RightsElement(this, parentElement, (Rights) entity, removeListener, style);
} else if (entity instanceof DescriptionElementSource) {
element = new DescriptionElementSourceElement(this, parentElement, (DescriptionElementSource) entity,
- removeListener, style);
- } else if (entity instanceof IdentifiableSource) {
+ removeListener, style);
+ } else if (entity instanceof IdentifiableSource) {
element = new IdentifiableSourceElement(this, parentElement, (IdentifiableSource) entity, removeListener,
style);
} else if (entity instanceof DefinedTerm) {
break;
}
- } else if (entity instanceof Reference) {
+ } else if (entity instanceof Reference) {
element = new DescriptionSourceElement(this, parentElement, (Reference) entity, removeListener, style);
- } else if (entity instanceof NameTypeDesignation) {
+ } else if (entity instanceof NameTypeDesignation) {
element = new NameTypeDesignationElement(this, parentElement, (NameTypeDesignation) entity, removeListener,
style);
- } else if (entity instanceof NameRelationship) {
+ } else if (entity instanceof NameRelationship) {
element = new NameRelationshipDetailElement(this, parentElement, (NameRelationship) entity, removeListener,
style);
- } else if (entity instanceof SpecimenTypeDesignation) {
+ } else if (entity instanceof SpecimenTypeDesignation) {
element = new SpecimenTypeDesignationElement(this, parentElement, (SpecimenTypeDesignation) entity,
removeListener, style);
- } else if (entity instanceof StateData) {
+ } else if (entity instanceof StateData) {
element = new StateDataElement(this, parentElement, (StateData) entity, removeListener, style);
- } else if (entity instanceof StatisticalMeasurementValue) {
+ } else if (entity instanceof StatisticalMeasurementValue) {
element = new StatisticalMeasurementValueElement(this, parentElement, (StatisticalMeasurementValue) entity,
- removeListener, style);
- } else if (entity instanceof DerivedUnit) {
- switch(((DerivedUnit)entity).getRecordBasis()) {
+ removeListener, style);
+ } else if (entity instanceof DerivedUnit) {
+ switch(((DerivedUnit)entity).getRecordBasis()) {
case LivingSpecimen:
case PreservedSpecimen:
case OtherSpecimen:
style);
}
- } else if (entity instanceof NamedArea) {
+ } else if (entity instanceof NamedArea) {
element = new NamedAreaDetailElement(this, parentElement, (NamedArea) entity, removeListener, style);
- } else if (entity instanceof DeterminationEvent) {
- element = new DeterminationEventDetailElement(this, parentElement, (DeterminationEvent) entity,
- removeListener, style);
- } else if (entity instanceof User) {
+ } else if (entity instanceof DeterminationEvent) {
+ element = new DeterminationEventDetailElement(this, parentElement, (DeterminationEvent) entity, removeListener, style);
+ } else if (entity instanceof User) {
element = new MemberDetailElement(this, parentElement, (User) entity, removeListener, style);
- } else if (entity instanceof GrantedAuthority) {
+ } else if (entity instanceof GrantedAuthority) {
element = new GrantedAuthorityCollectionElement(this, parentElement, (GrantedAuthorityImpl) entity,
removeListener, style);
- } else if (entity instanceof Group) {
+ } else if (entity instanceof Group) {
element = new GroupsByUserDetailElement(this, parentElement, (Group) entity, removeListener, style);
- } else if (entity instanceof Taxon) {
+ } else if (entity instanceof Taxon) {
element = new TaxonDetailElement(this, parentElement, (Taxon) entity, removeListener, style);
- } else if (entity instanceof DescriptionElementBase) {
- // this is the special case for protologs, maybe we can do this
- // differently when API improves
- DescriptionElementBase descriptionElement = (DescriptionElementBase) entity;
- if (descriptionElement.getFeature().equals(Feature.PROTOLOGUE())) {
+ } else if (entity instanceof DescriptionElementBase) {
+ // this is the special case for protologs, maybe we can do this
+ // differently when API improves
+ DescriptionElementBase descriptionElement = (DescriptionElementBase) entity;
+ if (descriptionElement.getFeature().equals(Feature.PROTOLOGUE())) {
element = new ProtologueElement(this, parentElement, descriptionElement, removeListener, style);
- }
- }
+ }
+ }
- if (element == null) {
+ if (element == null) {
AbstractUtility.errorDialog("No element for entity", this,
"Could not generate element for entity. Looks like the case is not handled already. Check implementation. Entity: "
- + entity, null);
-
- }
+ + entity, null);
+ }
else if (backgroundColor != null && !backgroundColor.isDisposed()) {
- element.setPersistentBackground(backgroundColor);
- }
+ element.setPersistentBackground(backgroundColor);
+ adapt(element);
+ parentElement.addElement(element);
+ }
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ return element;
+ }
- /**
- * <p>
- * Creates a selection element for the given type T.
- * </p>
- * <p>
- * <strong>Selection elements not handled by this method:</strong>
- * <ul>
+ public void createNamedAreaFieldController(AbstractFormSection parentElement, NamedArea namedArea, SelectionListener removeListener){
+// Object entity = HibernateProxyHelper.deproxy(versionableEntity); TODO deproxy necessary??
+ NamedAreaFieldController element = new NamedAreaFieldController(this, parentElement, namedArea, removeListener, SWT.NONE);
+ adapt(element);
+ parentElement.addElement(element);
+ }
+
+ /**
+ * <p>
+ * Creates a selection element for the given type T.
+ * </p>
+ * <p>
+ * <strong>Selection elements not handled by this method:</strong>
+ * <ul>
* <li>{@link TaxonNodeSelectionElement} see
* {@link #createTaxonNodeSelectionElement(ConversationHolder, ICdmFormElement, String, TaxonNode, int, int)}
* </li>
* <li>{@link NomenclaturalAuthorTeamSelectionElement} see
* {@link #createNomenclaturalAuthorTeamSelectionElement(ConversationHolder, ICdmFormElement, String, Team, int, int)}
* </li>
- * </ul>
- * </p>
- *
- * @param clazz
+ * </ul>
+ * </p>
+ *
+ * @param clazz
* a {@link Class} object of the type that you want the selection
* element to handle
- * @param parentElement
+ * @param parentElement
* a {@link ICdmFormElement} object.
- * @param labelString
- * a {@link String} object.
- * @param selectionType
- * @param selection
- * a {@link ICdmBase} object.
- * @param style
- * a int.
- * @param conversation
- * a {@link ConversationHolder} object.
+ * @param labelString
+ * a {@link String} object.
+ * @param selectionType
+ * @param selection
+ * a {@link ICdmBase} object.
+ * @param style
+ * a int.
+ * @param conversation
+ * a {@link ConversationHolder} object.
* @return a {@link EntitySelectionElement} object.
- */
+ */
public <T extends ICdmBase> EntitySelectionElement<T> createSelectionElement(Class<T> clazz,
ConversationHolder conversation, ICdmFormElement parentElement, String labelString, T selection, int mode,
int style) {
EntitySelectionElement<T> element = new EntitySelectionElement<T>(this, conversation, parentElement, clazz,
labelString, selection, mode, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
public TaxonNodeSelectionElement createTaxonNodeSelectionElement(ConversationHolder conversation,
ICdmFormElement parentElement, String labelString, TaxonNode selection, int mode, int style) {
TaxonNodeSelectionElement element = new TaxonNodeSelectionElement(this, conversation, parentElement,
labelString, selection, mode, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- public NomenclaturalAuthorTeamSelectionElement createNomenclaturalAuthorTeamSelectionElement(
+ public NomenclaturalAuthorTeamSelectionElement createNomenclaturalAuthorTeamSelectionElement(
ConversationHolder conversation, ICdmFormElement parentElement, String labelString, Team selection,
int mode, int style) {
NomenclaturalAuthorTeamSelectionElement element = new NomenclaturalAuthorTeamSelectionElement(this,
conversation, parentElement, labelString, selection, mode, style);
- adapt(element);
- parentElement.addElement(element);
- return element;
- }
-
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
- /** {@inheritDoc} */
- public LabelElement createLabel(ICdmFormElement parentElement, String text) {
- LabelElement labelElement = new LabelElement(this, parentElement, text);
- adapt(labelElement);
- parentElement.addElement(labelElement);
- return labelElement;
- }
+ /** {@inheritDoc} */
+ public LabelElement createLabel(ICdmFormElement parentElement, String text) {
+ LabelElement labelElement = new LabelElement(this, parentElement, text);
+ adapt(labelElement);
+ parentElement.addElement(labelElement);
+ return labelElement;
+ }
- /**
- * <p>
- * Getter for the field <code>selectionProvider</code>.
- * </p>
- *
- * @return a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
- */
- public ISelectionProvider getSelectionProvider() {
- return selectionProvider;
- }
+ /**
+ * <p>
+ * Getter for the field <code>selectionProvider</code>.
+ * </p>
+ *
+ * @return a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
+ */
+ public ISelectionProvider getSelectionProvider() {
+ return selectionProvider;
+ }
- /**
- * <p>
- * createDetailedDescriptionDetailElement
- * </p>
- *
- * @param parentElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
- * @param entity
- * a
- * {@link eu.etaxonomy.cdm.model.description.DescriptionElementBase}
- * object.
- * @param style
- * a int.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement}
- * object.
- */
- public AbstractDetailedDescriptionDetailElement createDetailedDescriptionDetailElement(
+ /**
+ * <p>
+ * createDetailedDescriptionDetailElement
+ * </p>
+ *
+ * @param parentElement
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
+ * object.
+ * @param entity
+ * a
+ * {@link eu.etaxonomy.cdm.model.description.DescriptionElementBase}
+ * object.
+ * @param style
+ * a int.
+ * @return a
+ * {@link eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement}
+ * object.
+ */
+ public AbstractDetailedDescriptionDetailElement createDetailedDescriptionDetailElement(
ICdmFormElement parentElement, DescriptionElementBase entity, int style) {
- AbstractDetailedDescriptionDetailElement detailedDescriptionElement = null;
+ AbstractDetailedDescriptionDetailElement detailedDescriptionElement = null;
- if (entity instanceof CategoricalData) {
+ if (entity instanceof CategoricalData) {
detailedDescriptionElement = new CategoricalDataDetailElement(this, parentElement,
(CategoricalData) entity, style);
- } else if (entity instanceof CommonTaxonName) {
+ } else if (entity instanceof CommonTaxonName) {
detailedDescriptionElement = new CommonNameDetailElement(this, parentElement, (CommonTaxonName) entity,
style);
- } else if (entity instanceof Distribution) {
+ } else if (entity instanceof Distribution) {
detailedDescriptionElement = new DistributionDetailElement(this, parentElement, (Distribution) entity,
style);
- } else if (entity instanceof IndividualsAssociation) {
+ } else if (entity instanceof IndividualsAssociation) {
detailedDescriptionElement = new IndividualsAssociationDetailElement(this, parentElement,
(IndividualsAssociation) entity, style);
- } else if (entity instanceof QuantitativeData) {
+ } else if (entity instanceof QuantitativeData) {
detailedDescriptionElement = new QuantitativeDataDetailElement(this, parentElement,
(QuantitativeData) entity, style);
- } else if (entity instanceof TaxonInteraction) {
+ } else if (entity instanceof TaxonInteraction) {
detailedDescriptionElement = new TaxonInteractionDetailElement(this, parentElement,
(TaxonInteraction) entity, style);
- } else if (entity instanceof TextData) {
+ } else if (entity instanceof TextData) {
detailedDescriptionElement = new TextDataDetailElement(this, parentElement, (TextData) entity, style);
- } else {
+ } else {
throw new IllegalStateException("There is no interface for the given description element");
- }
- adapt(detailedDescriptionElement);
- parentElement.addElement(detailedDescriptionElement);
- return detailedDescriptionElement;
+ }
+ adapt(detailedDescriptionElement);
+ parentElement.addElement(detailedDescriptionElement);
+ return detailedDescriptionElement;
- }
+ }
- /**
- * Creates a styled text as a part of the form.
- *
- * @param parent
- * the text parent
- * @param value
- * the text initial value
- * @param style
- * the text style
- * @return the text widget
- */
- public StyledText createStyledText(Composite parent, String value, int style) {
+ /**
+ * Creates a styled text as a part of the form.
+ *
+ * @param parent
+ * the text parent
+ * @param value
+ * the text initial value
+ * @param style
+ * the text style
+ * @return the text widget
+ */
+ public StyledText createStyledText(Composite parent, String value, int style) {
StyledText text = new StyledText(parent, getBorderStyle() | style | getOrientation());
if (value != null) {
- text.setText(value);
+ text.setText(value);
}
- text.setForeground(getColors().getForeground());
- text.setBackground(getColors().getBackground());
- // text.addFocusListener(visibilityHandler);
- return text;
- }
+ text.setForeground(getColors().getForeground());
+ text.setBackground(getColors().getBackground());
+ // text.addFocusListener(visibilityHandler);
+ return text;
+ }
+
+
+
+ /**
+ * @param conversationHolder
+ * @param parent
+ * @param detailsViewer
+ * @param i
+ * @return
+ */
+ public FieldObservationGeneralSection createFieldObservationGeneralSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+ FieldObservationGeneralSection section = new FieldObservationGeneralSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+ /**
+ * @param conversationHolder
+ * @param parent
+ * @param detailsViewer
+ * @param i
+ * @return
+ */
+ public GatheringEventSection createGatheringEventSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+ GatheringEventSection section = new GatheringEventSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+ /**
+ * @param conversationHolder
+ * @param parent
+ * @param detailsViewer
+ * @param i
+ * @return
+ */
+ public FieldObservationDetailsSection createFieldObservationDetailsSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+ FieldObservationDetailsSection section = new FieldObservationDetailsSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
+ public SpecimenGeneralSection createSpecimenSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+ SpecimenGeneralSection section = new SpecimenGeneralSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
+ public SpecimenDetailsSection createSpecimenDetailsSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+ SpecimenDetailsSection section = new SpecimenDetailsSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
+ public DerivedUnitDetailsSection createDerivedUnitDetailsSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+ DerivedUnitDetailsSection section = new DerivedUnitDetailsSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
+ public FieldObservationGeneralElementController createSpecimenGeneralElementController(ICdmFormElement parentElement){
+ return createFieldObservationGeneralElementController_internal(parentElement, true, false);
+ }
+
+ public SpecimenDetailsElementController createSpecimenDetailsElementController(ICdmFormElement parentElement){
+ SpecimenDetailsElement element = new SpecimenDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
+ element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+ SpecimenDetailsElementController controller = new SpecimenDetailsElementController(element, this, parentElement);
+ addAndAdaptElement(parentElement, controller);
+ return controller;
+ }
+
+ public DerivedUnitDetailsElementController createDerivedUnitDetailsElementController(ICdmFormElement parentElement){
+ DerivedUnitDetailsElement element = new DerivedUnitDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
+ element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+ DerivedUnitDetailsElementController controller = new DerivedUnitDetailsElementController(element, this, parentElement);
+ addAndAdaptElement(parentElement, controller);
+ return controller;
+ }
+
+ public FieldObservationGeneralElementController createSpecimenGeneralElementControllerWizard(ICdmFormElement parentElement){
+ return createFieldObservationGeneralElementController_internal(parentElement, true, true);
+ }
+ public FieldObservationGeneralElementController createFieldObservationGeneralElementControllerWizard(ICdmFormElement parentElement){
+ return createFieldObservationGeneralElementController_internal(parentElement, false, true);
+ }
+ public FieldObservationGeneralElementController createFieldObservationGeneralElementController(ICdmFormElement parentElement){
+ return createFieldObservationGeneralElementController_internal(parentElement, false, false);
+ }
+ private FieldObservationGeneralElementController createFieldObservationGeneralElementController_internal(ICdmFormElement parentElement, boolean isSpecimen, boolean isWizard){
+ FieldObservationGeneralElement element = new FieldObservationGeneralElement(parentElement.getLayoutComposite(), SWT.NONE);
+ element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+ FieldObservationGeneralElementController controller = new FieldObservationGeneralElementController(element, this, parentElement, isSpecimen, isWizard);
+ addAndAdaptElement(parentElement, controller);
+ return controller;
+ }
+ public GatheringEventDetailsElementController createGatheringEventDetailsElementController(ICdmFormElement parentElement) {
+ GatheringEventDetailsElement element = new GatheringEventDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
+ element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+ GatheringEventDetailsElementController controller = new GatheringEventDetailsElementController(element, this, parentElement);
+ adapt(controller);
+ parentElement.addElement(controller);
+ return controller;
+ }
+ public FieldObservationDetailsElementController createFieldObservationDetailsElementController(ICdmFormElement parentElement) {
+ FieldObservationDetailsElement element = new FieldObservationDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
+ element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
+ FieldObservationDetailsElementController controller = new FieldObservationDetailsElementController(element, this, parentElement);
+ addAndAdaptElement(parentElement, controller);
+ return controller;
+ }
}
import org.eclipse.jface.util.PropertyChangeEvent;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
/**
* <p>
this.unitType = unitType;
getLayoutComposite().setLayout(LayoutConstants.LAYOUT(2, false));
- text_minVal = formFactory.createNumberTextWithLabelElement(this,
- "Min : ", getMinimum(), style);
-
- text_maxVal = formFactory.createNumberTextWithLabelElement(this,
- "Max : ", getMaximum(), style);
-
+ switch(unitType) {
+ case ELEVATION:
+ text_minVal = formFactory.createNumberTextWithLabelElement(this, "Min [m] : ", getMinimum(), style);
+ text_maxVal = formFactory.createNumberTextWithLabelElement(this, "Max [m] : ", getMaximum(), style);
+ break;
+ default:
+ text_minVal = formFactory.createNumberTextWithLabelElement(this, "Min [m] : ", getMinimum(), style);
+ text_maxVal = formFactory.createNumberTextWithLabelElement(this, "Max [m] : ", getMaximum(), style);
+ break;
+ }
text_freeText = formFactory.createTextWithLabelElement(this,
"Freetext : ", getFreetext(), style);
-
formFactory.addPropertyChangeListener(this);
}
private void updateMinimum() {
switch(unitType) {
case ELEVATION:
- getEntity().setAbsoluteElevation(text_minVal.getInteger());
+ getEntity().setAbsoluteElevation(text_minVal.getDouble().intValue());
break;
case DIST_TO_GROUND:
getEntity().setDistanceToGround(text_minVal.getDouble());
private void updateMaximum() {
switch(unitType) {
case ELEVATION:
- getEntity().setAbsoluteElevationMax(text_maxVal.getInteger());
+ getEntity().setAbsoluteElevationMax(text_maxVal.getDouble().intValue());
break;
case DIST_TO_GROUND:
getEntity().setDistanceToGroundMax(text_maxVal.getDouble());
// $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.element;
+ import org.apache.commons.lang.StringUtils;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.widgets.Display;
- import eu.etaxonomy.cdm.common.CdmUtils;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
-
/**
* <p>NumberWithLabelElement class.</p>
*
private Float start;
private Float end;
-
+
private NumberFormatException exception;
/**
super(toolkit, parentElement, labelString, null, null, style);
setNumber(initialNumber);
}
-
-
+
+
/**
* <p>setNumber</p>
*
public void setNumber(Number number) {
super.setText(getStringRepresentation(number));
}
-
+
/**
* <p>getInteger</p>
*
String text = super.getText().trim();
return text.equals("") ? 0 : new Integer(text);
}
-
+
/**
* <p>getFloat</p>
*
String text = super.getText();
return new Float(text);
}
-
+
/**
* <p>getDouble</p>
*
private String getStringRepresentation(Object number){
if(number != null){
return number.toString();
- }
+ }
return null;
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
*/
@Override
public void modifyText(ModifyEvent event) {
String value = text.getText();
- if(CdmUtils.isEmpty(value)){
+ if(StringUtils.isBlank(value)){
text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
return;
}
-
+
try{
-
+
Float number = Float.parseFloat(value);
-
+
if((start != null && number < start) || (end != null && number > end)){
throw new NumberFormatException("You entered a number that is not within the allowed bounds.");
}
-
+
}catch(NumberFormatException e){
text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
exception = e;
return;
}
-
+
exception = null;
text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
-
+
super.modifyText(event);
}
-
+
/**
* <p>setLimits</p>
*
public void setLimits(int numberOfDigits, Integer start, Integer end){
setLimits(numberOfDigits, start.floatValue(), end.floatValue());
}
-
+
/**
* <p>setLimits</p>
*
this.start = start;
this.end = end;
}
-
+
/**
* <p>Getter for the field <code>exception</code>.</p>
*
// $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.
*/
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+ import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.preference.Resources;
import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
/**
* When the button is pressed, this textfield may be edited.
*/
public class ToggleableTextElement extends AbstractCdmFormElement implements SelectionListener, ModifyListener, IEnableableFormElement, ISelectable {
- private Text text_cache;
- private Button button_toggle;
-
+ private final Text text_cache;
+ private final Button button_toggle;
+
private boolean state;
- private Set<SelectionListener> selectionListener = new HashSet<SelectionListener>();
- private Label label;
- private Composite container;
-
+ private final Set<SelectionListener> selectionListener = new HashSet<SelectionListener>();
+ private final Label label;
+ private final Composite container;
+
/**
* <p>Constructor for ToggleableTextElement.</p>
*
protected ToggleableTextElement(CdmFormFactory formFactory, ICdmFormElement parentElement,
String labelString, String initialText, boolean initialState, int style) {
super(formFactory, parentElement);
-
+
label = formFactory.createLabel(getLayoutComposite(), labelString, style);
addControl(label);
-
- container = formFactory.createComposite(getLayoutComposite(), SWT.WRAP);
+
+ container = formFactory.createComposite(getLayoutComposite(), SWT.WRAP);
container.setLayout(LayoutConstants.LAYOUT(2, false));
container.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
addControl(container);
-
+
text_cache = formFactory.createText(container, initialText, SWT.WRAP | SWT.MULTI);
addControl(text_cache);
text_cache.addModifyListener(this);
text_cache.addKeyListener( new KeyAdapter(){
@Override
public void keyPressed(KeyEvent e) {
- if(e.character == SWT.CR)
- e.doit = false;
+ if(e.character == SWT.CR) {
+ e.doit = false;
+ }
}
});
-
+
button_toggle = formFactory.createButton(container, "Edit", SWT.TOGGLE);
+ button_toggle.setText("");
+ button_toggle.setImage(ImageResources.getImage(ImageResources.LOCK_ICON));
addControl(button_toggle);
button_toggle.addSelectionListener(this);
-
+
setState(initialState);
}
if(text != null){
// store current caret position
int caretPosition = text_cache.getCaretPosition();
-
+
text_cache.removeModifyListener(this);
text_cache.setText(text);
text_cache.addModifyListener(this);
public String getText(){
return text_cache.getText();
}
-
+
/**
* <p>Setter for the field <code>state</code>.</p>
*
* @param state a boolean.
*/
public void setState(boolean state) {
+ if(state){
+ button_toggle.setImage(ImageResources.getImage(ImageResources.LOCK_OPEN_ICON));
+ }
+ else{
+ button_toggle.setImage(ImageResources.getImage(ImageResources.LOCK_ICON));
+ }
this.state = state;
setEnabled(state);
}
-
+
/** {@inheritDoc} */
- public void setEnabled(boolean enabled) {
+ @Override
+ public void setEnabled(boolean enabled) {
text_cache.setEnabled(enabled);
String symbolicName = enabled ? Resources.COLOR_FONT_DEFAULT : Resources.COLOR_TEXT_DISABLED;
text_cache.setForeground(StoreUtil.getColor(symbolicName));
public boolean getState(){
return state;
}
-
+
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
/** {@inheritDoc} */
- public void widgetSelected(SelectionEvent e) {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
setState(button_toggle.getSelection());
for(SelectionListener listener : selectionListener){
listener.widgetSelected(e);
}
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
-
+
/**
* <p>addSelectionListener</p>
*
public void addSelectionListener(SelectionListener listener){
selectionListener.add(listener);
}
-
+
/**
* <p>removeSelectionListener</p>
*
public void removeSelectionListener(SelectionListener listener){
selectionListener.remove(listener);
}
-
+
/** {@inheritDoc} */
- public void widgetDefaultSelected(SelectionEvent e) {}
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {}
/** {@inheritDoc} */
- public void modifyText(ModifyEvent e) {
+ @Override
+ public void modifyText(ModifyEvent e) {
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
/** {@inheritDoc} */
- public void setIrrelevant(boolean irrelevant) {
+ @Override
+ public void setIrrelevant(boolean irrelevant) {
String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT : Resources.COLOR_COMPOSITE_BACKGROUND;
-
+
Color color = getColor(colorId);
text_cache.setBackground(color);
}
-
+
/** {@inheritDoc} */
@Override
public void setBackground(Color color) {
label.setBackground(color);
container.setBackground(color);
}
-
+
@Override
public void setSelected(boolean selected) {
setBackground(selected ? SELECTED : getPersistentBackground());
*/
package eu.etaxonomy.taxeditor.ui.group.grantedauthority;
--import org.eclipse.swt.widgets.Composite;
--import org.eclipse.swt.widgets.Button;
--import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.SWT;
++import org.eclipse.swt.events.MouseAdapter;
++import org.eclipse.swt.events.MouseEvent;
++import org.eclipse.swt.events.MouseTrackAdapter;
import org.eclipse.swt.layout.RowLayout;
++import org.eclipse.swt.widgets.Button;
++import org.eclipse.swt.widgets.Composite;
++import org.eclipse.swt.widgets.Display;
import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmAuthority;
import eu.etaxonomy.cdm.persistence.hibernate.permission.Operation;
--import org.eclipse.swt.events.MouseAdapter;
--import org.eclipse.swt.events.MouseEvent;
--import org.eclipse.swt.events.MouseTrackAdapter;
--
/**
* Widget for editing {@link Operation} objects, consisting of 4 checkboxes for CREATE, UPDATE, READ, DELETE operations.
cdmAuthority.getOperation().remove(CRUD.CREATE);
}
if(viewer != null) {
- viewer.updateGrantedAuthority(grantedAuthorityI, cdmAuthority);
+ grantedAuthorityI = viewer.updateGrantedAuthority(grantedAuthorityI, cdmAuthority);
parent.setDirty(true);
}
cdmAuthority.getOperation().remove(CRUD.READ);
}
if(viewer != null) {
- viewer.updateGrantedAuthority(grantedAuthorityI, cdmAuthority);
+ grantedAuthorityI = viewer.updateGrantedAuthority(grantedAuthorityI, cdmAuthority);
parent.setDirty(true);
}
cdmAuthority.getOperation().remove(CRUD.DELETE);
}
if(viewer != null) {
- viewer.updateGrantedAuthority(grantedAuthorityI, cdmAuthority);
+ grantedAuthorityI = viewer.updateGrantedAuthority(grantedAuthorityI, cdmAuthority);
parent.setDirty(true);
}
cdmAuthority.getOperation().remove(CRUD.UPDATE);
}
if(viewer != null) {
- viewer.updateGrantedAuthority(grantedAuthorityI, cdmAuthority);
+ grantedAuthorityI = viewer.updateGrantedAuthority(grantedAuthorityI, cdmAuthority);
parent.setDirty(true);
}
import org.eclipse.nebula.widgets.compositetable.CompositeTable;
import org.eclipse.nebula.widgets.compositetable.IRowContentProvider;
--
++import org.eclipse.swt.SWT;
++import org.eclipse.swt.dnd.DND;
++import org.eclipse.swt.dnd.DropTarget;
++import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
++import org.eclipse.swt.layout.GridData;
++import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
++import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
++import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.forms.widgets.FormToolkit;
--import org.eclipse.swt.SWT;
--import org.eclipse.swt.widgets.Control;
import eu.etaxonomy.taxeditor.dnd.CdmAuthorityTableDropTargetListener;
import eu.etaxonomy.taxeditor.dnd.transfer.TaxonNodeTransfer;
--import org.eclipse.swt.dnd.DropTarget;
--import org.eclipse.swt.dnd.DND;
--import org.eclipse.swt.dnd.Transfer;
--import org.eclipse.swt.layout.GridLayout;
--import org.eclipse.swt.widgets.Label;
--import org.eclipse.swt.layout.GridData;
--
/**
* Composite class which consists of a {@link CompositeTable} built specifically
* for creating / editing CDM Authority objects
import org.springframework.security.core.GrantedAuthority;
import eu.etaxonomy.cdm.model.common.CdmBase;
--import eu.etaxonomy.cdm.model.common.Group;
--import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
--import eu.etaxonomy.taxeditor.store.StoreUtil;
import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
++import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmAuthority;
++import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
++import eu.etaxonomy.taxeditor.store.StoreUtil;
* @param grantedAuthorityI to update.
* @param cdmAuthority to use in updating the granted authority object.
*/
- public void updateGrantedAuthority(GrantedAuthorityImpl grantedAuthorityI, CdmAuthority cdmAuthority) {
+ public GrantedAuthorityImpl updateGrantedAuthority(GrantedAuthorityImpl grantedAuthorityI, CdmAuthority cdmAuthority) {
if(grantedAuthorityI.getAuthority().equals(cdmAuthority.getAuthority())) {
} else {
// we can't really 'update' the granted authority.
// so we first add the new authority (hope no exception) is thrown
// and then remove the old one.
- group.addGrantedAuthority(cdmAuthority.asNewGrantedAuthority());
+ GrantedAuthorityImpl gai = cdmAuthority.asNewGrantedAuthority();
+ group.addGrantedAuthority(gai);
group.removeGrantedAuthority(grantedAuthorityI);
- dirtyMarkerEditor.changed(grantedAuthorityI);
+ dirtyMarkerEditor.changed(grantedAuthorityI);
+ return gai;
} catch(Exception e) {
// Not a CDM Authority
//e.printStackTrace();
}
- }
+ }
+ return grantedAuthorityI;
}
/**
*/
package eu.etaxonomy.taxeditor.ui.group.grantedauthority;
++import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
++import org.eclipse.swt.events.MouseAdapter;
++import org.eclipse.swt.events.MouseEvent;
++import org.eclipse.swt.layout.GridData;
++import org.eclipse.swt.layout.GridLayout;
++import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
--import org.eclipse.ui.forms.widgets.FormToolkit;
--import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Label;
--import org.eclipse.swt.SWT;
--
--import org.eclipse.swt.widgets.Button;
--import org.eclipse.swt.layout.GridData;
++import org.eclipse.ui.forms.widgets.FormToolkit;
import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CdmAuthority;
import eu.etaxonomy.taxeditor.model.ImageResources;
--import org.eclipse.swt.events.MouseAdapter;
--import org.eclipse.swt.events.MouseEvent;
--
/**
* Row widget for editing a single CDM Authority
*/
package eu.etaxonomy.taxeditor.ui.group.grantedauthority;
++import org.eclipse.swt.SWT;
++import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
++import org.eclipse.swt.layout.GridData;
++import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
--import org.eclipse.ui.forms.widgets.FormToolkit;
--import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Label;
--import org.eclipse.swt.SWT;
--import org.eclipse.swt.layout.GridData;
--import org.eclipse.swt.custom.CLabel;
++import org.eclipse.ui.forms.widgets.FormToolkit;
/**
* Table header widget for {@link CdmAuthorityComposite}
/**
- *
+ *
*/
package eu.etaxonomy.taxeditor.ui.section;
import java.util.Arrays;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
/**
*
*/
public abstract class AbstractIdentifiableEntityDetailElement<T extends IIdentifiableEntity> extends
- AbstractCdmDetailElement<T> {
-
- protected ToggleableTextElement toggleable_cache;
-
- public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement) {
- super(formFactory, formElement);
- }
-
- public void updateToggleableCacheField(){
- if(! getEntity().isProtectedTitleCache()){
- toggleable_cache.setText(getEntity().generateTitle());
- }
- }
-
- protected void handleToggleableCacheField(){
- boolean pushedState = toggleable_cache.getState();
-
- getEntity().setTitleCache(toggleable_cache.getText(),
- pushedState);
- setIrrelevant(pushedState,
- Arrays.asList(new Object[] { toggleable_cache }));
- updateToggleableCacheField();
- }
+ AbstractCdmDetailElement<T> {
+
+ protected ToggleableTextElement toggleable_cache;
+
+ public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ public void updateToggleableCacheField() {
+ if (!getEntity().isProtectedTitleCache()) {
+ toggleable_cache.setText(getEntity().generateTitle());
+ }
+ }
+
+ protected void handleToggleableCacheField() {
+ boolean pushedState = toggleable_cache.getState();
+
+ getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
+ setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache }));
+ updateToggleableCacheField();
+ }
}
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
}
else if(eventSource == selection_featureTree){
FeatureTree featureTree = selection_featureTree.getSelection();
- //FIXME:3.3MC----
- //getEntity().setDescriptiveSystem(featureTree.getDistinctFeatures());
- //FIXME:3.3MC----
+ //descriptive system is not available anymore since v3.3
+ // getEntity().setDescriptiveSystem(featureTree.getDistinctFeatures());
}
}
}
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.KeyStatementElement;
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
selection_feature = formFactory
.createSelectionElement(Feature.class,
- getConversationHolder(), formElement, "Feature",
+ getConversationHolder(), formElement, "Character",
parent.getFeature(),
EntitySelectionElement.EDITABLE | EntitySelectionElement.DELETABLE, style);
}
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException;
+ import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+ import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+ import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
private TextWithLabelElement text_exsicatum;
- //FIXME:3.3MC----
- // private TermComboElement<PreservationMethod> combo_preservationMethod;
- //FIXME:3.3MC----
+ private TermComboElement<DefinedTerm> combo_preservationMethod;
private SpecimenCollectionDetailSection section_duplicates;
text_barcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style);
text_catalogNumber = formFactory.createTextWithLabelElement(formElement, "Catalog Number", entity.getCatalogNumber(), style);
- //FIXME:3.3MC----
- // try {
- // combo_preservationMethod = formFactory.createTermComboElement(PreservationMethod.class, formElement, "Preservation Method", entity.getPreservationMethod(), style);
- // } catch (MethodNotSupportedByDerivedUnitTypeException e) {
- // // we ignore this
- // AbstractUtility.info(e.getMessage());
- // }
- //FIXME:3.3MC----
+
+ try {
+ PreservationMethod preservationMethod = entity.getPreservationMethod();
+ combo_preservationMethod = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Preservation Method", preservationMethod==null?null:preservationMethod.getDefinedMaterialOrMethod(), style);
+ } catch (MethodNotSupportedByDerivedUnitTypeException e) {
+ // we ignore this
+ AbstractUtility.info(e.getMessage());
+ }
selection_storedUnder = formFactory.createSelectionElement(TaxonNameBase.class, getConversationHolder(), formElement, "Stored Under", entity.getStoredUnder(), EntitySelectionElement.ALL, style);
try {
section_source.setEntity(entity);
}
- /** {@inheritDoc} */
- @Override
- public void handleEvent(Object eventSource) {
- if (eventSource == text_derivedUnitDefinitions) {
- getEntity().addDerivedUnitDefinition(
- text_derivedUnitDefinitions.getText(),
- CdmStore.getDefaultLanguage());
- } else if (eventSource == text_barcode) {
- getEntity().setBarcode(text_barcode.getText());
- } else if (eventSource == text_catalogNumber) {
- getEntity().setCatalogNumber(text_catalogNumber.getText());
- //FIXME:3.3MC----
- // } else if (eventSource == combo_preservationMethod) {
- // try {
- // getEntity().setPreservationMethod(
- // combo_preservationMethod.getSelection());
- // } catch (MethodNotSupportedByDerivedUnitTypeException e) {
- // AbstractUtility
- // .errorDialog(
- // "MethodNotSupportedByDerivedUnitTypeException",
- // this,
- // "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit",
- // e);
- // }
- //FIXME:3.3MC----
- } else if (eventSource == selection_storedUnder) {
- getEntity().setStoredUnder(selection_storedUnder.getEntity());
- } else if (eventSource == text_exsicatum) {
- try {
- getEntity().setExsiccatum(text_exsicatum.getText());
- } catch (Exception e) {
- AbstractUtility.error(this.getClass(), e);
- }
- }
- }
+ /** {@inheritDoc} */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if (eventSource == text_derivedUnitDefinitions) {
+ getEntity().addDerivedUnitDefinition(text_derivedUnitDefinitions.getText(), CdmStore.getDefaultLanguage());
+ } else if (eventSource == text_barcode) {
+ getEntity().setBarcode(text_barcode.getText());
+ } else if (eventSource == text_catalogNumber) {
+ getEntity().setCatalogNumber(text_catalogNumber.getText());
+ } else if (eventSource == combo_preservationMethod) {
+ try {
+ PreservationMethod preservationMethod = getEntity().getPreservationMethod();
+ if(preservationMethod!=null){
+ preservationMethod.setDefinedMaterialOrMethod(combo_preservationMethod.getSelection());
+ }
+ } catch (MethodNotSupportedByDerivedUnitTypeException e) {
+ AbstractUtility
+ .errorDialog(
+ "MethodNotSupportedByDerivedUnitTypeException",
+ this,
+ "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit",
+ e);
+ }
+ } else if (eventSource == selection_storedUnder) {
+ getEntity().setStoredUnder(selection_storedUnder.getEntity());
+ } else if (eventSource == text_exsicatum) {
+ try {
+ getEntity().setExsiccatum(text_exsicatum.getText());
+ } catch (Exception e) {
+ AbstractUtility.error(this.getClass(), e);
+ }
+ }
+ }
}
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
private final DerivedUnitFacadeConfigurator configurator;
- private GeneralDetailSection section_general;
+ private DerivedUnitGeneralDetailSection section_general;
private GatheringEventDetailSection section_gatheringEvent;
private DerivedUnitBaseDetailSection section_derivedUnitBase;
- private FieldObservationDetailSection section_fieldObservation;
+ private FieldUnitDetailSection section_fieldUnit;
/**
* <p>Constructor for DerivedUnitFacadeDetailElement.</p>
section_general.setEntity(facade);
section_derivedUnitBase.setEntity(facade);
section_gatheringEvent.setEntity(facade);
- section_fieldObservation.setEntity(facade);
+ section_fieldUnit.setEntity(facade);
} catch (DerivedUnitFacadeNotSupportedException e) {
AbstractUtility.errorDialog("Error", this, "SpecimenFacadeNotSupportedException while inititating SpecimenFacade", e);
section_gatheringEvent.dispose();
section_gatheringEvent = null;
}
- if(section_fieldObservation != null){
- removeControl(section_fieldObservation);
- section_fieldObservation.dispose();
- section_fieldObservation = null;
+ if(section_fieldUnit != null){
+ removeControl(section_fieldUnit);
+ section_fieldUnit.dispose();
+ section_fieldUnit = null;
}
}
protected void createControls(ICdmFormElement formElement,
DerivedUnit entity, int style) {
- section_general = formFactory.createGeneralDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+ section_general = formFactory.createDerivedUnitGeneralDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
section_general.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
addControl(section_general);
addElement(section_general);
addControl(section_gatheringEvent);
addElement(section_gatheringEvent);
- section_fieldObservation = formFactory.createFieldObservationDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
- section_fieldObservation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- addControl(section_fieldObservation);
- addElement(section_fieldObservation);
+ section_fieldUnit = formFactory.createFieldUnitDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
+ section_fieldUnit.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ addControl(section_fieldUnit);
+ addElement(section_fieldUnit);
section_derivedUnitBase = formFactory.createDerivedUnitBaseDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
section_derivedUnitBase.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
/** {@inheritDoc} */
@Override
public void handleEvent(Object eventSource) {
- if(eventSource == section_derivedUnitBase || eventSource == section_gatheringEvent || eventSource == section_fieldObservation){
+ if(eventSource == section_derivedUnitBase || eventSource == section_gatheringEvent || eventSource == section_fieldUnit){
if(getParentElement() instanceof AbstractCdmDetailSection) {
((AbstractCdmDetailSection) getParentElement()).updateTitle();
}
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.GatheringEventUnitElement;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.PointElement;
import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
-import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection;
/**
* @author n.hoffmann
* @created Dec 16, 2010
* @version 1.0
*/
- public class GeneralDetailElement extends
+ public class DerivedUnitGeneralDetailElement extends
AbstractCdmDetailElement<DerivedUnitFacade> {
private ToggleableTextElement toggleableText_titleCache;
private TextWithLabelElement text_collectingNumber;
private EntitySelectionElement<Collection> selection_collection;
private TextWithLabelElement text_accessionNumber;
+
/**
* @param formFactory
* @param formElement
*/
- public GeneralDetailElement(CdmFormFactory formFactory,
+ public DerivedUnitGeneralDetailElement(CdmFormFactory formFactory,
ICdmFormElement formElement) {
super(formFactory, formElement);
}
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
* @created Dec 16, 2010
* @version 1.0
*/
- public class GeneralDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection{
+ public class DerivedUnitGeneralDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection{
/**
* @param formFactory
* @param selectionProvider
* @param style
*/
- public GeneralDetailSection(CdmFormFactory formFactory,
+ public DerivedUnitGeneralDetailSection(CdmFormFactory formFactory,
ConversationHolder conversation, ICdmFormElement parentElement,
ISelectionProvider selectionProvider, int style) {
super(formFactory, conversation, parentElement, selectionProvider, style);
*/
@Override
protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
- return formFactory.createGeneralDetailElement(parentElement);
+ return formFactory.createDerivedUnitGeneralDetailElement(parentElement);
}
}
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
+ import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
/**
- * <p>FieldObservationDetailElement class.</p>
+ * <p>FieldUnitDetailElement class.</p>
*
* @author n.hoffmann
* @created Jun 17, 2010
* @version 1.0
*/
- public class FieldObservationDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
+ public class FieldUnitDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
private TextWithLabelElement text_ecology;
private NumberWithLabelElement number_individualCount;
- private TermComboElement<DefinedTerm> combo_sex;
+ private TermComboElement<DefinedTerm> combo_kindOfUnit;
private TermComboElement<DefinedTerm> combo_lifeStage;
+ private TermComboElement<DefinedTerm> combo_sex;
+
/**
- * <p>Constructor for FieldObservationDetailElement.</p>
+ * <p>Constructor for FieldUnitDetailElement.</p>
*
* @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
* @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
*/
- public FieldObservationDetailElement(CdmFormFactory formFactory,
+ public FieldUnitDetailElement(CdmFormFactory formFactory,
ICdmFormElement formElement) {
super(formFactory, formElement);
}
text_fieldNotes = formFactory.createTextWithLabelElement(formElement, "Field Notes", entity.getFieldNotes(), style);
number_individualCount = formFactory.createNumberTextWithLabelElement(formElement, "Individual Count", entity.getIndividualCount(), style);
- //FIXME:3.3MC----
- // Need to make sure that the hard coded terms in DefinedTerm have a term type (currently null)
- //combo_lifeStage = formFactory.createDefinedTermComboElement(TermType.Stage, formElement, "Life Stage", entity.getLifeStage(), style);
- //combo_sex = formFactory.createDefinedTermComboElement(TermType.Sex, formElement, "Sex", entity.getSex(),style);
- //FIXME:3.3MC----
+ combo_kindOfUnit= formFactory.createDefinedTermComboElement(TermType.KindOfUnit, formElement, "Kind Of Unit", entity.getKindOfUnit(), style);
+ combo_lifeStage = formFactory.createDefinedTermComboElement(TermType.Stage, formElement, "Life Stage", entity.getLifeStage(), style);
+ combo_sex = formFactory.createDefinedTermComboElement(TermType.Sex, formElement, "Sex", entity.getSex(),style);
}
/** {@inheritDoc} */
else if(eventSource == number_individualCount){
getEntity().setIndividualCount(number_individualCount.getInteger());
}
+ else if(eventSource == combo_kindOfUnit){
+ getEntity().setKindOfUnit(combo_kindOfUnit.getSelection());
+ }
else if(eventSource == combo_lifeStage){
getEntity().setLifeStage(combo_lifeStage.getSelection());
}
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
/**
- * <p>FieldObservationDetailSection class.</p>
+ * <p>FieldUnitDetailSection class.</p>
*
* @author n.hoffmann
* @created Jun 17, 2010
- * @version 1.0
*/
- public class FieldObservationDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection{
+ public class FieldUnitDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection{
/**
- * <p>Constructor for FieldObservationDetailSection.</p>
+ * <p>Constructor for FieldUnitDetailSection.</p>
*
* @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
* @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
* @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
* @param style a int.
*/
- public FieldObservationDetailSection(CdmFormFactory formFactory, ConversationHolder conversation,
+ public FieldUnitDetailSection(CdmFormFactory formFactory, ConversationHolder conversation,
ICdmFormElement parentElement,
ISelectionProvider selectionProvider, int style) {
super(formFactory, conversation, parentElement, selectionProvider, style);
/** {@inheritDoc} */
@Override
public String getHeading() {
- return "Field Observation Details";
+ return "Field Unit Details";
}
/* (non-Javadoc)
*/
@Override
protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
- return formFactory.createFieldObservationDetailElement(parentElement);
+ return formFactory.createFieldUnitDetailElement(parentElement);
}
}
--- /dev/null
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+ // $Id$
+ /**
+ * Copyright (C) 2013 EDIT
+ * 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.section.occurrence;
+
+ 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.SpecimenOrObservationType;
++import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+ import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
+ import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+ import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
+ import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
+ import eu.etaxonomy.taxeditor.ui.element.PointElement;
+ import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+ import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
+ import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
+ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
+
+ /**
+ * @author pplitzner
+ * @date 05.11.2013
+ *
+ */
+ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
+
+ private ToggleableTextElement toggleableText_titleCache;
+ private EnumComboElement<SpecimenOrObservationType> combo_specorobstype;
+ private EntitySelectionElement<NamedArea> selection_country;
+ private LanguageStringWithLabelElement languageText_locality;
+ private PointElement element_point;
+ private NumberWithLabelElement number_elevation;
+ private TimePeriodElement element_date;
+ private EntitySelectionElement<AgentBase> selection_collector;
+ private TextWithLabelElement text_collectingNumber;
+
+ /**
+ * @param formFactory
+ * @param formElement
+ */
+ public FieldUnitGeneralDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
+ * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
+ */
+ @Override
+ protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
+ toggleableText_titleCache = formFactory.createToggleableTextField(formElement, "Title Cache",
+ entity.getTitleCache(), entity.isProtectedTitleCache(), style);
+ combo_specorobstype = formFactory.createEnumComboElement(SpecimenOrObservationType.class, formElement, style);
+ combo_specorobstype.setSelection(entity.getType());
+ selection_country = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(), formElement,
+ "Country", entity.getCountry(), EntitySelectionElement.NOTHING, style);
+ languageText_locality = formFactory.createLanguageStringWithLabelElement(formElement, "Locality",
+ entity.getLocality(), style);
+ element_point = formFactory.createPointElement(formElement, entity.getExactLocation(), style);
+ element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
+ selection_collector = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement,
+ "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
+ text_collectingNumber = formFactory.createTextWithLabelElement(formElement, "Collecting number",
+ entity.getFieldNumber(), style);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
+ * .lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if (eventSource == toggleableText_titleCache) {
+ getEntity().setTitleCache(toggleableText_titleCache.getText(), toggleableText_titleCache.getState());
+ } else if (eventSource == selection_country) {
+ getEntity().setCountry(selection_country.getSelection());
+ } else if (eventSource == languageText_locality) {
+ LanguageString locality = languageText_locality.getLanguageString();
+ getEntity().setLocality(locality);
+ } else if (eventSource == element_point) {
+ getEntity().setExactLocation(element_point.getPoint());
+ } else if (eventSource == number_elevation) {
+ getEntity().setAbsoluteElevation(number_elevation.getInteger());
+ } else if (eventSource == element_date) {
+ getEntity().setGatheringPeriod(element_date.getTimePeriod());
+ } else if (eventSource == selection_collector) {
+ getEntity().setCollector(selection_collector.getSelection());
+ } else if (eventSource == text_collectingNumber) {
+ getEntity().setFieldNumber(text_collectingNumber.getText());
+ } else if (eventSource == combo_specorobstype) {
+ getEntity().setType(combo_specorobstype.getSelection());
+ }
+
+ if (eventSource != toggleableText_titleCache) {
+ toggleableText_titleCache.setText(getEntity().getTitleCache());
+ }
+ }
+ }
--- /dev/null
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+ // $Id$
+ /**
+ * Copyright (C) 2013 EDIT
+ * 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.section.occurrence;
+
+ import org.eclipse.jface.viewers.ISelectionProvider;
+
+ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
++import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+ import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
+
+ /**
+ * @author pplitzner
+ * @date 05.11.2013
+ *
+ */
+ public class FieldUnitGeneralDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> implements IDerivedUnitFacadeDetailSection{
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param selectionProvider
+ * @param style
+ */
+ public FieldUnitGeneralDetailSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
+ ISelectionProvider selectionProvider, int style) {
+ super(formFactory, conversation, parentElement, selectionProvider, style);
+ }
+
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#getHeading()
+ */
+ @Override
+ public String getHeading() {
+ return "General";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
+ */
+ @Override
+ protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
+ return formFactory.createFieldUnitGeneralDetailElement(parentElement);
+ }
+
+ }
--- /dev/null
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+ // $Id$
+ /**
+ * Copyright (C) 2007 EDIT
+ * 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.section.occurrence;
+
+ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
++import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+ import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
+ import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+ /**
+ * @author n.hoffmann
+ * @created Dec 15, 2010
+ * @version 1.0
+ */
+ public class FieldUnitWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param entity
+ */
+ public FieldUnitWizardPage(CdmFormFactory formFactory,
+ ConversationHolder conversation, DerivedUnitFacade entity) {
+ super(formFactory, conversation, entity);
+ setTitle("Field Unit Details");
+ setPageComplete(true);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#checkComplete()
+ */
+ @Override
+ protected void checkComplete() {
+ setPageComplete(true);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.forms.ICdmFormElement)
+ */
+ @Override
+ public AbstractCdmDetailElement<DerivedUnitFacade> createElement(ICdmFormElement rootElement) {
+ FieldUnitDetailElement detailElement = formFactory.createFieldUnitDetailElement(rootElement);
+ detailElement.setEntity(getEntity());
+ return detailElement;
+ }
+
+ }
// $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.
*/
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
import eu.etaxonomy.cdm.model.reference.ReferenceType;
+ import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.AuthorHelper;
- import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.IErrorIntolerableElement;
import eu.etaxonomy.taxeditor.ui.element.IExceptionHandler;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
+ import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
* <p>
* ReferenceBaseDetailElement class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Mar 2, 2010
* @version 1.0
*/
public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElement<Reference>
implements IErrorIntolerableElement, IExceptionHandler {
-
+
+ private ToggleableTextElement toggleableAbbrevCache;
+
private TextWithLabelElement text_edition;
private TextWithLabelElement text_editor;
private TextWithLabelElement text_isbn;
private TextWithLabelElement text_referenceAbstract;
private TextWithLabelElement text_series;
private TextWithLabelElement text_seriesPart;
- private TextWithLabelElement text_title;
private TextWithLabelElement text_volume;
+ private TextWithLabelElement text_abbrevTitle;
+ private TextWithLabelElement text_title;
private UriWithLabelElement text_uri;
private EntitySelectionElement<AgentBase> selection_authorTeam;
private TimePeriodElement element_timePeriod;
* <p>
* Constructor for ReferenceBaseDetailElement.
* </p>
- *
+ *
* @param cdmFormFactory
* a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
* object.
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.section.cdmdetail.AbstractCdmDetailComposite
* #createControl(org.eclipse.swt.widgets.Composite, int)
"Reference Cache", entity.getTitleCache(),
entity.isProtectedTitleCache(), style);
+ toggleableAbbrevCache = formFactory.createToggleableTextField(formElement,
+ "Abbrev. Cache", entity.getAbbrevTitleCache(),
+ entity.isProtectedAbbrevTitleCache(), style);
+
combo_referenceType = formFactory.createEnumComboElement(ReferenceType.class,
formElement, style);
// title
text_title = formFactory.createTextWithLabelElement(formElement,
"Title", entity.getTitle(), style);
+ // abbreviated title
+ text_abbrevTitle = formFactory.createTextWithLabelElement(formElement,
+ "Abbrev. Title", entity.getAbbrevTitle(), style);
// author team
selection_authorTeam = formFactory
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.section.cdmdetail.AbstractCdmDetailComposite
* #updateContent()
// setEnabled(getEntity().isProtectedTitleCache(), Arrays.asList(new
// Object[]{text_cache}));
toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
- setIrrelevant(toggleable_cache.getState(),
- Arrays.asList(new Object[] { toggleable_cache }));
+ toggleableAbbrevCache.setEnabled(getEntity().isProtectedAbbrevTitleCache());
+ setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[] { toggleable_cache }));
+ setIrrelevant(toggleableAbbrevCache.getState(), Arrays.asList(new Object[] { toggleableAbbrevCache}));
}
/**
* Creates an in reference for reference types that do hav this.
- *
+ *
* @param element
* @param referenceType
* @param reference
/**
* Creates additional controls to edit a generic reference
- *
+ *
* @param element
* @param reference
* @param listener
/**
* Creates additional controls to edit a publication
- *
+ *
* @param element
* @param reference
* @param listener
/**
* Creates additional controls to edit a section
- *
+ *
* @param element
* @param reference
* @param style
/**
* Creates additional controls to edit a volume
- *
+ *
* @param element
* @param reference
* @param style
}
/**
- *
+ *
* @param element
* @param referenceType
* @param reference
// textfields
else if (eventSource == toggleable_cache) {
handleToggleableCacheField();
+ }
+ else if (eventSource == toggleableAbbrevCache) {
+ handleToggleableAbbrevTitleField();
} else if (eventSource == text_edition) {
getEntity().setEdition(text_edition.getText());
} else if (eventSource == text_editor) {
getEntity().setSeriesPart(text_seriesPart.getText());
} else if (eventSource == text_title) {
getEntity().setTitle(text_title.getText());
+ toggleable_cache.setText(text_title.getText());
+ } else if (eventSource == text_abbrevTitle) {
+ getEntity().setAbbrevTitle(text_abbrevTitle.getText());
+ toggleableAbbrevCache.setText(text_abbrevTitle.getText());
} else if (eventSource == text_uri) {
try {
getEntity().setUri(text_uri.getUri());
} catch (URISyntaxException e) {
- StoreUtil.warningDialog("Invlid URI", getClass(),
+ AbstractUtility.warningDialog("Invalid URI", getClass(),
e.getLocalizedMessage());
}
} else if (eventSource == text_volume) {
getEntity().setVolume(text_volume.getText());
}
- else if (eventSource != toggleable_cache) {
+ if (eventSource != text_title && eventSource != text_abbrevTitle) {
+ // set abbrev title cache to null to force new generation
+ // for the standard title cache this is done by a PropertyChangeListener registered
+ // in IdentifiableEntity.initListeners()
+ if(!getEntity().isProtectedAbbrevTitleCache()){
+ getEntity().setAbbrevTitleCache(null, getEntity().isProtectedAbbrevTitleCache());
+ }
toggleable_cache.setText(getEntity().getTitleCache());
+ toggleableAbbrevCache.setText(getEntity().getAbbrevTitleCache());
}
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
}
+
+ @Override
+ public void updateToggleableCacheField() {
+ if (!getEntity().isProtectedTitleCache()) {
+ toggleable_cache.setText(getEntity().generateTitle());
+ }
+ if (!getEntity().isProtectedAbbrevTitleCache()) {
+ toggleableAbbrevCache.setText(getEntity().generateAbbrevTitle());
+ }
+ }
+
+ protected void handleToggleableAbbrevTitleField() {
+ boolean pushedAbbrevState = toggleableAbbrevCache.getState();
+ getEntity().setAbbrevTitleCache(toggleableAbbrevCache.getText(), pushedAbbrevState);
+ setIrrelevant(pushedAbbrevState, Arrays.asList(new Object[] { toggleableAbbrevCache, toggleable_cache, text_title }));
+ updateToggleableCacheField();
+ }
+
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleException
* (eu.etaxonomy.taxeditor.forms.CdmPropertyChangeEvent)
/*
* (non-Javadoc)
- *
+ *
* @see eu.etaxonomy.taxeditor.forms.IExceptionHandler#clearException()
*/
/** {@inheritDoc} */
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.IErrorIntolerableElement#addExceptionHandler
* (eu.etaxonomy.taxeditor.forms.IExceptionHandler)
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.IErrorIntolerableElement#removeExceptionHandler
* (eu.etaxonomy.taxeditor.forms.IExceptionHandler)
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.forms.IErrorIntolerableElement#exceptionOccurred
* (eu.etaxonomy.taxeditor.forms.CdmPropertyChangeEvent)
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
- import eu.etaxonomy.taxeditor.store.StoreUtil;
+ import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
@Override
public void refresh() {
super.refresh();
- StoreUtil.refreshDetailsViewer();
+ AbstractUtility.refreshDetailsViewer();
}
/* (non-Javadoc)
/**
- *
+ *
*/
package eu.etaxonomy.taxeditor.ui.section.supplemental;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
+ import eu.etaxonomy.cdm.model.common.OriginalSourceType;
+ import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
- import eu.etaxonomy.cdm.model.common.OriginalSourceType;
-
- import eu.etaxonomy.taxeditor.ui.dialog.selection.OriginalSourceTypeSelectionDialog;;
/**
* <p>SourceSection class.</p>
/** {@inheritDoc} */
@Override
public IdentifiableSource createNewElement() {
- return IdentifiableSource.NewInstance(OriginalSourceType.PrimaryTaxonomicSource);
+ IIdentifiableEntity entity = getEntity();
+ OriginalSourceType type;
+ if(entity instanceof Media) {
+ type = OriginalSourceType.PrimaryMediaSource;
+ }
+ else{
+ //default
+ type = OriginalSourceType.PrimaryTaxonomicSource;
+ }
+ return IdentifiableSource.NewInstance(type);
}
/** {@inheritDoc} */
// $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.
*/
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
* <p>
* TaxonBaseDetailElement class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Feb 26, 2010
* @version 1.0
private CheckboxElement checkbox_unplaced;
+ private CheckboxElement checkbox_published;
+
/**
* <p>
* Constructor for TaxonBaseDetailElement.
* </p>
- *
+ *
* @param cdmFormFactory
- * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
- * object.
+ * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
* @param formElement
- * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement}
- * object.
+ * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
* @param style
* a int.
*/
entity.isProtectedTitleCache(), style);
selection_secundum = formFactory
- .createSelectionElement(Reference.class,
+ .createSelectionElement(Reference.class,
getConversationHolder(), formElement, "Secundum",
entity.getSec(), EntitySelectionElement.ALL,
style);
-
+
text_appendedPhrase = formFactory.createTextWithLabelElement(
formElement, "Appended Phrase", entity.getAppendedPhrase(),
SWT.NULL);
checkbox_useNameCache = formFactory.createCheckbox(formElement,
"Exclude Authorship", entity.isUseNameCache(), style);
-
+
if (entity instanceof Taxon) {
checkbox_excluded = formFactory.createCheckbox(formElement,
"Taxon is excluded", ((Taxon) entity).isExcluded(), style);
checkbox_unplaced = formFactory.createCheckbox(formElement,
"Taxon is unplaced", ((Taxon) entity).isUnplaced(), style);
}
-
+
checkbox_doubtful = formFactory.createCheckbox(formElement,
entity.getClass().getSimpleName() + " is doubtful", entity.isDoubtful(), style);
+
+ checkbox_published = formFactory.createCheckbox(formElement,
+ "Taxon is published", ((TaxonBase) entity).isPublish(), style);
+
}
/** {@inheritDoc} */
setIrrelevant(toggleable_cache.getState(),
Arrays.asList(new Object[] { toggleable_cache }));
}
-
+
@Override
protected void handleTitleCacheRelevantChange(PropertyChangeEvent event) {
String title = getEntity().generateTitle();
/** {@inheritDoc} */
@Override
public void handleEvent(Object eventSource) {
- if (eventSource.equals(toggleable_cache)) {
+ if (eventSource== toggleable_cache) {
handleToggleableCacheField();
- } else if (eventSource.equals(checkbox_doubtful)) {
+ } else if (eventSource == checkbox_doubtful) {
getEntity().setDoubtful(checkbox_doubtful.getSelection());
- } else if (eventSource.equals(checkbox_useNameCache)) {
+ } else if (eventSource == checkbox_useNameCache) {
getEntity().setUseNameCache(checkbox_useNameCache.getSelection());
- } else if (eventSource.equals(selection_secundum)) {
+ } else if (eventSource == selection_secundum) {
getEntity().setSec(selection_secundum.getSelection());
- } else if (eventSource.equals(text_appendedPhrase)) {
+ } else if (eventSource == text_appendedPhrase) {
getEntity().setAppendedPhrase(text_appendedPhrase.getText());
} else if (eventSource == checkbox_excluded) {
((Taxon) getEntity()).setExcluded(checkbox_excluded.getSelection());
} else if (eventSource == checkbox_unplaced) {
- ((Taxon) getEntity()).setUnplaced(checkbox_unplaced.getSelection());
+ ((Taxon) getEntity()).setUnplaced(checkbox_unplaced.getSelection());
+ } else if (eventSource == checkbox_published) {
+ ((Taxon) getEntity()).setPublish(checkbox_published.getSelection());
}
}
}
/**\r
* Copyright (C) 2011 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
import java.util.ListIterator;\r
import java.util.Map;\r
import java.util.Set;\r
+\r
import org.apache.log4j.Logger;\r
import org.eclipse.swt.events.SelectionEvent;\r
import org.eclipse.swt.events.SelectionListener;\r
import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
import eu.etaxonomy.taxeditor.store.TermStore;\r
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;\r
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;\r
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;\r
\r
- \r
+\r
/**\r
* The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
*\r
- * @author a.theys \r
+ * @author a.theys\r
* @created mar 13, 2012\r
* @version 1.0\r
*/\r
public class UseRecordDetailElement extends\r
AbstractCdmDetailElement<CategoricalData> implements SelectionListener {\r
\r
- private static final Logger logger = Logger\r
- .getLogger(UseRecordDetailElement.class);\r
+ @SuppressWarnings("unused")\r
+ private static final Logger logger = Logger.getLogger(UseRecordDetailElement.class);\r
\r
private TermComboElement<State> combo_UseCategory;\r
private TermComboElement<State> combo_UseSubCategory;\r
combo_HumanGroup.addSelectionListener(this);\r
combo_EthnicGroup = formFactory.createTermComboElement(DefinedTerm.class, this, UsageTermCollection.ethnicGroupLabel, null, style);\r
combo_Country = formFactory.createTermComboElement(DefinedTerm.class, this, UsageTermCollection.countryLabel, null, style);\r
- \r
+\r
\r
List<State> termsUseCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false));\r
combo_UseCategory.setTerms(termsUseCategory);\r
combo_UseCategory.setSelection(stateSelection(UsageTermCollection.useCategoryVocabularyLabel));\r
- \r
+\r
List<State> termsSubCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false), combo_UseCategory.getSelection());\r
- \r
+\r
if (termsSubCategory != null) {\r
combo_UseSubCategory.setTerms(termsSubCategory);\r
combo_UseSubCategory.setSelection(stateSelection(UsageTermCollection.useSubCategoryVocabularyLabel));\r
else {\r
combo_UseSubCategory.setEnabled(false);\r
}\r
- \r
+\r
List<DefinedTerm> plantPartsToAdd = setModifierComboTerms(TermStore.getTerms(DefinedTerm.class, null, false), UsageTermCollection.plantPartLabel);\r
combo_PlantPart.setTerms(plantPartsToAdd);\r
combo_PlantPart.setSelection(modifierSelection(UsageTermCollection.plantPartLabel));\r
- \r
+\r
List<DefinedTerm> countriesToAdd = setModifierComboTerms(TermStore.getTerms(DefinedTerm.class, null, false), UsageTermCollection.countryLabel);\r
combo_Country.setTerms(countriesToAdd);\r
combo_Country.setSelection(modifierSelection(UsageTermCollection.countryLabel));\r
- \r
+\r
List<DefinedTerm> humanGroupToAdd = setModifierComboTerms(TermStore.getTerms(DefinedTerm.class, null, false), UsageTermCollection.humanGroupLabel);\r
combo_HumanGroup.setTerms(humanGroupToAdd);\r
combo_HumanGroup.setSelection(modifierSelection(UsageTermCollection.humanGroupLabel));\r
- \r
+\r
List<DefinedTerm> ethnicGroupToAdd = setEthnicGroupComboTerms(TermStore.getTerms(DefinedTerm.class, null, false), combo_HumanGroup.getSelection());\r
if (ethnicGroupToAdd != null) {\r
combo_EthnicGroup.setTerms(ethnicGroupToAdd);\r
return null;\r
}\r
return null;\r
- \r
+\r
}\r
- \r
+\r
/**\r
* Returns the selected state\r
* @param comboCategory\r
return statedata.getState();\r
}\r
}\r
- } \r
+ }\r
}\r
}\r
else {\r
return null;\r
}\r
return null;\r
- \r
+\r
}\r
- \r
+\r
/**\r
* This function sets the combo terms (Besides EthnicGroup\r
* @param listOfTerms\r
termsToAdd.add(term);\r
}\r
}\r
- \r
+\r
return termsToAdd;\r
}\r
- \r
+\r
\r
/**\r
* This function sets the Use Category combo term\r
State selectedUseCategory) {\r
List<State> termsToAdd = new ArrayList<State>();\r
if (combo_UseCategory.getSelection() != null) {\r
- \r
+\r
for (State term : listOfTerms) {\r
if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(selectedUseCategory.getTitleCache()))) {\r
termsToAdd.add(term);\r
else if ((term.getVocabulary() !=null) && (term.getVocabulary().getTitleCache().equals(selectedUseCategory.getTitleCache()))) {\r
termsToAdd.add(term);\r
}\r
- \r
+\r
}\r
}\r
else if (!getEntity().getStateData().isEmpty()) {\r
termsToAdd.add(term);\r
}\r
}\r
- \r
+\r
}\r
}\r
}\r
- \r
+\r
}\r
- \r
+\r
else {\r
return null;\r
}\r
\r
return termsToAdd;\r
}\r
- \r
- \r
+\r
+\r
/**\r
* This function sets the EthnicGroup combo term\r
* @param listOfTerms\r
List<DefinedTerm> termsToAdd = new ArrayList<DefinedTerm>();\r
if (combo_HumanGroup.getSelection() != null) {\r
for (DefinedTerm term : listOfTerms) {\r
- \r
+\r
if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(selectedHumangroup.getTitleCache()))) {\r
termsToAdd.add(term);\r
}\r
termsToAdd.add(modifier);\r
}\r
}\r
- \r
+\r
}\r
}\r
}\r
} else {\r
return null;\r
}\r
- \r
+\r
return termsToAdd;\r
}\r
\r
- \r
+\r
/** {@inheritDoc} */\r
@Override\r
public void handleEvent(Object eventSource) {\r
if(!useCategoryStateDataCheck.getState().getTitleCache().equals(combo_UseCategory.getSelection().getTitleCache())) {\r
isUseCategoryChanged = true;\r
}\r
- \r
+\r
}\r
}\r
ListIterator<StateData> itrExistingStates = getEntity().getStateData().listIterator();\r
stateData.setState(combo_UseCategory.getSelection());\r
stateData.putModifyingText(CdmStore.getDefaultLanguage(),UsageTermCollection.useCategoryVocabularyLabel);\r
itrExistingStates.add(stateData);\r
- \r
+\r
}\r
} else if (modifyingText.get(CdmStore.getDefaultLanguage()).getText().equals(UsageTermCollection.useSubCategoryVocabularyLabel) && isUseCategoryChanged == true) {\r
itrExistingStates.remove();\r
}\r
}\r
}\r
- \r
- \r
+\r
+\r
if (isChanged == false) {\r
StateData stateData = StateData\r
.NewInstance(combo_UseCategory.getSelection());\r
stateData.putModifyingText(CdmStore.getDefaultLanguage(), UsageTermCollection.useCategoryVocabularyLabel);\r
getEntity().addStateData(stateData);\r
}\r
- \r
+\r
combo_UseSubCategory.setEnabled(true);\r
- \r
+\r
}\r
else {\r
if (!getEntity().getStateData().isEmpty()) {\r
}\r
}\r
}\r
- \r
+\r
if (eventSource == combo_UseSubCategory) {\r
if (combo_UseSubCategory.getSelection() != null) {\r
boolean isChanged = false;\r
}\r
}\r
}\r
- \r
+\r
if (isChanged == false){\r
StateData stateData = StateData\r
.NewInstance(combo_UseSubCategory.getSelection());\r
stateData.putModifyingText(CdmStore.getDefaultLanguage(), UsageTermCollection.useSubCategoryVocabularyLabel);\r
getEntity().addStateData(stateData);\r
}\r
- \r
+\r
} else {\r
if (!getEntity().getStateData().isEmpty()) {\r
Iterator<StateData> itrStateData = getEntity().getStateData().iterator();\r
if(GetVocabularyType(modifier, UsageTermCollection.plantPartLabel)) {\r
itrExistingModifiers.remove();\r
}\r
- \r
- } \r
+\r
+ }\r
DefinedTerm plantPart = combo_PlantPart.getSelection();\r
getEntity().addModifier(plantPart);\r
} else {\r
}\r
}\r
}\r
- \r
+\r
}\r
}\r
if (eventSource == combo_Country) {\r
if(GetVocabularyType(modifier, UsageTermCollection.countryLabel)) {\r
itrExistingModifiers.remove();\r
}\r
- \r
+\r
}\r
DefinedTerm country = combo_Country.getSelection();\r
getEntity().addModifier(country);\r
if(modToCheck.equals(combo_HumanGroup.getSelection()) && (GetVocabularyType(modToCheck, UsageTermCollection.humanGroupLabel))) {\r
isHumanGroupChanged = false;\r
}\r
- \r
- \r
+\r
+\r
}\r
Iterator<DefinedTerm> itrExistingModifiers = getEntity().getModifiers().iterator();\r
while (itrExistingModifiers.hasNext()) {\r
if((GetVocabularyType(modifier, UsageTermCollection.humanGroupLabel) || GetVocabularyType(modifier, UsageTermCollection.ethnicGroupLabel)) && isHumanGroupChanged) {\r
itrExistingModifiers.remove();\r
}\r
- \r
- } \r
+\r
+ }\r
if(isHumanGroupChanged){\r
DefinedTerm humanGroup = combo_HumanGroup.getSelection();\r
getEntity().addModifier(humanGroup);\r
}\r
}\r
List<DefinedTerm> emptyListToResetComboBox = new ArrayList<DefinedTerm>();\r
- //FIXME:3.3MC----\r
- //DefinedTerm emptyMod = DefinedTerm.NewInstance();\r
+ \r
+ // DefinedTerm emptyMod = DefinedTerm.NewInstance();\r
DefinedTerm emptyMod = null;\r
- //FIXME:3.3MC----\r
- \r
- \r
+\r
+\r
emptyListToResetComboBox.add(emptyMod);\r
combo_EthnicGroup.setTerms(emptyListToResetComboBox);\r
combo_EthnicGroup.setEnabled(false);\r
- \r
+\r
}\r
}\r
if (eventSource == combo_EthnicGroup) {\r
if(GetVocabularyType(modifier, combo_HumanGroup.getSelection().getTitleCache())) {\r
itrExistingModifiers.remove();\r
}\r
- \r
- } \r
+\r
+ }\r
DefinedTerm ethnicGroup = combo_EthnicGroup.getSelection();\r
getEntity().addModifier(ethnicGroup);\r
} else {\r
Set<DefinedTerm> modifiers = getEntity().getModifiers();\r
if(!modifiers.isEmpty()) {\r
- \r
+\r
Iterator<DefinedTerm> itr = modifiers.iterator();\r
while (itr.hasNext()) {\r
DefinedTerm currentMod = itr.next();\r
itr.remove();\r
}\r
}\r
- \r
+\r
}\r
}\r
}\r
}\r
- \r
- \r
+\r
+\r
\r
/**\r
* This function Checks the vocabulary type\r
}\r
return false;\r
}\r
- \r
- \r
+\r
+\r
\r
/** {@inheritDoc} */\r
@Override\r
State selectedUseCategory = combo_UseCategory.getSelection();\r
if (selectedUseCategory != null) {\r
combo_UseSubCategory.setTerms(setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false),selectedUseCategory));\r
- \r
+\r
if (!getEntity().getStateData().isEmpty()) {\r
Iterator<StateData> itrExistingState = getEntity().getStateData().iterator();\r
while(itrExistingState.hasNext()) {\r
- StateData existingStateData = (StateData) itrExistingState.next();\r
+ StateData existingStateData = itrExistingState.next();\r
Map<Language, LanguageString> modifyingText = existingStateData.getModifyingText();\r
if (modifyingText.get(CdmStore.getDefaultLanguage()) != null) {\r
if (modifyingText.get(CdmStore.getDefaultLanguage())\r
}\r
}\r
}\r
- \r
+\r
}\r
}\r
}\r
--- /dev/null
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
+ // $Id$\r
+ /**\r
+ * Copyright (C) 2009 EDIT\r
+ * European Distributed Institute of Taxonomy\r
+ * http://www.e-taxonomy.eu\r
+ *\r
+ * The contents of this file are subject to the Mozilla Public License Version 1.1\r
+ * See LICENSE.TXT at the top of this package for the full license terms.\r
+ */\r
+ package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+ \r
+ import eu.etaxonomy.cdm.model.description.Feature;\r
++import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;\r
+ import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
+ import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;\r
+ \r
+ /**\r
+ * @author l.morris\r
+ * @date 20 Dec 2011\r
+ *\r
+ */\r
+ public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {\r
+ \r
+ private CheckboxElement supportsTextData;\r
+ \r
+ private CheckboxElement supportsQuantitativeData;\r
+ \r
+ private CheckboxElement supportsDistribution;\r
+ \r
+ private CheckboxElement supportsIndividualAssociation;\r
+ \r
+ private CheckboxElement supportsTaxonInteraction;\r
+ \r
+ private CheckboxElement supportsCategoricalData;\r
+ \r
+ private CheckboxElement supportsCommonTaxonName;\r
+ \r
+ /**\r
+ * @param formFactory\r
+ * @param formElement\r
+ */\r
+ public FeatureDetailElement(CdmFormFactory formFactory,\r
+ ICdmFormElement formElement) {\r
+ super(formFactory, formElement);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.vocabulary.AbstractTermBaseDetailElement#createControls(eu.etaxonomy.taxeditor.ui.element.ICdmFormElement, eu.etaxonomy.cdm.model.common.TermBase, int)\r
+ */\r
+ @Override\r
+ protected void createControls(ICdmFormElement formElement, Feature entity, int style) {\r
+ super.createControls(formElement, entity, style);\r
+ supportsTextData = formFactory.createCheckbox(formElement, "Supports Text Data", entity.isSupportsTextData(), style);\r
+ supportsQuantitativeData = formFactory.createCheckbox(formElement, "Supports Quantitive Data", entity.isSupportsQuantitativeData(), style);\r
+ supportsDistribution = formFactory.createCheckbox(formElement, "Supports Distribution", entity.isSupportsDistribution(), style);\r
+ supportsIndividualAssociation = formFactory.createCheckbox(formElement, "Supports Individual Association", entity.isSupportsIndividualAssociation(), style);\r
+ supportsTaxonInteraction = formFactory.createCheckbox(formElement, "Supports Taxon Interaction", entity.isSupportsTaxonInteraction(), style);\r
+ supportsCategoricalData = formFactory.createCheckbox(formElement, "Supports Categorical Data", entity.isSupportsCategoricalData(), style);\r
+ supportsCommonTaxonName = formFactory.createCheckbox(formElement, "Supports Common Taxon Name", entity.isSupportsCommonTaxonName(), style);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailElement#handleEvent(java.lang.Object)\r
+ */\r
+ @Override\r
+ public void handleEvent(Object eventSource) {\r
+ super.handleEvent(eventSource);\r
+ if(eventSource == supportsTextData){\r
+ getEntity().setSupportsTextData(supportsTextData.getSelection());\r
+ }\r
+ else if(eventSource == supportsQuantitativeData){\r
+ getEntity().setSupportsQuantitativeData(supportsQuantitativeData.getSelection());\r
+ }\r
+ else if(eventSource == supportsDistribution){\r
+ getEntity().setSupportsDistribution(supportsDistribution.getSelection());\r
+ }\r
+ else if(eventSource == supportsIndividualAssociation){\r
+ getEntity().setSupportsIndividualAssociation(supportsIndividualAssociation.getSelection());\r
+ }\r
+ else if(eventSource == supportsTaxonInteraction){\r
+ getEntity().setSupportsTaxonInteraction(supportsTaxonInteraction.getSelection());\r
+ }\r
+ else if(eventSource == supportsCategoricalData){\r
+ getEntity().setSupportsCategoricalData(supportsCategoricalData.getSelection());\r
+ }\r
+ else if(eventSource == supportsCommonTaxonName){\r
+ getEntity().setSupportsCommonTaxonName(supportsCommonTaxonName.getSelection());\r
+ }\r
+ }\r
+ \r
+ }\r
// $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.
*/
import eu.etaxonomy.taxeditor.model.TextHelper;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.StoreUtil;
- import eu.etaxonomy.taxeditor.ui.campanula.compatibility.IEntitySelectionElement;
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.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.FieldObservationDetailsWizardPage;
- import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailsWizardPage;
- import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationGeneralWizardPage;
+ 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;
* <p>
* EditFromSelectionWizard class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Jun 1, 2010
* @version 1.0
public class EditFromSelectionWizard extends Wizard implements
SelectionListener {
- private final IEntitySelectionElement selectionElement;
+ private final EntitySelectionElement selectionElement;
/**
* <p>
* Constructor for EditFromSelectionWizard.
* </p>
- *
+ *
* @param selectionElement
* a
* {@link eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement}
* object.
*/
- public EditFromSelectionWizard(IEntitySelectionElement selectionElement) {
+ public EditFromSelectionWizard(EntitySelectionElement selectionElement) {
this.selectionElement = selectionElement;
this.setWindowTitle(String.format("Edit %s", TextHelper.deproxyClassName(selectionElement.getEntity().getClass())));
}
throw new IllegalStateException();
}
- addPage(new FieldObservationGeneralWizardPage(formFactory,
+ addPage(new GeneralWizardPage(formFactory,
selectionElement.getConversationHolder(), facade));
- addPage(new GatheringEventDetailsWizardPage(formFactory,
+ addPage(new GatheringEventWizardPage(formFactory,
selectionElement.getConversationHolder(), facade));
- addPage(new FieldObservationDetailsWizardPage(formFactory,
+ addPage(new FieldUnitWizardPage(formFactory,
selectionElement.getConversationHolder(), facade));
addPage(new DerivedUnitBaseWizardPage(formFactory,
selectionElement.getConversationHolder(), facade));
selectionElement.getConversationHolder(),
(Institution) entity));
} else if (entity instanceof User) {
- addPage(new UserDetailWizardPage(formFactory,
- selectionElement.getConversationHolder(),
+ addPage(new UserDetailWizardPage(formFactory,
+ selectionElement.getConversationHolder(),
(User) entity));
} else {
StoreUtil.warningDialog("Missing interface", this,
"No detail element for current selection");
- }
+ }
}
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
/** {@inheritDoc} */
--- /dev/null
- import java.io.File;
- import java.io.InputStream;
- import java.lang.reflect.Constructor;
- import java.lang.reflect.Method;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
-
- import org.eclipse.core.runtime.Platform;
- import org.eclipse.jface.resource.CompositeImageDescriptor;
- import org.eclipse.jface.resource.ImageDescriptor;
- import org.eclipse.swt.graphics.Image;
- import org.eclipse.swt.graphics.Point;
- import org.eclipse.swt.graphics.Rectangle;
- import org.osgi.framework.Bundle;
+/*******************************************************************************\r
+ * Copyright (c) 2011 Google, Inc.\r
+ * All rights reserved. This program and the accompanying materials\r
+ * are made available under the terms of the Eclipse Public License v1.0\r
+ * which accompanies this distribution, and is available at\r
+ * http://www.eclipse.org/legal/epl-v10.html\r
+ *\r
+ * Contributors:\r
+ * Google, Inc. - initial API and implementation\r
+ *******************************************************************************/\r
+package org.eclipse.wb.swt;
+
++import java.io.File;\r
++import java.io.InputStream;\r
++import java.lang.reflect.Constructor;\r
++import java.lang.reflect.Method;\r
++import java.net.MalformedURLException;\r
++import java.net.URL;\r
++import java.util.HashMap;\r
++import java.util.Iterator;\r
++import java.util.Map;\r
++\r
++import org.eclipse.core.runtime.Platform;\r
++import org.eclipse.jface.resource.CompositeImageDescriptor;\r
++import org.eclipse.jface.resource.ImageDescriptor;\r
++import org.eclipse.swt.graphics.Image;\r
++import org.eclipse.swt.graphics.Point;\r
++import org.eclipse.swt.graphics.Rectangle;\r
++import org.osgi.framework.Bundle;\r
+
+/**
+ * Utility class for managing OS resources associated with SWT/JFace controls such as colors, fonts, images,
+ * etc.
+ *
+ * !!! IMPORTANT !!! Application code must explicitly invoke the <code>dispose()</code> method to release the
+ * operating system resources managed by cached objects when those objects and OS resources are no longer
+ * needed (e.g. on application shutdown)
+ *
+ * This class may be freely distributed as part of any application or plugin.
+ * <p>
+ *
+ * @author scheglov_ke
+ * @author Dan Rubel
+ */
+public class ResourceManager extends SWTResourceManager {
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Image
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ private static Map<ImageDescriptor, Image> m_descriptorImageMap = new HashMap<ImageDescriptor, Image>();
+ /**
+ * Returns an {@link ImageDescriptor} stored in the file at the specified path relative to the specified
+ * class.
+ *
+ * @param clazz
+ * the {@link Class} relative to which to find the image descriptor.
+ * @param path
+ * the path to the image file.
+ * @return the {@link ImageDescriptor} stored in the file at the specified path.
+ */
+ public static ImageDescriptor getImageDescriptor(Class<?> clazz, String path) {
+ return ImageDescriptor.createFromFile(clazz, path);
+ }
+ /**
+ * Returns an {@link ImageDescriptor} stored in the file at the specified path.
+ *
+ * @param path
+ * the path to the image file.
+ * @return the {@link ImageDescriptor} stored in the file at the specified path.
+ */
+ public static ImageDescriptor getImageDescriptor(String path) {
+ try {
+ return ImageDescriptor.createFromURL(new File(path).toURI().toURL());
+ } catch (MalformedURLException e) {
+ return null;
+ }
+ }
+ /**
+ * Returns an {@link Image} based on the specified {@link ImageDescriptor}.
+ *
+ * @param descriptor
+ * the {@link ImageDescriptor} for the {@link Image}.
+ * @return the {@link Image} based on the specified {@link ImageDescriptor}.
+ */
+ public static Image getImage(ImageDescriptor descriptor) {
+ if (descriptor == null) {
+ return null;
+ }
+ Image image = m_descriptorImageMap.get(descriptor);
+ if (image == null) {
+ image = descriptor.createImage();
+ m_descriptorImageMap.put(descriptor, image);
+ }
+ return image;
+ }
+ /**
+ * Maps images to decorated images.
+ */
+ @SuppressWarnings("unchecked")
+ private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated.
+ * @param decorator
+ * the {@link Image} to decorate the base image.
+ * @return {@link Image} The resulting decorated image.
+ */
+ public static Image decorateImage(Image baseImage, Image decorator) {
+ return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
+ }
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated.
+ * @param decorator
+ * the {@link Image} to decorate the base image.
+ * @param corner
+ * the corner to place decorator image.
+ * @return the resulting decorated {@link Image}.
+ */
+ public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
+ if (corner <= 0 || corner >= LAST_CORNER_KEY) {
+ throw new IllegalArgumentException("Wrong decorate corner");
+ }
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
+ if (cornerDecoratedImageMap == null) {
+ cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
+ m_decoratedImageMap[corner] = cornerDecoratedImageMap;
+ }
+ Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
+ if (decoratedMap == null) {
+ decoratedMap = new HashMap<Image, Image>();
+ cornerDecoratedImageMap.put(baseImage, decoratedMap);
+ }
+ //
+ Image result = decoratedMap.get(decorator);
+ if (result == null) {
+ final Rectangle bib = baseImage.getBounds();
+ final Rectangle dib = decorator.getBounds();
+ final Point baseImageSize = new Point(bib.width, bib.height);
+ CompositeImageDescriptor compositImageDesc = new CompositeImageDescriptor() {
+ @Override
+ protected void drawCompositeImage(int width, int height) {
+ drawImage(baseImage.getImageData(), 0, 0);
+ if (corner == TOP_LEFT) {
+ drawImage(decorator.getImageData(), 0, 0);
+ } else if (corner == TOP_RIGHT) {
+ drawImage(decorator.getImageData(), bib.width - dib.width, 0);
+ } else if (corner == BOTTOM_LEFT) {
+ drawImage(decorator.getImageData(), 0, bib.height - dib.height);
+ } else if (corner == BOTTOM_RIGHT) {
+ drawImage(decorator.getImageData(), bib.width - dib.width, bib.height - dib.height);
+ }
+ }
+ @Override
+ protected Point getSize() {
+ return baseImageSize;
+ }
+ };
+ //
+ result = compositImageDesc.createImage();
+ decoratedMap.put(decorator, result);
+ }
+ return result;
+ }
+ /**
+ * Dispose all of the cached images.
+ */
+ public static void disposeImages() {
+ SWTResourceManager.disposeImages();
+ // dispose ImageDescriptor images
+ {
+ for (Iterator<Image> I = m_descriptorImageMap.values().iterator(); I.hasNext();) {
+ I.next().dispose();
+ }
+ m_descriptorImageMap.clear();
+ }
+ // dispose decorated images
+ for (int i = 0; i < m_decoratedImageMap.length; i++) {
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
+ if (cornerDecoratedImageMap != null) {
+ for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
+ for (Image image : decoratedMap.values()) {
+ image.dispose();
+ }
+ decoratedMap.clear();
+ }
+ cornerDecoratedImageMap.clear();
+ }
+ }
+ // dispose plugin images
+ {
+ for (Iterator<Image> I = m_URLImageMap.values().iterator(); I.hasNext();) {
+ I.next().dispose();
+ }
+ m_URLImageMap.clear();
+ }
+ }
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Plugin images support
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps URL to images.
+ */
+ private static Map<String, Image> m_URLImageMap = new HashMap<String, Image>();
+ /**
+ * Provider for plugin resources, used by WindowBuilder at design time.
+ */
+ public interface PluginResourceProvider {
+ URL getEntry(String symbolicName, String path);
+ }
+ /**
+ * Instance of {@link PluginResourceProvider}, used by WindowBuilder at design time.
+ */
+ private static PluginResourceProvider m_designTimePluginResourceProvider = null;
+ /**
+ * Returns an {@link Image} based on a plugin and file path.
+ *
+ * @param plugin
+ * the plugin {@link Object} containing the image
+ * @param name
+ * the path to the image within the plugin
+ * @return the {@link Image} stored in the file at the specified path
+ *
+ * @deprecated Use {@link #getPluginImage(String, String)} instead.
+ */
+ @Deprecated
+ public static Image getPluginImage(Object plugin, String name) {
+ try {
+ URL url = getPluginImageURL(plugin, name);
+ if (url != null) {
+ return getPluginImageFromUrl(url);
+ }
+ } catch (Throwable e) {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+ /**
+ * Returns an {@link Image} based on a {@link Bundle} and resource entry path.
+ *
+ * @param symbolicName
+ * the symbolic name of the {@link Bundle}.
+ * @param path
+ * the path of the resource entry.
+ * @return the {@link Image} stored in the file at the specified path.
+ */
+ public static Image getPluginImage(String symbolicName, String path) {
+ try {
+ URL url = getPluginImageURL(symbolicName, path);
+ if (url != null) {
+ return getPluginImageFromUrl(url);
+ }
+ } catch (Throwable e) {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+ /**
+ * Returns an {@link Image} based on given {@link URL}.
+ */
+ private static Image getPluginImageFromUrl(URL url) {
+ try {
+ try {
+ String key = url.toExternalForm();
+ Image image = m_URLImageMap.get(key);
+ if (image == null) {
+ InputStream stream = url.openStream();
+ try {
+ image = getImage(stream);
+ m_URLImageMap.put(key, image);
+ } finally {
+ stream.close();
+ }
+ }
+ return image;
+ } catch (Throwable e) {
+ // Ignore any exceptions
+ }
+ } catch (Throwable e) {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+ /**
+ * Returns an {@link ImageDescriptor} based on a plugin and file path.
+ *
+ * @param plugin
+ * the plugin {@link Object} containing the image.
+ * @param name
+ * the path to th eimage within the plugin.
+ * @return the {@link ImageDescriptor} stored in the file at the specified path.
+ *
+ * @deprecated Use {@link #getPluginImageDescriptor(String, String)} instead.
+ */
+ @Deprecated
+ public static ImageDescriptor getPluginImageDescriptor(Object plugin, String name) {
+ try {
+ try {
+ URL url = getPluginImageURL(plugin, name);
+ return ImageDescriptor.createFromURL(url);
+ } catch (Throwable e) {
+ // Ignore any exceptions
+ }
+ } catch (Throwable e) {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+ /**
+ * Returns an {@link ImageDescriptor} based on a {@link Bundle} and resource entry path.
+ *
+ * @param symbolicName
+ * the symbolic name of the {@link Bundle}.
+ * @param path
+ * the path of the resource entry.
+ * @return the {@link ImageDescriptor} based on a {@link Bundle} and resource entry path.
+ */
+ public static ImageDescriptor getPluginImageDescriptor(String symbolicName, String path) {
+ try {
+ URL url = getPluginImageURL(symbolicName, path);
+ if (url != null) {
+ return ImageDescriptor.createFromURL(url);
+ }
+ } catch (Throwable e) {
+ // Ignore any exceptions
+ }
+ return null;
+ }
+ /**
+ * Returns an {@link URL} based on a {@link Bundle} and resource entry path.
+ */
+ private static URL getPluginImageURL(String symbolicName, String path) {
+ // try runtime plugins
+ {
+ Bundle bundle = Platform.getBundle(symbolicName);
+ if (bundle != null) {
+ return bundle.getEntry(path);
+ }
+ }
+ // try design time provider
+ if (m_designTimePluginResourceProvider != null) {
+ return m_designTimePluginResourceProvider.getEntry(symbolicName, path);
+ }
+ // no such resource
+ return null;
+ }
+ /**
+ * Returns an {@link URL} based on a plugin and file path.
+ *
+ * @param plugin
+ * the plugin {@link Object} containing the file path.
+ * @param name
+ * the file path.
+ * @return the {@link URL} representing the file at the specified path.
+ * @throws Exception
+ */
+ private static URL getPluginImageURL(Object plugin, String name) throws Exception {
+ // try to work with 'plugin' as with OSGI BundleContext
+ try {
+ Class<?> BundleClass = Class.forName("org.osgi.framework.Bundle"); //$NON-NLS-1$
+ Class<?> BundleContextClass = Class.forName("org.osgi.framework.BundleContext"); //$NON-NLS-1$
+ if (BundleContextClass.isAssignableFrom(plugin.getClass())) {
+ Method getBundleMethod = BundleContextClass.getMethod("getBundle", new Class[0]); //$NON-NLS-1$
+ Object bundle = getBundleMethod.invoke(plugin, new Object[0]);
+ //
+ Class<?> PathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
+ Constructor<?> pathConstructor = PathClass.getConstructor(new Class[]{String.class});
+ Object path = pathConstructor.newInstance(new Object[]{name});
+ //
+ Class<?> IPathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
+ Class<?> PlatformClass = Class.forName("org.eclipse.core.runtime.Platform"); //$NON-NLS-1$
+ Method findMethod = PlatformClass.getMethod("find", new Class[]{BundleClass, IPathClass}); //$NON-NLS-1$
+ return (URL) findMethod.invoke(null, new Object[]{bundle, path});
+ }
+ } catch (Throwable e) {
+ // Ignore any exceptions
+ }
+ // else work with 'plugin' as with usual Eclipse plugin
+ {
+ Class<?> PluginClass = Class.forName("org.eclipse.core.runtime.Plugin"); //$NON-NLS-1$
+ if (PluginClass.isAssignableFrom(plugin.getClass())) {
+ //
+ Class<?> PathClass = Class.forName("org.eclipse.core.runtime.Path"); //$NON-NLS-1$
+ Constructor<?> pathConstructor = PathClass.getConstructor(new Class[]{String.class});
+ Object path = pathConstructor.newInstance(new Object[]{name});
+ //
+ Class<?> IPathClass = Class.forName("org.eclipse.core.runtime.IPath"); //$NON-NLS-1$
+ Method findMethod = PluginClass.getMethod("find", new Class[]{IPathClass}); //$NON-NLS-1$
+ return (URL) findMethod.invoke(plugin, new Object[]{path});
+ }
+ }
+ return null;
+ }
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // General
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
+ * objects are no longer needed (e.g. on application shutdown).
+ */
+ public static void dispose() {
+ disposeColors();
+ disposeFonts();
+ disposeImages();
+ }
+}
--- /dev/null
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.HashMap;
- import java.util.Map;
-
- import org.eclipse.swt.SWT;
- import org.eclipse.swt.graphics.Color;
- import org.eclipse.swt.graphics.Cursor;
- import org.eclipse.swt.graphics.Font;
- import org.eclipse.swt.graphics.FontData;
- import org.eclipse.swt.graphics.GC;
- import org.eclipse.swt.graphics.Image;
- import org.eclipse.swt.graphics.ImageData;
- import org.eclipse.swt.graphics.RGB;
- import org.eclipse.swt.graphics.Rectangle;
- import org.eclipse.swt.widgets.Display;
+/*******************************************************************************\r
+ * Copyright (c) 2011 Google, Inc.\r
+ * All rights reserved. This program and the accompanying materials\r
+ * are made available under the terms of the Eclipse Public License v1.0\r
+ * which accompanies this distribution, and is available at\r
+ * http://www.eclipse.org/legal/epl-v10.html\r
+ *\r
+ * Contributors:\r
+ * Google, Inc. - initial API and implementation\r
+ *******************************************************************************/\r
+package org.eclipse.wb.swt;
+
++import java.io.FileInputStream;\r
++import java.io.IOException;\r
++import java.io.InputStream;\r
++import java.util.HashMap;\r
++import java.util.Map;\r
++\r
++import org.eclipse.swt.SWT;\r
++import org.eclipse.swt.graphics.Color;\r
++import org.eclipse.swt.graphics.Cursor;\r
++import org.eclipse.swt.graphics.Font;\r
++import org.eclipse.swt.graphics.FontData;\r
++import org.eclipse.swt.graphics.GC;\r
++import org.eclipse.swt.graphics.Image;\r
++import org.eclipse.swt.graphics.ImageData;\r
++import org.eclipse.swt.graphics.RGB;\r
++import org.eclipse.swt.graphics.Rectangle;\r
++import org.eclipse.swt.widgets.Display;\r
+
+/**
+ * Utility class for managing OS resources associated with SWT controls such as colors, fonts, images, etc.
+ * <p>
+ * !!! IMPORTANT !!! Application code must explicitly invoke the <code>dispose()</code> method to release the
+ * operating system resources managed by cached objects when those objects and OS resources are no longer
+ * needed (e.g. on application shutdown)
+ * <p>
+ * This class may be freely distributed as part of any application or plugin.
+ * <p>
+ * @author scheglov_ke
+ * @author Dan Rubel
+ */
+public class SWTResourceManager {
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Color
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ private static Map<RGB, Color> m_colorMap = new HashMap<RGB, Color>();
+ /**
+ * Returns the system {@link Color} matching the specific ID.
+ *
+ * @param systemColorID
+ * the ID value for the color
+ * @return the system {@link Color} matching the specific ID
+ */
+ public static Color getColor(int systemColorID) {
+ Display display = Display.getCurrent();
+ return display.getSystemColor(systemColorID);
+ }
+ /**
+ * Returns a {@link Color} given its red, green and blue component values.
+ *
+ * @param r
+ * the red component of the color
+ * @param g
+ * the green component of the color
+ * @param b
+ * the blue component of the color
+ * @return the {@link Color} matching the given red, green and blue component values
+ */
+ public static Color getColor(int r, int g, int b) {
+ return getColor(new RGB(r, g, b));
+ }
+ /**
+ * Returns a {@link Color} given its RGB value.
+ *
+ * @param rgb
+ * the {@link RGB} value of the color
+ * @return the {@link Color} matching the RGB value
+ */
+ public static Color getColor(RGB rgb) {
+ Color color = m_colorMap.get(rgb);
+ if (color == null) {
+ Display display = Display.getCurrent();
+ color = new Color(display, rgb);
+ m_colorMap.put(rgb, color);
+ }
+ return color;
+ }
+ /**
+ * Dispose of all the cached {@link Color}'s.
+ */
+ public static void disposeColors() {
+ for (Color color : m_colorMap.values()) {
+ color.dispose();
+ }
+ m_colorMap.clear();
+ }
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Image
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps image paths to images.
+ */
+ private static Map<String, Image> m_imageMap = new HashMap<String, Image>();
+ /**
+ * Returns an {@link Image} encoded by the specified {@link InputStream}.
+ *
+ * @param stream
+ * the {@link InputStream} encoding the image data
+ * @return the {@link Image} encoded by the specified input stream
+ */
+ protected static Image getImage(InputStream stream) throws IOException {
+ try {
+ Display display = Display.getCurrent();
+ ImageData data = new ImageData(stream);
+ if (data.transparentPixel > 0) {
+ return new Image(display, data, data.getTransparencyMask());
+ }
+ return new Image(display, data);
+ } finally {
+ stream.close();
+ }
+ }
+ /**
+ * Returns an {@link Image} stored in the file at the specified path.
+ *
+ * @param path
+ * the path to the image file
+ * @return the {@link Image} stored in the file at the specified path
+ */
+ public static Image getImage(String path) {
+ Image image = m_imageMap.get(path);
+ if (image == null) {
+ try {
+ image = getImage(new FileInputStream(path));
+ m_imageMap.put(path, image);
+ } catch (Exception e) {
+ image = getMissingImage();
+ m_imageMap.put(path, image);
+ }
+ }
+ return image;
+ }
+ /**
+ * Returns an {@link Image} stored in the file at the specified path relative to the specified class.
+ *
+ * @param clazz
+ * the {@link Class} relative to which to find the image
+ * @param path
+ * the path to the image file, if starts with <code>'/'</code>
+ * @return the {@link Image} stored in the file at the specified path
+ */
+ public static Image getImage(Class<?> clazz, String path) {
+ String key = clazz.getName() + '|' + path;
+ Image image = m_imageMap.get(key);
+ if (image == null) {
+ try {
+ image = getImage(clazz.getResourceAsStream(path));
+ m_imageMap.put(key, image);
+ } catch (Exception e) {
+ image = getMissingImage();
+ m_imageMap.put(key, image);
+ }
+ }
+ return image;
+ }
+ private static final int MISSING_IMAGE_SIZE = 10;
+ /**
+ * @return the small {@link Image} that can be used as placeholder for missing image.
+ */
+ private static Image getMissingImage() {
+ Image image = new Image(Display.getCurrent(), MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
+ //
+ GC gc = new GC(image);
+ gc.setBackground(getColor(SWT.COLOR_RED));
+ gc.fillRectangle(0, 0, MISSING_IMAGE_SIZE, MISSING_IMAGE_SIZE);
+ gc.dispose();
+ //
+ return image;
+ }
+ /**
+ * Style constant for placing decorator image in top left corner of base image.
+ */
+ public static final int TOP_LEFT = 1;
+ /**
+ * Style constant for placing decorator image in top right corner of base image.
+ */
+ public static final int TOP_RIGHT = 2;
+ /**
+ * Style constant for placing decorator image in bottom left corner of base image.
+ */
+ public static final int BOTTOM_LEFT = 3;
+ /**
+ * Style constant for placing decorator image in bottom right corner of base image.
+ */
+ public static final int BOTTOM_RIGHT = 4;
+ /**
+ * Internal value.
+ */
+ protected static final int LAST_CORNER_KEY = 5;
+ /**
+ * Maps images to decorated images.
+ */
+ @SuppressWarnings("unchecked")
+ private static Map<Image, Map<Image, Image>>[] m_decoratedImageMap = new Map[LAST_CORNER_KEY];
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated
+ * @param decorator
+ * the {@link Image} to decorate the base image
+ * @return {@link Image} The resulting decorated image
+ */
+ public static Image decorateImage(Image baseImage, Image decorator) {
+ return decorateImage(baseImage, decorator, BOTTOM_RIGHT);
+ }
+ /**
+ * Returns an {@link Image} composed of a base image decorated by another image.
+ *
+ * @param baseImage
+ * the base {@link Image} that should be decorated
+ * @param decorator
+ * the {@link Image} to decorate the base image
+ * @param corner
+ * the corner to place decorator image
+ * @return the resulting decorated {@link Image}
+ */
+ public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
+ if (corner <= 0 || corner >= LAST_CORNER_KEY) {
+ throw new IllegalArgumentException("Wrong decorate corner");
+ }
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
+ if (cornerDecoratedImageMap == null) {
+ cornerDecoratedImageMap = new HashMap<Image, Map<Image, Image>>();
+ m_decoratedImageMap[corner] = cornerDecoratedImageMap;
+ }
+ Map<Image, Image> decoratedMap = cornerDecoratedImageMap.get(baseImage);
+ if (decoratedMap == null) {
+ decoratedMap = new HashMap<Image, Image>();
+ cornerDecoratedImageMap.put(baseImage, decoratedMap);
+ }
+ //
+ Image result = decoratedMap.get(decorator);
+ if (result == null) {
+ Rectangle bib = baseImage.getBounds();
+ Rectangle dib = decorator.getBounds();
+ //
+ result = new Image(Display.getCurrent(), bib.width, bib.height);
+ //
+ GC gc = new GC(result);
+ gc.drawImage(baseImage, 0, 0);
+ if (corner == TOP_LEFT) {
+ gc.drawImage(decorator, 0, 0);
+ } else if (corner == TOP_RIGHT) {
+ gc.drawImage(decorator, bib.width - dib.width, 0);
+ } else if (corner == BOTTOM_LEFT) {
+ gc.drawImage(decorator, 0, bib.height - dib.height);
+ } else if (corner == BOTTOM_RIGHT) {
+ gc.drawImage(decorator, bib.width - dib.width, bib.height - dib.height);
+ }
+ gc.dispose();
+ //
+ decoratedMap.put(decorator, result);
+ }
+ return result;
+ }
+ /**
+ * Dispose all of the cached {@link Image}'s.
+ */
+ public static void disposeImages() {
+ // dispose loaded images
+ {
+ for (Image image : m_imageMap.values()) {
+ image.dispose();
+ }
+ m_imageMap.clear();
+ }
+ // dispose decorated images
+ for (int i = 0; i < m_decoratedImageMap.length; i++) {
+ Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[i];
+ if (cornerDecoratedImageMap != null) {
+ for (Map<Image, Image> decoratedMap : cornerDecoratedImageMap.values()) {
+ for (Image image : decoratedMap.values()) {
+ image.dispose();
+ }
+ decoratedMap.clear();
+ }
+ cornerDecoratedImageMap.clear();
+ }
+ }
+ }
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Font
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps font names to fonts.
+ */
+ private static Map<String, Font> m_fontMap = new HashMap<String, Font>();
+ /**
+ * Maps fonts to their bold versions.
+ */
+ private static Map<Font, Font> m_fontToBoldFontMap = new HashMap<Font, Font>();
+ /**
+ * Returns a {@link Font} based on its name, height and style.
+ *
+ * @param name
+ * the name of the font
+ * @param height
+ * the height of the font
+ * @param style
+ * the style of the font
+ * @return {@link Font} The font matching the name, height and style
+ */
+ public static Font getFont(String name, int height, int style) {
+ return getFont(name, height, style, false, false);
+ }
+ /**
+ * Returns a {@link Font} based on its name, height and style. Windows-specific strikeout and underline
+ * flags are also supported.
+ *
+ * @param name
+ * the name of the font
+ * @param size
+ * the size of the font
+ * @param style
+ * the style of the font
+ * @param strikeout
+ * the strikeout flag (warning: Windows only)
+ * @param underline
+ * the underline flag (warning: Windows only)
+ * @return {@link Font} The font matching the name, height, style, strikeout and underline
+ */
+ public static Font getFont(String name, int size, int style, boolean strikeout, boolean underline) {
+ String fontName = name + '|' + size + '|' + style + '|' + strikeout + '|' + underline;
+ Font font = m_fontMap.get(fontName);
+ if (font == null) {
+ FontData fontData = new FontData(name, size, style);
+ if (strikeout || underline) {
+ try {
+ Class<?> logFontClass = Class.forName("org.eclipse.swt.internal.win32.LOGFONT"); //$NON-NLS-1$
+ Object logFont = FontData.class.getField("data").get(fontData); //$NON-NLS-1$
+ if (logFont != null && logFontClass != null) {
+ if (strikeout) {
+ logFontClass.getField("lfStrikeOut").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
+ }
+ if (underline) {
+ logFontClass.getField("lfUnderline").set(logFont, Byte.valueOf((byte) 1)); //$NON-NLS-1$
+ }
+ }
+ } catch (Throwable e) {
+ System.err.println("Unable to set underline or strikeout" + " (probably on a non-Windows platform). " + e); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+ font = new Font(Display.getCurrent(), fontData);
+ m_fontMap.put(fontName, font);
+ }
+ return font;
+ }
+ /**
+ * Returns a bold version of the given {@link Font}.
+ *
+ * @param baseFont
+ * the {@link Font} for which a bold version is desired
+ * @return the bold version of the given {@link Font}
+ */
+ public static Font getBoldFont(Font baseFont) {
+ Font font = m_fontToBoldFontMap.get(baseFont);
+ if (font == null) {
+ FontData fontDatas[] = baseFont.getFontData();
+ FontData data = fontDatas[0];
+ font = new Font(Display.getCurrent(), data.getName(), data.getHeight(), SWT.BOLD);
+ m_fontToBoldFontMap.put(baseFont, font);
+ }
+ return font;
+ }
+ /**
+ * Dispose all of the cached {@link Font}'s.
+ */
+ public static void disposeFonts() {
+ // clear fonts
+ for (Font font : m_fontMap.values()) {
+ font.dispose();
+ }
+ m_fontMap.clear();
+ // clear bold fonts
+ for (Font font : m_fontToBoldFontMap.values()) {
+ font.dispose();
+ }
+ m_fontToBoldFontMap.clear();
+ }
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Cursor
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * Maps IDs to cursors.
+ */
+ private static Map<Integer, Cursor> m_idToCursorMap = new HashMap<Integer, Cursor>();
+ /**
+ * Returns the system cursor matching the specific ID.
+ *
+ * @param id
+ * int The ID value for the cursor
+ * @return Cursor The system cursor matching the specific ID
+ */
+ public static Cursor getCursor(int id) {
+ Integer key = Integer.valueOf(id);
+ Cursor cursor = m_idToCursorMap.get(key);
+ if (cursor == null) {
+ cursor = new Cursor(Display.getDefault(), id);
+ m_idToCursorMap.put(key, cursor);
+ }
+ return cursor;
+ }
+ /**
+ * Dispose all of the cached cursors.
+ */
+ public static void disposeCursors() {
+ for (Cursor cursor : m_idToCursorMap.values()) {
+ cursor.dispose();
+ }
+ m_idToCursorMap.clear();
+ }
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // General
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * Dispose of cached objects and their underlying OS resources. This should only be called when the cached
+ * objects are no longer needed (e.g. on application shutdown).
+ */
+ public static void dispose() {
+ disposeColors();
+ disposeImages();
+ disposeFonts();
+ disposeCursors();
+ }
+}