From: Patric Plitzner Date: Wed, 18 Dec 2013 08:49:10 +0000 (+0000) Subject: merge-update from trunk X-Git-Tag: 3.6.0~841^2~21 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/3f4118e6a2aab8c284f4e2b832f3083085f7a11a?hp=2ffc9bc78123041a1be8c396552db687b296e438 merge-update from trunk --- diff --git a/.gitattributes b/.gitattributes index e2b9f9652..ac76dd92f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10,6 +10,7 @@ eu.etaxonomy.taxeditor.application/icons/256color_32x32.gif -text eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif -text eu.etaxonomy.taxeditor.application/icons/256color_48x48.ico -text eu.etaxonomy.taxeditor.application/icons/edit_16x16.gif -text +eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.png -text eu.etaxonomy.taxeditor.application/p2.inf -text eu.etaxonomy.taxeditor.application/plugin.properties -text eu.etaxonomy.taxeditor.application/plugin.xml -text @@ -30,6 +31,7 @@ eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/SaveHand eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/TaxonomicEditorPlugin.java -text eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/BulkEditing.java -text eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Default.java -text +eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/DerivatePerspective.java -text eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PolytomousKey.java -text eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Taxonomic.java -text eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Uses.java -text @@ -115,6 +117,21 @@ eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkedito 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 @@ -318,8 +335,10 @@ eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF -text eu.etaxonomy.taxeditor.editor/build.properties -text eu.etaxonomy.taxeditor.editor/icons/address-book-new.png -text eu.etaxonomy.taxeditor.editor/icons/camera-photo.png -text +eu.etaxonomy.taxeditor.editor/icons/derivate_view-16x16-32.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 @@ -346,6 +365,7 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/CdmAuthorityEditorInput.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/handler/EditCdmAuthoritiesHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/EditNewTaxonHandler.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenDerivateViewHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenParentHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveAllHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveTaxonHandler.java -text @@ -452,6 +472,11 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/c 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/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/derivate/DerivateViewEditorInput.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 @@ -467,6 +492,7 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/d eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/MoveDescriptionElementsHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/MoveDescriptionToOtherTaxonHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateDescriptionElementOperation.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateSpecimenDescriptionOperation.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateTaxonDescriptionOperation.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteDescriptionElementOperation.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java -text @@ -923,6 +949,7 @@ eu.etaxonomy.taxeditor.store/icons/add_no_bg2.gif -text eu.etaxonomy.taxeditor.store/icons/alt_window_16.gif -text eu.etaxonomy.taxeditor.store/icons/alt_window_32.gif -text eu.etaxonomy.taxeditor.store/icons/applications-office.png -text +eu.etaxonomy.taxeditor.store/icons/artwork_derivate-16x16-32.png -text eu.etaxonomy.taxeditor.store/icons/autonym_no_bg.gif -text eu.etaxonomy.taxeditor.store/icons/back.gif -text eu.etaxonomy.taxeditor.store/icons/basionym.gif -text @@ -946,6 +973,8 @@ eu.etaxonomy.taxeditor.store/icons/db.gif -text eu.etaxonomy.taxeditor.store/icons/debug.gif -text eu.etaxonomy.taxeditor.store/icons/delete.gif -text eu.etaxonomy.taxeditor.store/icons/delete_edit.gif -text +eu.etaxonomy.taxeditor.store/icons/derivate_search_view-16x16-32.png -text +eu.etaxonomy.taxeditor.store/icons/dna_derivate-16x16-32.png -text eu.etaxonomy.taxeditor.store/icons/eclipse.gif -text eu.etaxonomy.taxeditor.store/icons/edit_16x16.gif -text eu.etaxonomy.taxeditor.store/icons/edit_16x16.ico -text @@ -953,6 +982,7 @@ eu.etaxonomy.taxeditor.store/icons/edit_256color.ICO -text eu.etaxonomy.taxeditor.store/icons/error_co.gif -text eu.etaxonomy.taxeditor.store/icons/expandAll.jpg -text eu.etaxonomy.taxeditor.store/icons/export.gif -text +eu.etaxonomy.taxeditor.store/icons/fieldunit-16x16-32.png -text eu.etaxonomy.taxeditor.store/icons/file_obj.gif -text eu.etaxonomy.taxeditor.store/icons/filter.gif -text eu.etaxonomy.taxeditor.store/icons/flat.gif -text @@ -1022,6 +1052,8 @@ eu.etaxonomy.taxeditor.store/icons/search_src.gif -text eu.etaxonomy.taxeditor.store/icons/settings.gif -text eu.etaxonomy.taxeditor.store/icons/smartmode_co.gif -text eu.etaxonomy.taxeditor.store/icons/sort.gif -text +eu.etaxonomy.taxeditor.store/icons/specimen_derivate-16x16-32.png -text +eu.etaxonomy.taxeditor.store/icons/specimen_scan_derivate-16x16-32.png -text eu.etaxonomy.taxeditor.store/icons/step_done.gif -text eu.etaxonomy.taxeditor.store/icons/swap.gif -text eu.etaxonomy.taxeditor.store/icons/swap2.gif -text @@ -1035,6 +1067,7 @@ eu.etaxonomy.taxeditor.store/icons/th_vertical.gif -text eu.etaxonomy.taxeditor.store/icons/thin_close_view.gif -text eu.etaxonomy.taxeditor.store/icons/thin_max_view.gif -text eu.etaxonomy.taxeditor.store/icons/thin_restore_view.GIF -text +eu.etaxonomy.taxeditor.store/icons/tissue_sample-16x16-32.png -text eu.etaxonomy.taxeditor.store/icons/trash.gif -text eu.etaxonomy.taxeditor.store/icons/tree_icon_small.jpg -text eu.etaxonomy.taxeditor.store/icons/undo.gif -text @@ -1138,6 +1171,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IDirtyMa eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IElementHasDetails.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartChangeListener.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartContentHasDetails.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartContentHasFactualData.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartContentHasSupplementalData.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/LineSelection.java -text @@ -1168,8 +1202,10 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewT eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTeamWizard.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewUserWizard.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/PolytomousKeyWizardPage.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractDescriptionPostOperation.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPersistentPostOperation.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostOperation.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostTaxonOperation.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/IPostOperationEnabled.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/MatchStrategyConfigurator.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/ParseHandler.java -text @@ -1225,6 +1261,43 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermMana 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/derivatesearch/DerivateLabelProvider.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchComposite.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchCompositeController.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchView.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 @@ -1264,7 +1337,6 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/Cdm 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 @@ -1313,6 +1385,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/Abs 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 @@ -1416,6 +1489,10 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/nam eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AmplificationCollectionSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AmplificationDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/ArtworkGeneralDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/ArtworkGeneralDetailSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java -text @@ -1423,14 +1500,20 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occ 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/DerivedUnitGeneralWizardPage.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/DnaSampleGeneralDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DnaSampleGeneralDetailSection.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 @@ -1439,13 +1522,31 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occ 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/GatheringEventDetailsWizardPage.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/IDerivedUnitFacadeDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/LivingPlantPhotoGeneralDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/LivingPlantPhotoGeneralDetailSection.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/PreservedSpecimenAbstractDeterminationEventDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenCurrentDeterminationDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationHistoryDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenGeneralDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenGeneralDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenSourceCollectionDetailSection.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/occurrence/SpecimenScanGeneralDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenScanGeneralDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/TissueSampleGeneralDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/TissueSampleGeneralDetailSection.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 @@ -1527,6 +1628,8 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/De 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 diff --git a/eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.png b/eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.png new file mode 100644 index 000000000..35b8a1a9b Binary files /dev/null and b/eu.etaxonomy.taxeditor.application/icons/specimen_derivate-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.application/plugin.xml b/eu.etaxonomy.taxeditor.application/plugin.xml index 19ef0c591..ff3de6627 100644 --- a/eu.etaxonomy.taxeditor.application/plugin.xml +++ b/eu.etaxonomy.taxeditor.application/plugin.xml @@ -36,6 +36,12 @@ id="eu.etaxonomy.taxeditor.application.perspective.uses" name="Uses"> + + diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/AnnotatedLineDocumentProvider.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/AnnotatedLineDocumentProvider.java index 2bd124f21..af7d40c9f 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/AnnotatedLineDocumentProvider.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/AnnotatedLineDocumentProvider.java @@ -1,9 +1,9 @@ // $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. */ @@ -25,8 +25,9 @@ import org.eclipse.jface.text.source.IAnnotationModel; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.texteditor.AbstractDocumentProvider; -import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil; import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput; +import eu.etaxonomy.taxeditor.dataimport.DerivedUnitEditorInput; +import eu.etaxonomy.taxeditor.model.AbstractUtility; @@ -54,11 +55,11 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { private LineAnnotationModel annotationModel; private IEntityCreator entityCreator; - + private ILineDisplayStrategy lineDisplayStrategy; private IEditorInput input; - + /** *

Constructor for AnnotatedLineDocumentProvider.

* @@ -67,12 +68,12 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { public AnnotatedLineDocumentProvider(IEditorInput input){ this.input = input; } - + /** {@inheritDoc} */ @Override public IAnnotationModel getAnnotationModel(Object element) { if (element == input) { - + // Create model as necessary if (annotationModel == null) { annotationModel = new LineAnnotationModel(getLineDisplayStrategy(element)); @@ -80,10 +81,10 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { } return annotationModel; } - + return null; } - + /** {@inheritDoc} */ @Override protected IAnnotationModel createAnnotationModel(Object element) @@ -96,28 +97,28 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { public IDocument getDocument(Object element) { return document; } - + /** {@inheritDoc} */ @Override protected IDocument createDocument(Object element) throws CoreException { - + if (element instanceof IEditorInput) { IEditorInput input = (IEditorInput) element; document = new Document(""); // IAnnotationModel model = getAnnotationModel(element); - + List entityList = getEntityList(element); - + if(entityList != null){ for (Object entity : entityList) { try { createAnnotatedLine(input, entity); } catch (BadLocationException e) { - BulkEditorUtil.error(getClass(), "Problems creating annotated line: ", e); + AbstractUtility.error(getClass(), "Problems creating annotated line: ", e); } - } + } } - + return document; } return null; @@ -132,12 +133,12 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object. */ protected LineAnnotation createAnnotatedLine(Object element, Object entity) throws BadLocationException { - + Document document = (Document) getDocument(element); ILineDisplayStrategy lineDisplayStrategy = getLineDisplayStrategy(element); - + LineAnnotation annotation = new LineAnnotation(entity, lineDisplayStrategy); - + // Is document zero length, or is last char in document line delimiter? int docLength = document.getLength(); boolean useDelimiter = false; @@ -149,7 +150,7 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { if (useDelimiter) { document.replace(docLength, 0, document.getDefaultLineDelimiter()); } - + String text; if (lineDisplayStrategy.isEntityCacheEmpty(entity)) { text = lineDisplayStrategy.getEmptyCacheMessage(entity); @@ -159,46 +160,46 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { text += lineDisplayStrategy.getSupplementalText(entity); docLength = document.getLength(); document.replace(docLength, 0, text); - + Position position = new Position(docLength, text.length()); - + IAnnotationModel model = getAnnotationModel(element); if(model != null){ model.addAnnotation(annotation, position); } - -// lineDisplayStrategy.addDisplayListener(entity, + +// lineDisplayStrategy.addDisplayListener(entity, // new EntityListenerImpl((LineAnnotation) annotation, element)); -// +// return annotation; } - - + + /** *

updateLineFromAnnotation

* * @param annotation a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object. */ public void updateLineFromAnnotation(LineAnnotation annotation) { - + IAnnotationModel model = getAnnotationModel(input); IDocument document = getDocument(input); ILineDisplayStrategy lineDisplay = getLineDisplayStrategy(input); - + Object entity = annotation.getEntity(); String text = ""; if (getLineDisplayStrategy(input).isEntityCacheEmpty(entity)) { text = lineDisplay.getEmptyCacheMessage(entity); } else { text = lineDisplay.getText(entity); - } + } text += lineDisplay.getSupplementalText(entity); - + try { if (model.getPosition(annotation) == null) { return; } - int offset = model.getPosition(annotation).getOffset(); + int offset = model.getPosition(annotation).getOffset(); int line = document.getLineOfOffset(offset); int lineLength = document.getLineLength(document.getLineOfOffset(offset)); if (document.getLineDelimiter(line) != null) { @@ -206,18 +207,21 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { } document.replace(offset, lineLength, text); } catch (BadLocationException e) { - BulkEditorUtil.error(getClass(), "Problem updating annotated line: " ,e); + AbstractUtility.error(getClass(), "Problem updating annotated line: " ,e); } } - + /** - * @param element + * @param element * @return */ private List getEntityList(Object element) { if (element instanceof AbstractBulkEditorInput) { return ((AbstractBulkEditorInput)element).getModel(); } + else if(element instanceof DerivedUnitEditorInput){ + return ((DerivedUnitEditorInput) element).getResults(); + } return null; } @@ -226,9 +230,9 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { protected void doSaveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite) throws CoreException { if (element instanceof AbstractBulkEditorInput) { - + IEntityPersistenceService persistenceService = (AbstractBulkEditorInput) element; - + // Get new containers from annotation model LineAnnotationModel model = (LineAnnotationModel) getAnnotationModel(element); Iterator iterator = model.getAnnotationIterator(); @@ -248,7 +252,7 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { continue; } if (annotation.isMarkedAsMerged()) { - persistenceService.merge(annotation.getEntity(), annotation.getMergeTarget()); // merge + persistenceService.merge(annotation.getEntity(), annotation.getMergeTarget()); // merge } else { // TODO clarify w AM whether this needs to be executed on merged objects //persistenceService.delete(annotation.getEntity()); // delete @@ -263,20 +267,20 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { protected IRunnableContext getOperationRunner(IProgressMonitor monitor) { return null; } - + /** {@inheritDoc} */ @Override public boolean isModifiable(Object element) { return true; } - + /** {@inheritDoc} */ @Override public boolean isReadOnly(Object element) { // enables copy & paste return false; } - + /** *

Getter for the field entityCreator.

* @@ -300,9 +304,9 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { ILineDisplayStrategy lineDisplayStrategy, Object element) { if (element instanceof IEditorInput) { this.lineDisplayStrategy = lineDisplayStrategy; - } + } } - + /** *

Getter for the field lineDisplayStrategy.

* @@ -316,7 +320,7 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { } return null; } - + /** *

removeAnnotatedLine

* @@ -326,7 +330,7 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { LineAnnotation annotation = (LineAnnotation) annotationModel.getAnnotation(entity); removeAnnotatedLine(annotation); } - + /** *

removeAnnotatedLine

* @@ -337,7 +341,7 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { LineAnnotation annotation = (LineAnnotation) annotationModel.getAnnotationAtLine(lineno, document); removeAnnotatedLine(annotation); } - + /** *

removeAnnotatedLine

* @@ -347,15 +351,15 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { if (annotation != null) { Document document = (Document) getDocument(input); LineAnnotationModel model = (LineAnnotationModel) getAnnotationModel(input); - + Position position = model.getPosition(annotation); int offset = position.getOffset(); int length = position.getLength(); - + Object entity = annotation.getEntity(); annotation.markAsDeleted(); model.removeAnnotation(annotation); - + // Immediately followed by a delimiter? int annotationEnd = offset + length; try { @@ -363,17 +367,17 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider { length += 2; } } catch (BadLocationException e1) { - BulkEditorUtil.error(getClass(), "Problems removing annotated line", e1); + AbstractUtility.error(getClass(), "Problems removing annotated line", e1); } - + try { document.replace(offset, length, ""); } catch (BadLocationException e) { - BulkEditorUtil.error(getClass(), "Problems removing annotated line", e); + AbstractUtility.error(getClass(), "Problems removing annotated line", e); } - } + } } - + /* (non-Javadoc) * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#changed(java.lang.Object) */ diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java index e0c5d808d..26628625f 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java @@ -1,17 +1,15 @@ // $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.bulkeditor; -import java.util.Iterator; - import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.MessageDialogWithToggle; @@ -21,7 +19,6 @@ import org.eclipse.jface.text.ITextSelection; import org.eclipse.jface.text.TextSelection; import org.eclipse.jface.text.source.Annotation; import org.eclipse.jface.text.source.AnnotationModel; -import org.eclipse.jface.text.source.IAnnotationModel; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.IVerticalRuler; import org.eclipse.jface.util.IPropertyChangeListener; @@ -62,9 +59,9 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe public static final String ID = "bulkeditor.editor"; private boolean isInitialFocus = true; - + private BulkEditorSearch searchBar = null; - + private IPropertyChangeListener markerPreferenceListener; /** @@ -81,32 +78,33 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe @Override protected void initializeEditor() { super.initializeEditor(); - + /** * see AbstractTextEditor javadoc for explanation of context menu ids */ setEditorContextMenuId("#BulkEditorContext"); // setEntityCreatorService(new BulkEditorEntityCreatorService()); - + setLineDisplayStrategy(new BulkEditorLineDisplay(this)); - + setSourceViewerConfiguration(new BulkEditorViewerConfiguration(lineDisplayStrategy)); } - + /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.bulkeditor.ListEditor#createSourceViewer(org.eclipse.swt.widgets.Composite, org.eclipse.jface.text.source.IVerticalRuler, int) */ /** {@inheritDoc} */ - protected ISourceViewer createSourceViewer(Composite parent, + @Override + protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles) { ISourceViewer viewer = super.createSourceViewer(parent, ruler, styles); - if (((AbstractBulkEditorInput) getEditorInput()).isMergingEnabled()) { + if (getEditorInput().isMergingEnabled()) { addToggleMergeCandidateListener(ruler.getControl()); } return viewer; } - + /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.bulkeditor.AnnotatedLineEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput) */ @@ -114,46 +112,46 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe @Override public void init(IEditorSite site, IEditorInput input) throws PartInitException { - + if (!(input instanceof AbstractBulkEditorInput)) { throw new PartInitException("Invalid Input: Must be BulkEditorInput"); } - + super.init(site, input); } - + /* (non-Javadoc) * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createPartControl(org.eclipse.swt.widgets.Composite) */ /** {@inheritDoc} */ @Override public void createPartControl(Composite parent) { - + parent.setLayout(new GridLayout()); - + Composite layoutComposite = new Composite(parent, SWT.NONE); layoutComposite.setLayout(new GridLayout()); GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false); layoutComposite.setLayoutData(gridData); - + // layoutComposite.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE)); - - + + searchBar = new BulkEditorSearch(this, layoutComposite, SWT.NONE); // layoutComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); - + super.createPartControl(parent); - + // Set viewer composite to fill grid. Unfortunately it is private and we have to do a little hack here. for (Control control : parent.getChildren()) { - if (control instanceof Composite && + if (control instanceof Composite && !(control.equals(layoutComposite))) { control.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); } } } - + /* (non-Javadoc) * @see org.eclipse.ui.editors.text.TextEditor#dispose() */ @@ -183,16 +181,16 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe public void setFocus() { searchBar.setFocus(); - // TODO find a better place to put this - this dialog should be shown after initial contents of + // TODO find a better place to put this - this dialog should be shown after initial contents of // Editor are displayed if (isInitialFocus) { displayWarningDialog(); isInitialFocus = false; } } - + /** - * + * */ private void displayWarningDialog() { IPreferenceStore prefs = PreferencesUtil.getPreferenceStore(); @@ -201,14 +199,14 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe "Any changes you make to an object in the Bulk Editor will be displayed wherever the object is used.\n\n" + "For instance, a reference may be displayed with both a name and a descriptive element. If the reference name is changed here, the display of both the name and the descriptive element will be affected."; MessageDialogWithToggle dialog = MessageDialogWithToggle.openOkCancelConfirm - (getSite().getShell(), "Bulk Editor", msg, "Do not show this message again", + (getSite().getShell(), "Bulk Editor", msg, "Do not show this message again", false, null, PreferencesUtil.HIDE_BULKEDITOR_INFO); - if (dialog.getReturnCode() == Window.OK) { + if (dialog.getReturnCode() == Window.OK) { prefs.setValue(PreferencesUtil.HIDE_BULKEDITOR_INFO, dialog.getToggleState()); } } } - + /** * @param control */ @@ -229,14 +227,14 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe * @param line a int. */ public void toggleMergeCandidateAnnotation(int line) { - + IDocument document = getSourceViewer().getDocument(); - LineAnnotationModel model = + LineAnnotationModel model = (LineAnnotationModel) getSourceViewer().getAnnotationModel(); - + if(model != null){ Annotation annotation = model.getAnnotationAtLine(line, document); - + if (annotation != null) { if (annotation.getType().equals(IBulkEditorConstants.TYPE_MERGE_CANDIDATE)) { model.changeAnnotationType( @@ -248,25 +246,26 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe } } } - + /** {@inheritDoc} */ - public void changed(Object object) { + @Override + public void changed(Object object) { // this.dirty = dirty; AnnotatedLineDocumentProvider p = (AnnotatedLineDocumentProvider) getDocumentProvider(); p.changed(object); // firePropertyChange(PROP_DIRTY); } - + /* (non-Javadoc) * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) */ /** {@inheritDoc} */ public void performSearch(BulkEditorQuery query) { if (query != null) { - + // TODO check if dirty, prompt save if (isDirty()) { - boolean proceed = MessageDialog.openQuestion(getEditorSite().getShell(), + boolean proceed = MessageDialog.openQuestion(getEditorSite().getShell(), "Save changes", "You have made changes that must be saved before this query can be executed. Would you like to proceed?"); if (proceed) { doSave(null); @@ -274,40 +273,41 @@ public class BulkEditor extends AnnotatedLineEditor implements IPartContentHasDe return; } } - + getEditorInput().performSearch(query); - + refresh(); - + selectFirstItem(); - + getSourceViewer().getTextWidget().setFocus(); } } - + private void selectFirstItem() { - ITextSelection selection = new TextSelection(0, 0); + ITextSelection selection = new TextSelection(0, 0); getSelectionProvider().setSelection(selection); } /** - * + * */ public void refresh() { if(getDocumentProvider().getAnnotationModel(getEditorInput()) != null){ ((AnnotationModel) getDocumentProvider().getAnnotationModel(getEditorInput())).removeAllAnnotations(); } - + setInput(getEditorInput()); } - + /** {@inheritDoc} */ @Override public AbstractBulkEditorInput getEditorInput() { return (AbstractBulkEditorInput) super.getEditorInput(); } - - protected void editorContextMenuAboutToShow(IMenuManager menu) { + + @Override + protected void editorContextMenuAboutToShow(IMenuManager menu) { super.editorContextMenuAboutToShow(menu); menu.remove(ITextEditorActionConstants.SHIFT_RIGHT); menu.remove(ITextEditorActionConstants.SHIFT_LEFT); diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorLineDisplay.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorLineDisplay.java index cd53d16cb..a6ae0fd77 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorLineDisplay.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorLineDisplay.java @@ -1,9 +1,9 @@ // $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. */ @@ -42,7 +42,7 @@ import eu.etaxonomy.taxeditor.preference.PreferencesUtil; * @version 1.0 */ public class BulkEditorLineDisplay implements ILineDisplayStrategy { - + private BulkEditor editor; /** @@ -58,7 +58,8 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.bulkeditor.ILineDisplayStrategy#getIcon(java.lang.Object) */ /** {@inheritDoc} */ - public Image getIcon(Object entity) { + @Override + public Image getIcon(Object entity) { return null; } @@ -66,7 +67,8 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.bulkeditor.ILineDisplayStrategy#getIndent(java.lang.Object) */ /** {@inheritDoc} */ - public int getIndent(Object entity) { + @Override + public int getIndent(Object entity) { return 0; } @@ -74,7 +76,8 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.bulkeditor.ILineDisplayStrategy#getText(java.lang.Object) */ /** {@inheritDoc} */ - public String getText(Object entity) { + @Override + public String getText(Object entity) { return editor.getEditorInput().getText((ICdmBase) entity); } @@ -83,20 +86,21 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getSupplementalText(java.lang.Object) */ /** {@inheritDoc} */ - public String getSupplementalText(Object entity) { - + @Override + public String getSupplementalText(Object entity) { + String supplementalText = ""; - + AbstractBulkEditorInput input = editor.getEditorInput(); String typeText = input.getTypeText(entity); - + supplementalText += StringUtils.isBlank(typeText) ? "" : String.format(" [%s]", typeText); - + if (entity instanceof IAnnotatableEntity) { IAnnotatableEntity annotatableEntity = (IAnnotatableEntity) HibernateProxyHelper.deproxy(entity); Map editMarkerTypePreferences = PreferencesUtil.getEditMarkerTypePreferences(); - + String markerText = ""; List markers = new ArrayList(); for (Marker marker : annotatableEntity.getMarkers()) { @@ -106,20 +110,21 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { if (! markers.isEmpty()) { markerText = StringUtils.join(markers, ", "); } - + supplementalText += StringUtils.isBlank(markerText) ? "" : String.format(" [%s]", markerText); } - + return supplementalText; } - + /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.bulkeditor.ILineDisplayStrategy#setText(java.lang.String, java.lang.Object) */ /** {@inheritDoc} */ - public void setText(String text, Object entity) { + @Override + public void setText(String text, Object entity) { if (entity instanceof Reference) { - ((Reference) entity).setTitleCache(text); + ((Reference) entity).setTitleCache(text); } } @@ -127,7 +132,8 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.bulkeditor.ILineDisplayStrategy#getHoverText(java.lang.Object) */ /** {@inheritDoc} */ - public String getHoverText(Object entity) { + @Override + public String getHoverText(Object entity) { return null; } @@ -135,15 +141,18 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.bulkeditor.ILineDisplayStrategy#setStatusMessage(java.lang.String, java.lang.Object) */ /** {@inheritDoc} */ - public void setStatusMessage(final String text, Object entity) { - + @Override + public void setStatusMessage(final String text, Object entity) { + // Calling from the synchronized method ListEditorReconcilingStrategy#doReconcile // without its own thread causes an invalid thread access exception // see http://wiki.eclipse.org/FAQ_Why_do_I_get_an_invalid_thread_access_exception%3F new Thread(new Runnable() { - public void run() { + @Override + public void run() { Display.getDefault().asyncExec(new Runnable() { - public void run() { + @Override + public void run() { IStatusLineManager statusLineManager = editor.getEditorSite().getActionBars().getStatusLineManager(); statusLineManager.setMessage(text); } @@ -156,7 +165,8 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getEmptyText(java.lang.Object) */ /** {@inheritDoc} */ - public String getEmptyCacheMessage(Object entity) { + @Override + public String getEmptyCacheMessage(Object entity) { if (entity instanceof Reference) { return "No reference title cache"; } @@ -173,17 +183,18 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#isEntityCacheEmpty(java.lang.Object) */ /** {@inheritDoc} */ - public boolean isEntityCacheEmpty(Object entity) { + @Override + public boolean isEntityCacheEmpty(Object entity) { if (entity instanceof Reference) { String text = ((Reference) entity).getTitleCache(); return (text == null || text.equals("")); } if (entity instanceof TaxonNameBase) { - String text = ((TaxonNameBase) entity).getTitleCache(); + String text = ((TaxonNameBase) entity).getTitleCache(); return (text == null || text.equals("")); } if (entity instanceof AgentBase) { - String text = ((AgentBase) entity).getTitleCache(); + String text = ((AgentBase) entity).getTitleCache(); return (text == null || text.equals("")); } return false; @@ -193,16 +204,17 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#addDisplayListener(java.lang.Object) */ /** {@inheritDoc} */ - public void addDisplayListener(Object entity, EntityListener listener) { - /* Note: all non-field specific listeners require that corresponding property sheets + @Override + public void addDisplayListener(Object entity, EntityListener listener) { + /* Note: all non-field specific listeners require that corresponding property sheets * contain the following: - * - * + * + * * public void setPropertyValue(Object id, Object value) { * ... * reference.firePropertyChange(new PropertyChangeEvent(reference, "", null, null)); * } - * + * */ if (entity instanceof CdmBase) { ((CdmBase) entity).addPropertyChangeListener(listener); @@ -213,7 +225,8 @@ public class BulkEditorLineDisplay implements ILineDisplayStrategy { * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getFont(java.lang.Object) */ /** {@inheritDoc} */ - public Font getFont(Object entity) { + @Override + public Font getFont(Object entity) { return null; } } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java index 8150e39ae..303373ac0 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java @@ -1,9 +1,9 @@ // $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. */ @@ -25,82 +25,82 @@ import org.eclipse.ui.menus.CommandContributionItemParameter; import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants; import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType; +import eu.etaxonomy.taxeditor.dataimport.DataImportEditor; /** *

* OpenBulkEditorContributionItem class. *

- * + * * @author p.ciardelli * @created 19.08.2009 * @version 1.0 */ public class OpenBulkEditorContributionItem extends CompoundContributionItem { - /** - *

- * Constructor for OpenBulkEditorContributionItem. - *

- */ - public OpenBulkEditorContributionItem() { - } + /** + *

+ * Constructor for OpenBulkEditorContributionItem. + *

+ */ + public OpenBulkEditorContributionItem() { + } - /** - *

- * Constructor for OpenBulkEditorContributionItem. - *

- * - * @param id - * a {@link java.lang.String} object. - */ - public OpenBulkEditorContributionItem(String id) { - super(id); - } + /** + *

+ * Constructor for OpenBulkEditorContributionItem. + *

+ * + * @param id + * a {@link java.lang.String} object. + */ + public OpenBulkEditorContributionItem(String id) { + super(id); + } - /* - * (non-Javadoc) - * - * @see - * org.eclipse.ui.actions.CompoundContributionItem#getContributionItems() - */ - /** {@inheritDoc} */ - @Override - protected IContributionItem[] getContributionItems() { + /* + * (non-Javadoc) + * + * @see + * org.eclipse.ui.actions.CompoundContributionItem#getContributionItems() + */ + /** {@inheritDoc} */ + @Override + protected IContributionItem[] getContributionItems() { - List contributionItems = new ArrayList(); + List contributionItems = new ArrayList(); - contributionItems.add(BulkEditorInputType.AGENT.createContributionItem()); - contributionItems.add(BulkEditorInputType.REFERENCE.createContributionItem()); - contributionItems.add(new Separator("test")); - contributionItems.add(BulkEditorInputType.NAME.createContributionItem()); - contributionItems.add(BulkEditorInputType.NAME_RELATIONSHIP.createContributionItem()); - contributionItems.add(new Separator("test")); - contributionItems.add(BulkEditorInputType.OCCURRENCE.createContributionItem()); - contributionItems.add(new Separator("test")); - contributionItems.add(BulkEditorInputType.USER.createContributionItem()); - contributionItems.add(BulkEditorInputType.GROUP.createContributionItem()); + contributionItems.add(BulkEditorInputType.AGENT.createContributionItem()); + contributionItems.add(BulkEditorInputType.REFERENCE.createContributionItem()); + String groupName = "test"; + contributionItems.add(new Separator(groupName)); + contributionItems.add(BulkEditorInputType.NAME.createContributionItem()); + contributionItems.add(BulkEditorInputType.NAME_RELATIONSHIP.createContributionItem()); + contributionItems.add(new Separator(groupName)); + contributionItems.add(BulkEditorInputType.OCCURRENCE.createContributionItem()); + contributionItems.add(new Separator(groupName)); + contributionItems.add(BulkEditorInputType.USER.createContributionItem()); + contributionItems.add(BulkEditorInputType.GROUP.createContributionItem()); + contributionItems.add(new Separator(groupName)); + contributionItems.add(createContributionItem("Search Specimen", DataImportEditor.ID)); - return contributionItems - .toArray(new IContributionItem[contributionItems.size()]); - } + return contributionItems.toArray(new IContributionItem[contributionItems.size()]); + } - /** - * @param key - * @param object - * @return - */ - private IContributionItem createContributionItem(String label, - String inputType) { - CommandContributionItemParameter parameter = new CommandContributionItemParameter( - PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null, - IBulkEditorConstants.DYNAMIC_OPEN_MENU_ID, SWT.NONE); + /** + * @param key + * @param object + * @return + */ + private IContributionItem createContributionItem(String label, String inputType) { + CommandContributionItemParameter parameter = new CommandContributionItemParameter(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null, IBulkEditorConstants.DYNAMIC_OPEN_MENU_ID, SWT.NONE); - parameter.label = label; + parameter.label = label; - Map parameters = new HashMap(); - parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType); - parameter.parameters = parameters; + Map parameters = new HashMap(); + parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType); + parameter.parameters = parameters; - return new CommandContributionItem(parameter); - } + return new CommandContributionItem(parameter); + } } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitFacadeMediaOperation.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitFacadeMediaOperation.java index 5b5e8e213..e673e513c 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitFacadeMediaOperation.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitFacadeMediaOperation.java @@ -22,7 +22,7 @@ import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.SpecimenDescription; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -31,7 +31,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @version 1.0 */ public class AddDerivedUnitFacadeMediaOperation extends - AbstractPostOperation { + AbstractPostTaxonOperation { public static final int DERIVED_UNIT_MEDIA = 0; public static final int FIELD_OBJECT_MEDIA = 1; diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java index c92942567..9da689de7 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java @@ -1,9 +1,9 @@ // $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. */ @@ -25,15 +25,16 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.common.ICdmBase; import eu.etaxonomy.cdm.model.common.IdentifiableEntity; import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; import eu.etaxonomy.cdm.strategy.merge.IMergable; import eu.etaxonomy.cdm.strategy.merge.MergeException; import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator; import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService; import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery; -import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil; import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider; import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.CdmBaseSortProvider; import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.TitleCacheComparator; +import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.store.CdmStore; /** @@ -47,16 +48,16 @@ import eu.etaxonomy.taxeditor.store.CdmStore; public abstract class AbstractBulkEditorInput implements IEditorInput, IEntityPersistenceService { /** - * + * */ private static final long serialVersionUID = 416414530232743735L; private UUID entityUuid; private List model; - + private IEntityCreator entityCreator; - + /** *

NewInstance

* @@ -66,7 +67,7 @@ public abstract class AbstractBulkEditorInput implements IEd static public AbstractBulkEditorInput NewInstance(BulkEditorInputType inputType) { return BulkEditorInputType.getInput(inputType); } - + /** *

NewInstance

* @@ -74,17 +75,17 @@ public abstract class AbstractBulkEditorInput implements IEd * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object. */ public static AbstractBulkEditorInput NewInstance(IdentifiableEntity entity) { - - + + BulkEditorInputType inputType = BulkEditorInputType.getByType(entity.getClass()); - + AbstractBulkEditorInput editorInput = NewInstance(inputType); - + editorInput.setEntityUuid(entity.getUuid()); - + return editorInput; } - + /** *

listEntities

* @@ -92,7 +93,7 @@ public abstract class AbstractBulkEditorInput implements IEd * @return a {@link java.util.List} object. */ protected abstract List listEntities(IIdentifiableEntityServiceConfigurator configurator); - + /** *

loadEntity

* @@ -104,7 +105,7 @@ public abstract class AbstractBulkEditorInput implements IEd private void setEntityUuid(UUID entityUuid){ this.entityUuid = entityUuid; } - + /** *

Getter for the field entityUuid.

* @@ -114,7 +115,7 @@ public abstract class AbstractBulkEditorInput implements IEd return entityUuid; } - + /* (non-Javadoc) * @see org.eclipse.ui.IEditorInput#exists() */ @@ -123,7 +124,8 @@ public abstract class AbstractBulkEditorInput implements IEd * * @return a boolean. */ - public boolean exists() { + @Override + public boolean exists() { // TODO Auto-generated method stub return false; } @@ -136,7 +138,8 @@ public abstract class AbstractBulkEditorInput implements IEd * * @return a {@link org.eclipse.jface.resource.ImageDescriptor} object. */ - public ImageDescriptor getImageDescriptor() { + @Override + public ImageDescriptor getImageDescriptor() { // TODO Auto-generated method stub return null; } @@ -149,7 +152,8 @@ public abstract class AbstractBulkEditorInput implements IEd * * @return a {@link org.eclipse.ui.IPersistableElement} object. */ - public IPersistableElement getPersistable() { + @Override + public IPersistableElement getPersistable() { return null; } @@ -157,7 +161,8 @@ public abstract class AbstractBulkEditorInput implements IEd * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ /** {@inheritDoc} */ - @SuppressWarnings("unchecked") + @Override + @SuppressWarnings("unchecked") public Object getAdapter(Class adapter) { return null; } @@ -168,30 +173,29 @@ public abstract class AbstractBulkEditorInput implements IEd * @param bulkEditorQuery a {@link eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery} object. */ public void performSearch(final BulkEditorQuery bulkEditorQuery) { - + List entityList = new ArrayList(); - + if(getEntityUuid() != null){ - + T entity = loadEntity(getEntityUuid()); entityList.add(entity); model = entityList; } else if(bulkEditorQuery != null){ - - String queryString = bulkEditorQuery.getSearchString(); + IIdentifiableEntityServiceConfigurator configurator = bulkEditorQuery.getSearchConfigurator(); Comparator queryComparator = (bulkEditorQuery.getComparator() != null) ? bulkEditorQuery.getComparator() : new TitleCacheComparator(); - + entityList = listEntities(configurator); - - Collections.sort(entityList, queryComparator); - + + Collections.sort(entityList, queryComparator); + } - + model = entityList; } - + /** *

isMergingEnabled

* @@ -210,32 +214,34 @@ public abstract class AbstractBulkEditorInput implements IEd public boolean isMarkerTypeEditingEnabled(MarkerType markerType) { return false; } - + /* * (non-Javadoc) * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#merge(eu.etaxonomy.cdm.model.common.IdentifiableEntity, eu.etaxonomy.cdm.model.common.IdentifiableEntity) */ /** {@inheritDoc} */ - public boolean merge(T entity, T mergeTarget) { + @Override + public boolean merge(T entity, T mergeTarget) { if (entity instanceof IMergable) { try { CdmStore.getService(ICommonService.class).merge((IMergable)mergeTarget, (IMergable)entity, null); } catch (MergeException e) { - BulkEditorUtil.error(getClass(), e); + AbstractUtility.error(getClass(), e); } } return true; - }; - + } + /* * (non-Javadoc) * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#create(eu.etaxonomy.cdm.model.common.IdentifiableEntity) */ /** {@inheritDoc} */ - public boolean create(T entity) { - return save(entity); - }; - + @Override + public boolean create(T entity) { + return save(entity); + } + public IEntityCreator getEntityCreator(){ if(entityCreator == null){ entityCreator = createEntityCreator(); @@ -254,9 +260,9 @@ public abstract class AbstractBulkEditorInput implements IEd */ public List> getSortProviders(){ List> sortProviders = new ArrayList>(); - + sortProviders.add(new CdmBaseSortProvider()); - + return sortProviders; } @@ -265,7 +271,7 @@ public abstract class AbstractBulkEditorInput implements IEd * @return */ public String getTypeText(Object entity){ - return entity.getClass().getSimpleName(); + return ((SpecimenOrObservationBase) entity).getRecordBasis().toString(); } /** @@ -275,13 +281,13 @@ public abstract class AbstractBulkEditorInput implements IEd public String getText(T entity) { if(entity instanceof IdentifiableEntity){ IdentifiableEntity identifiableEntity = (IdentifiableEntity) HibernateProxyHelper.deproxy(entity); - + return identifiableEntity.getTitleCache(); } - + return "No text. Implement in subclass"; } - + /** * @return */ diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/operation/SetMarkerFlagOperation.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/operation/SetMarkerFlagOperation.java index 0c0673a7e..3ed83e2da 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/operation/SetMarkerFlagOperation.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/operation/SetMarkerFlagOperation.java @@ -21,7 +21,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.common.IAnnotatableEntity; import eu.etaxonomy.cdm.model.common.Marker; import eu.etaxonomy.cdm.model.common.MarkerType; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created Dec 13, 2010 * @version 1.0 */ -public class SetMarkerFlagOperation extends AbstractPostOperation { +public class SetMarkerFlagOperation extends AbstractPostTaxonOperation { private Set annotatableEntities; private MarkerType markerType; diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditor.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditor.java new file mode 100644 index 000000000..1f905593d --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditor.java @@ -0,0 +1,55 @@ +// $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; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.ui.IEditorInput; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor; + +/** + * @author pplitzner + * @date 20.09.2013 + * + */ +public class DataImportEditor extends AnnotatedLineEditor { + + /** Constant ID="bulkeditor.input.nameRelationship" */ + public static final String ID = "eu.etaxonomy.taxeditor.dataimport.DataImportEditor"; + + /** + * Constructs a new DataImportEditor with a new {@link ConversationHolder} + */ + public DataImportEditor() { + super(null); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.editors.text.TextEditor#initializeEditor() + */ + /** {@inheritDoc} */ + @Override + protected void initializeEditor() { + super.initializeEditor(); + setLineDisplayStrategy(new DataImportEditorLineDisplayStrategy()); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor#doSetInput(org.eclipse.ui.IEditorInput) + */ + @Override + protected void doSetInput(IEditorInput input) throws CoreException { + super.doSetInput(input); + setPartName(input.getName()); + setTitleToolTip(input.getName()); + } + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditorLineDisplayStrategy.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditorLineDisplayStrategy.java new file mode 100644 index 000000000..cf91f3816 --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditorLineDisplayStrategy.java @@ -0,0 +1,122 @@ +// $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; + +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.Image; + +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.annotatedlineeditor.EntityListener; +import eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy; + +/** + * @author pplitzner + * @date 20.09.2013 + * + */ +public class DataImportEditorLineDisplayStrategy implements ILineDisplayStrategy { + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getIndent(java.lang.Object) + */ + @Override + public int getIndent(Object entity) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getIcon(java.lang.Object) + */ + @Override + public Image getIcon(Object entity) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getFont(java.lang.Object) + */ + @Override + public Font getFont(Object entity) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getText(java.lang.Object) + */ + @Override + public String getText(Object entity) { + return ((SpecimenOrObservationBase)entity).getTitleCache(); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getSupplementalText(java.lang.Object) + */ + @Override + public String getSupplementalText(Object entity) { + return ""; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getEmptyCacheMessage(java.lang.Object) + */ + @Override + public String getEmptyCacheMessage(Object entity) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#setText(java.lang.String, java.lang.Object) + */ + @Override + public void setText(String text, Object entity) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#getHoverText(java.lang.Object) + */ + @Override + public String getHoverText(Object entity) { + return ((SpecimenOrObservationBase)entity).getTitleCache(); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#setStatusMessage(java.lang.String, java.lang.Object) + */ + @Override + public void setStatusMessage(String text, Object entity) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#isEntityCacheEmpty(java.lang.Object) + */ + @Override + public boolean isEntityCacheEmpty(Object entity) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy#addDisplayListener(java.lang.Object, eu.etaxonomy.taxeditor.annotatedlineeditor.EntityListener) + */ + @Override + public void addDisplayListener(Object entity, EntityListener listener) { + // TODO Auto-generated method stub + + } + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java new file mode 100644 index 000000000..0fc3a93cb --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java @@ -0,0 +1,166 @@ +// $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; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URISyntaxException; +import java.util.Collections; +import java.util.List; + +import org.apache.http.client.ClientProtocolException; +import org.apache.log4j.Logger; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IPersistableElement; + +import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery; +import eu.etaxonomy.cdm.ext.biocase.BioCaseQueryServiceWrapper; +import eu.etaxonomy.cdm.io.common.CdmDefaultImport; +import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.dataimport.transientServices.TransientCdmRepository; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * @author pplitzner + * @date 20.09.2013 + * + */ +public class DerivedUnitEditorInput implements IEditorInput { + + private static Logger logger = Logger.getLogger(DerivedUnitEditorInput.class); + + private final BioCaseQuery query; + + /** + * @param results + */ + public DerivedUnitEditorInput(BioCaseQuery query) { + this.query = query; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#exists() + */ + @Override + public boolean exists() { + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getImageDescriptor() + */ + @Override + public ImageDescriptor getImageDescriptor() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getName() + */ + @Override + public String getName() { + return query.toString(); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getPersistable() + */ + @Override + public IPersistableElement getPersistable() { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getToolTipText() + */ + @Override + public String getToolTipText() { + return query.toString(); + } + + /** + * @return the results + */ + public List getResults() { + String errorMessage = "Could not execute query " + query; + List results = Collections.EMPTY_LIST; + try { + InputStream resultStream = new BioCaseQueryServiceWrapper().query(query); + Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false); + TransientCdmRepository repo = new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration()); + configurator.setCdmAppController(repo); + + CdmDefaultImport importer = new CdmDefaultImport(); + importer.invoke(configurator); + results = repo.getUnits(); +// Abcd206Import abcd206Import = new Abcd206Import(); +// Abcd206ImportState state = new Abcd206ImportState(configurator); +// abcd206Import.invoke(state); +// state.countTrees(); + } catch (ClientProtocolException e) { + logger.error(errorMessage, e); + } catch (IOException e) { + logger.error(errorMessage, e); + } catch (URISyntaxException e) { + logger.error(errorMessage, e); + } +// return new BioCaseQueryServiceWrapper().dummyData(); + return results; + } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((query == null) ? 0 : query.hashCode()); + return result; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + DerivedUnitEditorInput other = (DerivedUnitEditorInput) obj; + if (query == null) { + if (other.query != null) { + return false; + } + } else if (!query.equals(other.query)) { + return false; + } + return true; + } + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientAgentService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientAgentService.java new file mode 100644 index 000000000..42396edbd --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientAgentService.java @@ -0,0 +1,742 @@ +// $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.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +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.IAgentService; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; +import eu.etaxonomy.cdm.api.service.pager.Pager; +import eu.etaxonomy.cdm.common.monitor.IProgressMonitor; +import eu.etaxonomy.cdm.model.agent.Address; +import eu.etaxonomy.cdm.model.agent.AgentBase; +import eu.etaxonomy.cdm.model.agent.Institution; +import eu.etaxonomy.cdm.model.agent.InstitutionalMembership; +import eu.etaxonomy.cdm.model.agent.Person; +import eu.etaxonomy.cdm.model.agent.Team; +import eu.etaxonomy.cdm.model.common.Annotation; +import eu.etaxonomy.cdm.model.common.ISourceable; +import eu.etaxonomy.cdm.model.common.IdentifiableSource; +import eu.etaxonomy.cdm.model.common.LSID; +import eu.etaxonomy.cdm.model.common.Marker; +import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; +import eu.etaxonomy.cdm.model.media.Rights; +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.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 TransientAgentService implements IAgentService { + + private IAgentService defaultAgentService; + + /** + * @param defaultAgentService + */ + public TransientAgentService(IAgentService defaultAgentService) { + this.defaultAgentService = defaultAgentService; + } + + /** + * @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> pageAuditEvents(AgentBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths) { + return defaultAgentService.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 getAnnotations(AgentBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultAgentService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param code + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#searchInstitutionByCode(java.lang.String) + */ + @Override + public List searchInstitutionByCode(String code) { + return defaultAgentService.searchInstitutionByCode(code); + } + + /** + * @param person + * @param pageSize + * @param pageNumber + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#getInstitutionalMemberships(eu.etaxonomy.cdm.model.agent.Person, java.lang.Integer, java.lang.Integer) + */ + @Override + public Pager getInstitutionalMemberships(Person person, Integer pageSize, Integer pageNumber) { + return defaultAgentService.getInstitutionalMemberships(person, pageSize, pageNumber); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IService#clear() + */ + @Override + public void clear() { + defaultAgentService.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(AgentBase t, LockMode lockMode) { + defaultAgentService.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(AgentBase t, LockMode lockMode, List propertyPaths) { + defaultAgentService.refresh(t, lockMode, propertyPaths); + } + + /** + * @param team + * @param pageSize + * @param pageNumber + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#getMembers(eu.etaxonomy.cdm.model.agent.Team, java.lang.Integer, java.lang.Integer) + */ + @Override + public Pager getMembers(Team team, Integer pageSize, Integer pageNumber) { + return defaultAgentService.getMembers(team, pageSize, pageNumber); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache() + */ + @Override + public void updateTitleCache() { + defaultAgentService.updateTitleCache(); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getNextAuditEvent(AgentBase t) { + return defaultAgentService.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 getMarkers(AgentBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultAgentService.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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy cacheStrategy, IProgressMonitor monitor) { + defaultAgentService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor); + } + + /** + * @param agent + * @param pageSize + * @param pageNumber + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#getAddresses(eu.etaxonomy.cdm.model.agent.AgentBase, java.lang.Integer, java.lang.Integer) + */ + @Override + public Pager
getAddresses(AgentBase agent, Integer pageSize, Integer pageNumber) { + return defaultAgentService.getAddresses(agent, pageSize, pageNumber); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getPreviousAuditEvent(AgentBase t) { + return defaultAgentService.getPreviousAuditEvent(t); + } + + /** + * @param clazz + * @return + * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class) + */ + @Override + public int count(Class clazz) { + return defaultAgentService.count(clazz); + } + + /** + * @param clazz + * @param queryString + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager search(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultAgentService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List propertyPaths) { + return defaultAgentService.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 AgentBase find(LSID lsid) { + return defaultAgentService.find(lsid); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID delete(AgentBase persistentObject) throws ReferencedObjectUndeletableException{ + return defaultAgentService.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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultAgentService.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 defaultAgentService.exists(uuid); + } + + /** + * @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 AgentBase replace(AgentBase x, AgentBase y) { + return defaultAgentService.replace(x, y); + } + + /** + * @param uuidSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set) + */ + @Override + public List find(Set uuidSet) { + return defaultAgentService.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 getSources(AgentBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultAgentService.getSources(t, pageSize, pageNumber, propertyPaths); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID) + */ + @Override + public AgentBase find(UUID uuid) { + return defaultAgentService.find(uuid); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#getPersonUuidAndTitleCache() + */ + @Override + public List> getPersonUuidAndTitleCache() { + return defaultAgentService.getPersonUuidAndTitleCache(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#getTeamUuidAndTitleCache() + */ + @Override + public List> getTeamUuidAndTitleCache() { + return defaultAgentService.getTeamUuidAndTitleCache(); + } + + /** + * @param id + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(int) + */ + @Override + public AgentBase find(int id) { + return defaultAgentService.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 getRights(AgentBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultAgentService.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 clazz, Boolean technical) { + return defaultAgentService.countMarkers(clazz, technical); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#getTeamUuidAndNomenclaturalTitle() + */ + @Override + public List> getTeamUuidAndNomenclaturalTitle() { + return defaultAgentService.getTeamUuidAndNomenclaturalTitle(); + } + + /** + * @param idSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set) + */ + @Override + public List findById(Set idSet) { + return defaultAgentService.findById(idSet); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IAgentService#getInstitutionUuidAndTitleCache() + */ + @Override + public List> getInstitutionUuidAndTitleCache() { + return defaultAgentService.getInstitutionUuidAndTitleCache(); + } + + /** + * @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 defaultAgentService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IService#getSession() + */ + @Override + public Session getSession() { + return defaultAgentService.getSession(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache() + */ + @Override + public List> getUuidAndTitleCache() { + return defaultAgentService.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 group(Class clazz, Integer limit, Integer start, List groups, List propertyPaths) { + return defaultAgentService.group(clazz, limit, start, groups, propertyPaths); + } + + /** + * @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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultAgentService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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 list(Class type, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultAgentService.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 findByTitle(IIdentifiableEntityServiceConfigurator configurator) { + return defaultAgentService.findByTitle(configurator); + } + + /** + * @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 clazz, String queryString, MatchMode matchmode, List criteria) { + return defaultAgentService.countByTitle(clazz, queryString, matchmode, criteria); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID) + */ + @Override + public AgentBase load(UUID uuid) { + return defaultAgentService.load(uuid); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List) + */ + @Override + public AgentBase load(UUID uuid, List propertyPaths) { + return defaultAgentService.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 configurator) { + return defaultAgentService.countByTitle(configurator); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public AgentBase merge(AgentBase transientObject) { + return defaultAgentService.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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultAgentService.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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultAgentService.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(AgentBase persistentObject) { + return defaultAgentService.refresh(persistentObject); + } + + /** + * @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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultAgentService.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 rows(String tableName, int limit, int start) { + return defaultAgentService.rows(tableName, limit, start); + } + + /** + * @param newInstances + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection) + */ + @Override + public Map save(Collection newInstances) { + return null; + } + + /** + * @param newInstance + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID save(AgentBase newInstance) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID saveOrUpdate(AgentBase transientObject) { + return null; + } + + /** + * @param transientObjects + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection) + */ + @Override + public Map saveOrUpdate(Collection transientObjects) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID update(AgentBase transientObject) { + return defaultAgentService.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 list(AgentBase example, Set includeProperties, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultAgentService.list(example, includeProperties, limit, start, orderHints, propertyPaths); + } + + /** + * @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 clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) { + return defaultAgentService.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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, MatchMode matchMode) { + return defaultAgentService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode); + }; + + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCdmRepository.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCdmRepository.java new file mode 100644 index 000000000..3cc18f7fe --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCdmRepository.java @@ -0,0 +1,384 @@ +// $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.util.List; + +import org.springframework.security.access.PermissionEvaluator; +import org.springframework.security.authentication.ProviderManager; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionStatus; + +import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.service.IAgentService; +import eu.etaxonomy.cdm.api.service.IClassificationService; +import eu.etaxonomy.cdm.api.service.ICollectionService; +import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.api.service.IDatabaseService; +import eu.etaxonomy.cdm.api.service.IDescriptionService; +import eu.etaxonomy.cdm.api.service.IFeatureNodeService; +import eu.etaxonomy.cdm.api.service.IFeatureTreeService; +import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService; +import eu.etaxonomy.cdm.api.service.IGroupService; +import eu.etaxonomy.cdm.api.service.IIdentificationKeyService; +import eu.etaxonomy.cdm.api.service.ILocationService; +import eu.etaxonomy.cdm.api.service.IMediaService; +import eu.etaxonomy.cdm.api.service.INameService; +import eu.etaxonomy.cdm.api.service.IOccurrenceService; +import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService; +import eu.etaxonomy.cdm.api.service.IPolytomousKeyService; +import eu.etaxonomy.cdm.api.service.IReferenceService; +import eu.etaxonomy.cdm.api.service.IService; +import eu.etaxonomy.cdm.api.service.ITaxonNodeService; +import eu.etaxonomy.cdm.api.service.ITaxonService; +import eu.etaxonomy.cdm.api.service.ITermService; +import eu.etaxonomy.cdm.api.service.IUserService; +import eu.etaxonomy.cdm.api.service.IVocabularyService; +import eu.etaxonomy.cdm.api.service.IWorkingSetService; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; + +/** + * @author pplitzner + * @date 26.09.2013 + * + */ +public class TransientCdmRepository implements ICdmApplicationConfiguration { + + private ICdmApplicationConfiguration defaultApplicationConfiguration; + private TransientOccurenceService occurenceService; + + public List getUnits(){ + return occurenceService.getUnits(); + } + + /** + * @param defaultApplicationConfiguration + */ + public TransientCdmRepository(ICdmApplicationConfiguration defaultApplicationConfiguration) { + this.defaultApplicationConfiguration = defaultApplicationConfiguration; + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#NewConversation() + */ + @Override + public ConversationHolder NewConversation() { + return defaultApplicationConfiguration.NewConversation(); + } + + /** + * @param arg0 + * @param arg1 + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#authenticate(java.lang.String, java.lang.String) + */ + @Override + public void authenticate(String arg0, String arg1) { + defaultApplicationConfiguration.authenticate(arg0, arg1); + } + + /** + * @param arg0 + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#commitTransaction(org.springframework.transaction.TransactionStatus) + */ + @Override + public void commitTransaction(TransactionStatus arg0) { + defaultApplicationConfiguration.commitTransaction(arg0); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAgentService() + */ + @Override + public IAgentService getAgentService() { + return new TransientAgentService(defaultApplicationConfiguration.getAgentService()); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAuthenticationManager() + */ + @Override + public ProviderManager getAuthenticationManager() { + return defaultApplicationConfiguration.getAuthenticationManager(); + } + + /** + * @param arg0 + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getBean(java.lang.String) + */ + @Override + public Object getBean(String arg0) { + return defaultApplicationConfiguration.getBean(arg0); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getClassificationService() + */ + @Override + public IClassificationService getClassificationService() { + return new TransientClassificationService(defaultApplicationConfiguration.getClassificationService()); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getCollectionService() + */ + @Override + public ICollectionService getCollectionService() { + return new TransientCollectionService(defaultApplicationConfiguration.getCollectionService()); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getCommonService() + */ + @Override + public ICommonService getCommonService() { + return defaultApplicationConfiguration.getCommonService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getDatabaseService() + */ + @Override + public IDatabaseService getDatabaseService() { + return defaultApplicationConfiguration.getDatabaseService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getDescriptionService() + */ + @Override + public IDescriptionService getDescriptionService() { + return new TransientDescriptionService(defaultApplicationConfiguration.getDescriptionService()); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getFeatureNodeService() + */ + @Override + public IFeatureNodeService getFeatureNodeService() { + return defaultApplicationConfiguration.getFeatureNodeService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getFeatureTreeService() + */ + @Override + public IFeatureTreeService getFeatureTreeService() { + return defaultApplicationConfiguration.getFeatureTreeService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getGrantedAuthorityService() + */ + @Override + public IGrantedAuthorityService getGrantedAuthorityService() { + return defaultApplicationConfiguration.getGrantedAuthorityService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getGroupService() + */ + @Override + public IGroupService getGroupService() { + return defaultApplicationConfiguration.getGroupService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getIdentificationKeyService() + */ + @Override + public IIdentificationKeyService getIdentificationKeyService() { + return defaultApplicationConfiguration.getIdentificationKeyService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getLocationService() + */ + @Override + public ILocationService getLocationService() { + return defaultApplicationConfiguration.getLocationService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getMainService() + */ + @Override + public IService getMainService() { + return defaultApplicationConfiguration.getMainService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getMediaService() + */ + @Override + public IMediaService getMediaService() { + return defaultApplicationConfiguration.getMediaService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getNameService() + */ + @Override + public INameService getNameService() { + return new TransientNameService(defaultApplicationConfiguration.getNameService()); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getOccurrenceService() + */ + @Override + public IOccurrenceService getOccurrenceService() { + if(occurenceService==null){ + occurenceService = new TransientOccurenceService(defaultApplicationConfiguration.getOccurrenceService()); + } + return occurenceService; + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPermissionEvaluator() + */ + @Override + public PermissionEvaluator getPermissionEvaluator() { + return defaultApplicationConfiguration.getPermissionEvaluator(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPolytomousKeyNodeService() + */ + @Override + public IPolytomousKeyNodeService getPolytomousKeyNodeService() { + return defaultApplicationConfiguration.getPolytomousKeyNodeService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPolytomousKeyService() + */ + @Override + public IPolytomousKeyService getPolytomousKeyService() { + return defaultApplicationConfiguration.getPolytomousKeyService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getReferenceService() + */ + @Override + public IReferenceService getReferenceService() { + return new TransientReferenceService(defaultApplicationConfiguration.getReferenceService()); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTaxonNodeService() + */ + @Override + public ITaxonNodeService getTaxonNodeService() { + return defaultApplicationConfiguration.getTaxonNodeService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTaxonService() + */ + @Override + public ITaxonService getTaxonService() { + return new TransientTaxonService(defaultApplicationConfiguration.getTaxonService()); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTermService() + */ + @Override + public ITermService getTermService() { + return new TransientTermService(defaultApplicationConfiguration.getTermService()); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTransactionManager() + */ + @Override + public PlatformTransactionManager getTransactionManager() { + return defaultApplicationConfiguration.getTransactionManager(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getUserService() + */ + @Override + public IUserService getUserService() { + return defaultApplicationConfiguration.getUserService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getVocabularyService() + */ + @Override + public IVocabularyService getVocabularyService() { + return defaultApplicationConfiguration.getVocabularyService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getWorkingSetService() + */ + @Override + public IWorkingSetService getWorkingSetService() { + return defaultApplicationConfiguration.getWorkingSetService(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#startTransaction() + */ + @Override + public TransactionStatus startTransaction() { + return defaultApplicationConfiguration.startTransaction(); + } + + /** + * @param arg0 + * @return + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#startTransaction(java.lang.Boolean) + */ + @Override + public TransactionStatus startTransaction(Boolean arg0) { + return defaultApplicationConfiguration.startTransaction(arg0); + } + + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientClassificationService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientClassificationService.java new file mode 100644 index 000000000..856dc47dc --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientClassificationService.java @@ -0,0 +1,922 @@ +// $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.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +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.IClassificationService; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; +import eu.etaxonomy.cdm.api.service.pager.Pager; +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.IdentifiableSource; +import eu.etaxonomy.cdm.model.common.LSID; +import eu.etaxonomy.cdm.model.common.Marker; +import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; +import eu.etaxonomy.cdm.model.media.MediaRepresentation; +import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.name.Rank; +import eu.etaxonomy.cdm.model.taxon.Classification; +import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.cdm.model.taxon.TaxonNode; +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.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 TransientClassificationService implements IClassificationService { + + private IClassificationService defaultClassificationService; + + /** + * @param defaultClassificationService + */ + public TransientClassificationService(IClassificationService defaultClassificationService) { + this.defaultClassificationService = defaultClassificationService; + } + + /** + * @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> pageAuditEvents(Classification t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths) { + return defaultClassificationService.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 getAnnotations(Classification annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultClassificationService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#getTaxonNodeByUuid(java.util.UUID) + */ + @Override + public TaxonNode getTaxonNodeByUuid(UUID uuid) { + return defaultClassificationService.getTaxonNodeByUuid(uuid); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#getTreeNodeByUuid(java.util.UUID) + */ + @Override + public ITaxonTreeNode getTreeNodeByUuid(UUID uuid) { + return defaultClassificationService.getTreeNodeByUuid(uuid); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IService#clear() + */ + @Override + public void clear() { + defaultClassificationService.clear(); + } + + /** + * @param limit + * @param start + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#listClassifications(java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public List listClassifications(Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultClassificationService.listClassifications(limit, start, orderHints, propertyPaths); + } + + /** + * @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(Classification t, LockMode lockMode) { + defaultClassificationService.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(Classification t, LockMode lockMode, List propertyPaths) { + defaultClassificationService.refresh(t, lockMode, propertyPaths); + } + + /** + * @param taxon + * @param classificationUuid + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadTaxonNodeByTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.UUID, java.util.List) + */ + @Deprecated + @Override + public TaxonNode loadTaxonNodeByTaxon(Taxon taxon, UUID classificationUuid, List propertyPaths) { + return defaultClassificationService.loadTaxonNodeByTaxon(taxon, classificationUuid, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache() + */ + @Override + public void updateTitleCache() { + defaultClassificationService.updateTitleCache(); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getNextAuditEvent(Classification t) { + return defaultClassificationService.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 getMarkers(Classification annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultClassificationService.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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy cacheStrategy, IProgressMonitor monitor) { + defaultClassificationService.updateTitleCache(clazz, stepSize, cacheStrategy, monitor); + } + + /** + * @param taxonNode + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadTaxonNode(eu.etaxonomy.cdm.model.taxon.TaxonNode, java.util.List) + */ + @Deprecated + @Override + public TaxonNode loadTaxonNode(TaxonNode taxonNode, List propertyPaths) { + return defaultClassificationService.loadTaxonNode(taxonNode, propertyPaths); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getPreviousAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getPreviousAuditEvent(Classification t) { + return defaultClassificationService.getPreviousAuditEvent(t); + } + + /** + * @param classification + * @param rank + * @param limit + * @param start + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadRankSpecificRootNodes(eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Deprecated + @Override + public List loadRankSpecificRootNodes(Classification classification, Rank rank, Integer limit, Integer start, List propertyPaths) { + return defaultClassificationService.loadRankSpecificRootNodes(classification, rank, limit, start, propertyPaths); + } + + /** + * @param clazz + * @return + * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class) + */ + @Override + public int count(Class clazz) { + return defaultClassificationService.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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List propertyPaths) { + return defaultClassificationService.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 Classification find(LSID lsid) { + return defaultClassificationService.find(lsid); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID delete(Classification persistentObject) throws ReferencedObjectUndeletableException{ + return defaultClassificationService.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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultClassificationService.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 defaultClassificationService.exists(uuid); + } + + /** + * @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 Classification replace(Classification x, Classification y) { + return defaultClassificationService.replace(x, y); + } + + /** + * @param uuidSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set) + */ + @Override + public List find(Set uuidSet) { + return defaultClassificationService.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 getSources(Classification t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultClassificationService.getSources(t, pageSize, pageNumber, propertyPaths); + } + + /** + * @param classification + * @param rank + * @param pageSize + * @param pageIndex + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#listRankSpecificRootNodes(eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public List listRankSpecificRootNodes(Classification classification, Rank rank, Integer pageSize, Integer pageIndex, List propertyPaths) { + return defaultClassificationService.listRankSpecificRootNodes(classification, rank, pageSize, pageIndex, propertyPaths); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID) + */ + @Override + public Classification find(UUID uuid) { + return defaultClassificationService.find(uuid); + } + + /** + * @param id + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(int) + */ + @Override + public Classification find(int id) { + return defaultClassificationService.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 getRights(Classification t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultClassificationService.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 clazz, Boolean technical) { + return defaultClassificationService.countMarkers(clazz, technical); + } + + /** + * @param idSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set) + */ + @Override + public List findById(Set idSet) { + return defaultClassificationService.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 defaultClassificationService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace); + } + + /** + * @param classification + * @param rank + * @param pageSize + * @param pageIndex + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#pageRankSpecificRootNodes(eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager pageRankSpecificRootNodes(Classification classification, Rank rank, Integer pageSize, Integer pageIndex, List propertyPaths) { + return defaultClassificationService.pageRankSpecificRootNodes(classification, rank, pageSize, pageIndex, propertyPaths); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IService#getSession() + */ + @Override + public Session getSession() { + return defaultClassificationService.getSession(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache() + */ + @Override + public List> getUuidAndTitleCache() { + return defaultClassificationService.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 group(Class clazz, Integer limit, Integer start, List groups, List propertyPaths) { + return defaultClassificationService.group(clazz, limit, start, groups, propertyPaths); + } + + /** + * @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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultClassificationService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param taxonNode + * @param baseRank + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadTreeBranch(eu.etaxonomy.cdm.model.taxon.TaxonNode, eu.etaxonomy.cdm.model.name.Rank, java.util.List) + */ + @Override + public List loadTreeBranch(TaxonNode taxonNode, Rank baseRank, List propertyPaths) { + return defaultClassificationService.loadTreeBranch(taxonNode, baseRank, propertyPaths); + } + + /** + * @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 list(Class type, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultClassificationService.list(type, limit, start, orderHints, propertyPaths); + } + + /** + * @param taxon + * @param classification + * @param baseRank + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadTreeBranchToTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, eu.etaxonomy.cdm.model.name.Rank, java.util.List) + */ + @Override + public List loadTreeBranchToTaxon(Taxon taxon, Classification classification, Rank baseRank, List propertyPaths) { + return defaultClassificationService.loadTreeBranchToTaxon(taxon, classification, baseRank, propertyPaths); + } + + /** + * @param configurator + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator) + */ + @Override + public Pager findByTitle(IIdentifiableEntityServiceConfigurator configurator) { + return defaultClassificationService.findByTitle(configurator); + } + + /** + * @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 clazz, String queryString, MatchMode matchmode, List criteria) { + return defaultClassificationService.countByTitle(clazz, queryString, matchmode, criteria); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID) + */ + @Override + public Classification load(UUID uuid) { + return defaultClassificationService.load(uuid); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List) + */ + @Override + public Classification load(UUID uuid, List propertyPaths) { + return defaultClassificationService.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 configurator) { + return defaultClassificationService.countByTitle(configurator); + } + + /** + * @param taxon + * @param classification + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadChildNodesOfTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List) + */ + @Override + public List loadChildNodesOfTaxon(Taxon taxon, Classification classification, List propertyPaths) { + return defaultClassificationService.loadChildNodesOfTaxon(taxon, classification, propertyPaths); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public Classification merge(Classification transientObject) { + return defaultClassificationService.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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultClassificationService.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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultClassificationService.page(type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param taxonNode + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IClassificationService#loadChildNodesOfTaxonNode(eu.etaxonomy.cdm.model.taxon.TaxonNode, java.util.List) + */ + @Deprecated + @Override + public List loadChildNodesOfTaxonNode(TaxonNode taxonNode, List propertyPaths) { + return defaultClassificationService.loadChildNodesOfTaxonNode(taxonNode, propertyPaths); + } + + /** + * @param classification + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(eu.etaxonomy.cdm.model.taxon.Classification) + */ + @Override + public List> getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(Classification classification) { + return defaultClassificationService.getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(classification); + } + + /** + * @param taxon + * @param taxTree + * @param propertyPaths + * @param size + * @param height + * @param widthOrDuration + * @param mimeTypes + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IClassificationService#getAllMediaForChildNodes(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, int, int, int, java.lang.String[]) + */ + @Deprecated + @Override + public Map> getAllMediaForChildNodes(Taxon taxon, Classification taxTree, List propertyPaths, int size, int height, int widthOrDuration, String[] mimeTypes) { + return defaultClassificationService.getAllMediaForChildNodes(taxon, taxTree, propertyPaths, size, height, widthOrDuration, mimeTypes); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID refresh(Classification persistentObject) { + return defaultClassificationService.refresh(persistentObject); + } + + /** + * @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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultClassificationService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param taxonNode + * @param propertyPaths + * @param size + * @param height + * @param widthOrDuration + * @param mimeTypes + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#getAllMediaForChildNodes(eu.etaxonomy.cdm.model.taxon.TaxonNode, java.util.List, int, int, int, java.lang.String[]) + */ + @Override + public Map> getAllMediaForChildNodes(TaxonNode taxonNode, List propertyPaths, int size, int height, int widthOrDuration, String[] mimeTypes) { + return defaultClassificationService.getAllMediaForChildNodes(taxonNode, propertyPaths, size, height, widthOrDuration, mimeTypes); + } + + /** + * @param tableName + * @param limit + * @param start + * @return + * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int) + */ + @Override + public List rows(String tableName, int limit, int start) { + return defaultClassificationService.rows(tableName, limit, start); + } + + /** + * @param newInstances + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection) + */ + @Override + public Map save(Collection newInstances) { + return null; + } + + /** + * @param taxonNode + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IClassificationService#removeTaxonNode(eu.etaxonomy.cdm.model.taxon.TaxonNode) + */ + @Deprecated + @Override + public UUID removeTaxonNode(TaxonNode taxonNode) { + return defaultClassificationService.removeTaxonNode(taxonNode); + } + + /** + * @param taxonNode + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IClassificationService#saveTaxonNode(eu.etaxonomy.cdm.model.taxon.TaxonNode) + */ + @Deprecated + @Override + public UUID saveTaxonNode(TaxonNode taxonNode) { + return null; + } + + /** + * @param newInstance + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID save(Classification newInstance) { + return null; + } + + /** + * @param taxonNodeCollection + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IClassificationService#saveTaxonNodeAll(java.util.Collection) + */ + @Deprecated + @Override + public Map saveTaxonNodeAll(Collection taxonNodeCollection) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID saveOrUpdate(Classification transientObject) { + return null; + } + + /** + * @param treeNode + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#removeTreeNode(eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode) + */ + @Override + public UUID removeTreeNode(ITaxonTreeNode treeNode) { + return defaultClassificationService.removeTreeNode(treeNode); + } + + /** + * @param clazz + * @param queryString + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager search(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultClassificationService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param treeNode + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#saveTreeNode(eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode) + */ + @Override + public UUID saveTreeNode(ITaxonTreeNode treeNode) { + return null; + } + + /** + * @param transientObjects + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection) + */ + @Override + public Map saveOrUpdate(Collection transientObjects) { + return null; + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IClassificationService#getAllNodes() + */ + @Override + public List getAllNodes() { + return defaultClassificationService.getAllNodes(); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID update(Classification transientObject) { + return defaultClassificationService.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 list(Classification example, Set includeProperties, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultClassificationService.list(example, includeProperties, limit, start, orderHints, propertyPaths); + } + + /** + * @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 clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) { + return defaultClassificationService.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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, MatchMode matchMode) { + return defaultClassificationService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode); + } + + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCollectionService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCollectionService.java new file mode 100644 index 000000000..417956410 --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCollectionService.java @@ -0,0 +1,660 @@ +// $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.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +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.ICollectionService; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; +import eu.etaxonomy.cdm.api.service.pager.Pager; +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.IdentifiableSource; +import eu.etaxonomy.cdm.model.common.LSID; +import eu.etaxonomy.cdm.model.common.Marker; +import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; +import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.occurrence.Collection; +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.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 TransientCollectionService implements ICollectionService { + + private ICollectionService defaultCollectionService; + + /** + * @param defaultCollectionService + */ + public TransientCollectionService(ICollectionService defaultCollectionService) { + this.defaultCollectionService = defaultCollectionService; + } + + /** + * @param clazz + * @param query + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.ICollectionService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager search(Class clazz, String query, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultCollectionService.search(clazz, query, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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> pageAuditEvents(Collection t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths) { + return defaultCollectionService.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 getAnnotations(Collection annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultCollectionService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IService#clear() + */ + @Override + public void clear() { + defaultCollectionService.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(Collection t, LockMode lockMode) { + defaultCollectionService.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(Collection t, LockMode lockMode, List propertyPaths) { + defaultCollectionService.refresh(t, lockMode, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache() + */ + @Override + public void updateTitleCache() { + defaultCollectionService.updateTitleCache(); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getNextAuditEvent(Collection t) { + return defaultCollectionService.getNextAuditEvent(t); + } + + /** + * @param code + * @return + * @see eu.etaxonomy.cdm.api.service.ICollectionService#searchByCode(java.lang.String) + */ + @Override + public List searchByCode(String code) { + return defaultCollectionService.searchByCode(code); + } + + /** + * @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 getMarkers(Collection annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultCollectionService.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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy cacheStrategy, IProgressMonitor monitor) { + defaultCollectionService.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 getPreviousAuditEvent(Collection t) { + return defaultCollectionService.getPreviousAuditEvent(t); + } + + /** + * @param clazz + * @return + * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class) + */ + @Override + public int count(Class clazz) { + return defaultCollectionService.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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List propertyPaths) { + return defaultCollectionService.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 Collection find(LSID lsid) { + return defaultCollectionService.find(lsid); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID delete(Collection persistentObject) throws ReferencedObjectUndeletableException{ + return defaultCollectionService.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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultCollectionService.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 defaultCollectionService.exists(uuid); + } + + /** + * @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 Collection replace(Collection x, Collection y) { + return defaultCollectionService.replace(x, y); + } + + /** + * @param uuidSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set) + */ + @Override + public List find(Set uuidSet) { + return defaultCollectionService.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 getSources(Collection t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultCollectionService.getSources(t, pageSize, pageNumber, propertyPaths); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID) + */ + @Override + public Collection find(UUID uuid) { + return defaultCollectionService.find(uuid); + } + + /** + * @param id + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(int) + */ + @Override + public Collection find(int id) { + return defaultCollectionService.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 getRights(Collection t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultCollectionService.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 clazz, Boolean technical) { + return defaultCollectionService.countMarkers(clazz, technical); + } + + /** + * @param idSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set) + */ + @Override + public List findById(Set idSet) { + return defaultCollectionService.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 defaultCollectionService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IService#getSession() + */ + @Override + public Session getSession() { + return defaultCollectionService.getSession(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache() + */ + @Override + public List> getUuidAndTitleCache() { + return defaultCollectionService.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 group(Class clazz, Integer limit, Integer start, List groups, List propertyPaths) { + return defaultCollectionService.group(clazz, limit, start, groups, propertyPaths); + } + + /** + * @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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultCollectionService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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 list(Class type, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultCollectionService.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 findByTitle(IIdentifiableEntityServiceConfigurator configurator) { + return defaultCollectionService.findByTitle(configurator); + } + + /** + * @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 clazz, String queryString, MatchMode matchmode, List criteria) { + return defaultCollectionService.countByTitle(clazz, queryString, matchmode, criteria); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID) + */ + @Override + public Collection load(UUID uuid) { + return defaultCollectionService.load(uuid); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List) + */ + @Override + public Collection load(UUID uuid, List propertyPaths) { + return defaultCollectionService.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 configurator) { + return defaultCollectionService.countByTitle(configurator); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public Collection merge(Collection transientObject) { + return defaultCollectionService.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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultCollectionService.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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultCollectionService.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(Collection persistentObject) { + return defaultCollectionService.refresh(persistentObject); + } + + /** + * @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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultCollectionService.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 rows(String tableName, int limit, int start) { + return defaultCollectionService.rows(tableName, limit, start); + } + + /** + * @param newInstances + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection) + */ + @Override + public Map save(java.util.Collection newInstances) { + return null; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID save(Collection newInstance) { + return null; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID saveOrUpdate(Collection transientObject) { + return null; + } + + /** + * @param transientObjects + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection) + */ + @Override + public Map saveOrUpdate(java.util.Collection transientObjects) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID update(Collection transientObject) { + return defaultCollectionService.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 list(Collection example, Set includeProperties, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultCollectionService.list(example, includeProperties, limit, start, orderHints, propertyPaths); + } + + /** + * @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 clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) { + return defaultCollectionService.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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, MatchMode matchMode) { + return defaultCollectionService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode); + } + + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientDescriptionService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientDescriptionService.java new file mode 100644 index 000000000..2837c7ccf --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientDescriptionService.java @@ -0,0 +1,1099 @@ +// $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.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +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.DistributionTree; +import eu.etaxonomy.cdm.api.service.IDescriptionService; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; +import eu.etaxonomy.cdm.api.service.pager.Pager; +import eu.etaxonomy.cdm.common.monitor.IProgressMonitor; +import eu.etaxonomy.cdm.model.common.Annotation; +import eu.etaxonomy.cdm.model.common.DefinedTerm; +import eu.etaxonomy.cdm.model.common.ISourceable; +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.TermVocabulary; +import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; +import eu.etaxonomy.cdm.model.description.DescriptionBase; +import eu.etaxonomy.cdm.model.description.DescriptionElementBase; +import eu.etaxonomy.cdm.model.description.Feature; +import eu.etaxonomy.cdm.model.description.FeatureTree; +import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; +import eu.etaxonomy.cdm.model.description.TaxonDescription; +import eu.etaxonomy.cdm.model.description.TaxonNameDescription; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.cdm.model.location.NamedAreaLevel; +import eu.etaxonomy.cdm.model.media.Media; +import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.cdm.model.taxon.Taxon; +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.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 TransientDescriptionService implements IDescriptionService { + + private IDescriptionService defaultDescriptionService; + + /** + * @param defaultDescriptionService + */ + public TransientDescriptionService(IDescriptionService defaultDescriptionService) { + this.defaultDescriptionService = defaultDescriptionService; + } + + /** + * @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> pageAuditEvents(DescriptionBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths) { + return defaultDescriptionService.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 getAnnotations(DescriptionBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IService#clear() + */ + @Override + public void clear() { + defaultDescriptionService.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(DescriptionBase t, LockMode lockMode) { + defaultDescriptionService.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(DescriptionBase t, LockMode lockMode, List propertyPaths) { + defaultDescriptionService.refresh(t, lockMode, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache() + */ + @Override + public void updateTitleCache() { + defaultDescriptionService.updateTitleCache(); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getNextAuditEvent(DescriptionBase t) { + return defaultDescriptionService.getNextAuditEvent(t); + } + + /** + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDefaultFeatureVocabulary() + */ + @Deprecated + @Override + public TermVocabulary getDefaultFeatureVocabulary() { + return defaultDescriptionService.getDefaultFeatureVocabulary(); + } + + /** + * @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 getMarkers(DescriptionBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param uuid + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getFeatureVocabulary(java.util.UUID) + */ + @Deprecated + @Override + public TermVocabulary getFeatureVocabulary(UUID uuid) { + return defaultDescriptionService.getFeatureVocabulary(uuid); + } + + /** + * @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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy cacheStrategy, IProgressMonitor monitor) { + defaultDescriptionService.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 getPreviousAuditEvent(DescriptionBase t) { + return defaultDescriptionService.getPreviousAuditEvent(t); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElementByUuid(java.util.UUID) + */ + @Override + public DescriptionElementBase getDescriptionElementByUuid(UUID uuid) { + return defaultDescriptionService.getDescriptionElementByUuid(uuid); + } + + /** + * @param clazz + * @return + * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class) + */ + @Override + public int count(Class clazz) { + return defaultDescriptionService.count(clazz); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#loadDescriptionElement(java.util.UUID, java.util.List) + */ + @Override + public DescriptionElementBase loadDescriptionElement(UUID uuid, List propertyPaths) { + return defaultDescriptionService.loadDescriptionElement(uuid, propertyPaths); + } + + /** + * @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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List propertyPaths) { + return defaultDescriptionService.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 DescriptionBase find(LSID lsid) { + return defaultDescriptionService.find(lsid); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID delete(DescriptionBase persistentObject) throws ReferencedObjectUndeletableException{ + return defaultDescriptionService.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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.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 defaultDescriptionService.exists(uuid); + } + + /** + * @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 DescriptionBase replace(DescriptionBase x, DescriptionBase y) { + return defaultDescriptionService.replace(x, y); + } + + /** + * @param descriptionElement + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#saveDescriptionElement(eu.etaxonomy.cdm.model.description.DescriptionElementBase) + */ + @Override + public UUID saveDescriptionElement(DescriptionElementBase descriptionElement) { + return null; + } + + /** + * @param uuidSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set) + */ + @Override + public List find(Set uuidSet) { + return defaultDescriptionService.find(uuidSet); + } + + /** + * @param descriptionElements + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#saveDescriptionElement(java.util.Collection) + */ + @Override + public Map saveDescriptionElement(Collection descriptionElements) { + return null; + } + + /** + * @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 getSources(DescriptionBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.getSources(t, pageSize, pageNumber, propertyPaths); + } + + /** + * @param descriptionElement + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescriptionElement(eu.etaxonomy.cdm.model.description.DescriptionElementBase) + */ + @Override + public UUID deleteDescriptionElement(DescriptionElementBase descriptionElement) { + return defaultDescriptionService.deleteDescriptionElement(descriptionElement); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID) + */ + @Override + public DescriptionBase find(UUID uuid) { + return defaultDescriptionService.find(uuid); + } + + /** + * @param type + * @param hasMedia + * @param hasText + * @param feature + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#page(java.lang.Class, java.lang.Boolean, java.lang.Boolean, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager page(Class type, Boolean hasMedia, Boolean hasText, Set feature, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.page(type, hasMedia, hasText, feature, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param id + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(int) + */ + @Override + public DescriptionBase find(int id) { + return defaultDescriptionService.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 getRights(DescriptionBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.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 clazz, Boolean technical) { + return defaultDescriptionService.countMarkers(clazz, technical); + } + + /** + * @param idSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set) + */ + @Override + public List findById(Set idSet) { + return defaultDescriptionService.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 defaultDescriptionService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IService#getSession() + */ + @Override + public Session getSession() { + return defaultDescriptionService.getSession(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache() + */ + @Override + public List> getUuidAndTitleCache() { + return defaultDescriptionService.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 group(Class clazz, Integer limit, Integer start, List groups, List propertyPaths) { + return defaultDescriptionService.group(clazz, limit, start, groups, propertyPaths); + } + + /** + * @param type + * @param hasImages + * @param hasText + * @param feature + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#count(java.lang.Class, java.lang.Boolean, java.lang.Boolean, java.util.Set) + */ + @Override + public int count(Class type, Boolean hasImages, Boolean hasText, Set feature) { + return defaultDescriptionService.count(type, hasImages, hasText, feature); + } + + /** + * @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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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 list(Class type, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultDescriptionService.list(type, limit, start, orderHints, propertyPaths); + } + + /** + * @param description + * @param features + * @param type + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Deprecated + @Override + public Pager getDescriptionElements(DescriptionBase description, Set features, Class type, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.getDescriptionElements(description, features, type, pageSize, pageNumber, propertyPaths); + } + + /** + * @param configurator + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator) + */ + @Override + public Pager findByTitle(IIdentifiableEntityServiceConfigurator configurator) { + return defaultDescriptionService.findByTitle(configurator); + } + + /** + * @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 clazz, String queryString, MatchMode matchmode, List criteria) { + return defaultDescriptionService.countByTitle(clazz, queryString, matchmode, criteria); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID) + */ + @Override + public DescriptionBase load(UUID uuid) { + return defaultDescriptionService.load(uuid); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List) + */ + @Override + public DescriptionBase load(UUID uuid, List propertyPaths) { + return defaultDescriptionService.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 configurator) { + return defaultDescriptionService.countByTitle(configurator); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public DescriptionBase merge(DescriptionBase transientObject) { + return defaultDescriptionService.merge(transientObject); + } + + /** + * @param description + * @param descriptionType + * @param features + * @param type + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.lang.Class, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager pageDescriptionElements(DescriptionBase description, Class descriptionType, Set features, Class type, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.pageDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths); + } + + /** + * @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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.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(DescriptionBase persistentObject) { + return defaultDescriptionService.refresh(persistentObject); + } + + /** + * @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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.listByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param description + * @param features + * @param type + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Deprecated + @Override + public List listDescriptionElements(DescriptionBase description, Set features, Class type, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.listDescriptionElements(description, features, type, pageSize, pageNumber, propertyPaths); + } + + /** + * @param tableName + * @param limit + * @param start + * @return + * @see eu.etaxonomy.cdm.api.service.IService#rows(java.lang.String, int, int) + */ + @Override + public List rows(String tableName, int limit, int start) { + return defaultDescriptionService.rows(tableName, limit, start); + } + + /** + * @param newInstances + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection) + */ + @Override + public Map save(Collection newInstances) { + return null; + } + + /** + * @param newInstance + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID save(DescriptionBase newInstance) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID saveOrUpdate(DescriptionBase transientObject) { + return null; + } + + /** + * @param clazz + * @param queryString + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager search(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param transientObjects + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection) + */ + @Override + public Map saveOrUpdate(Collection transientObjects) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID update(DescriptionBase transientObject) { + return defaultDescriptionService.update(transientObject); + } + + /** + * @param description + * @param descriptionType + * @param features + * @param type + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.lang.Class, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public List listDescriptionElements(DescriptionBase description, Class descriptionType, Set features, Class type, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.listDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths); + } + + /** + * @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 list(DescriptionBase example, Set includeProperties, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultDescriptionService.list(example, includeProperties, limit, start, orderHints, propertyPaths); + } + + /** + * @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 clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) { + return defaultDescriptionService.deduplicate(clazz, matchStrategy, mergeStrategy); + } + + /** + * @param annotatedObj + * @param status + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElementAnnotations(eu.etaxonomy.cdm.model.description.DescriptionElementBase, eu.etaxonomy.cdm.model.common.MarkerType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager getDescriptionElementAnnotations(DescriptionElementBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.getDescriptionElementAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, MatchMode matchMode) { + return defaultDescriptionService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode); + } + + /** + * @param taxon + * @param scopes + * @param geographicalScope + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager pageTaxonDescriptions(Taxon taxon, Set scopes, Set geographicalScope, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.pageTaxonDescriptions(taxon, scopes, geographicalScope, pageSize, pageNumber, propertyPaths); + } + + /** + * @param taxon + * @param scopes + * @param geographicalScope + * @param markerTypes + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.util.Set, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager pageTaxonDescriptions(Taxon taxon, Set scopes, Set geographicalScope, Set markerTypes, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.pageTaxonDescriptions(taxon, scopes, geographicalScope, markerTypes, pageSize, pageNumber, propertyPaths); + } + + /** + * @param taxon + * @param scopes + * @param geographicalScope + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public List listTaxonDescriptions(Taxon taxon, Set scopes, Set geographicalScope, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.listTaxonDescriptions(taxon, scopes, geographicalScope, pageSize, pageNumber, propertyPaths); + } + + /** + * @param taxon + * @param scopes + * @param geographicalScope + * @param markerTypes + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.util.Set, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public List listTaxonDescriptions(Taxon taxon, Set scopes, Set geographicalScope, Set markerTypes, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.listTaxonDescriptions(taxon, scopes, geographicalScope, markerTypes, pageSize, pageNumber, propertyPaths); + } + + /** + * @param taxonUuid + * @param limitToGalleries + * @param markerTypes + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listTaxonDescriptionMedia(java.util.UUID, boolean, java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public List listTaxonDescriptionMedia(UUID taxonUuid, boolean limitToGalleries, Set markerTypes, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.listTaxonDescriptionMedia(taxonUuid, limitToGalleries, markerTypes, pageSize, pageNumber, propertyPaths); + } + + /** + * @param taxonUuid + * @param limitToGalleries + * @param markerTypes + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#countTaxonDescriptionMedia(java.util.UUID, boolean, java.util.Set) + */ + @Override + public int countTaxonDescriptionMedia(UUID taxonUuid, boolean limitToGalleries, Set markerTypes) { + return defaultDescriptionService.countTaxonDescriptionMedia(taxonUuid, limitToGalleries, markerTypes); + } + + /** + * @param name + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getTaxonNameDescriptions(eu.etaxonomy.cdm.model.name.TaxonNameBase, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager getTaxonNameDescriptions(TaxonNameBase name, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.getTaxonNameDescriptions(name, pageSize, pageNumber, propertyPaths); + } + + /** + * @param namedAreas + * @param presence + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#searchDescriptionByDistribution(java.util.Set, eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager searchDescriptionByDistribution(Set namedAreas, PresenceAbsenceTermBase presence, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.searchDescriptionByDistribution(namedAreas, presence, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param clazz + * @param queryString + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#searchElements(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager searchElements(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultDescriptionService.searchElements(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param descriptionElement + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getMedia(eu.etaxonomy.cdm.model.description.DescriptionElementBase, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager getMedia(DescriptionElementBase descriptionElement, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.getMedia(descriptionElement, pageSize, pageNumber, propertyPaths); + } + + /** + * @param taxon + * @param features + * @param type + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElementsForTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Deprecated + @Override + public List getDescriptionElementsForTaxon(Taxon taxon, Set features, Class type, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.getDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths); + } + + /** + * @param taxon + * @param features + * @param type + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listDescriptionElementsForTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public List listDescriptionElementsForTaxon(Taxon taxon, Set features, Class type, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.listDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths); + } + + /** + * @param taxon + * @param features + * @param type + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageDescriptionElementsForTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager pageDescriptionElementsForTaxon(Taxon taxon, Set features, Class type, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.pageDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths); + } + + /** + * @param featureTree + * @param description + * @param preferredLanguages + * @param separator + * @return + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#generateNaturalLanguageDescription(eu.etaxonomy.cdm.model.description.FeatureTree, eu.etaxonomy.cdm.model.description.TaxonDescription, java.util.List, java.lang.String) + */ + @Override + public String generateNaturalLanguageDescription(FeatureTree featureTree, TaxonDescription description, List preferredLanguages, String separator) { + return defaultDescriptionService.generateNaturalLanguageDescription(featureTree, description, preferredLanguages, separator); + } + + /** + * @param description + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#hasStructuredData(eu.etaxonomy.cdm.model.description.DescriptionBase) + */ + @Deprecated + @Override + public boolean hasStructuredData(DescriptionBase description) { + return defaultDescriptionService.hasStructuredData(description); + } + + /** + * @param descriptionElements + * @param targetDescription + * @param isPaste + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveDescriptionElementsToDescription(java.util.Collection, eu.etaxonomy.cdm.model.description.DescriptionBase, boolean) + */ + @Override + public void moveDescriptionElementsToDescription(Collection descriptionElements, DescriptionBase targetDescription, boolean isPaste) { + defaultDescriptionService.moveDescriptionElementsToDescription(descriptionElements, targetDescription, isPaste); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageNamedAreasInUse(java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager pageNamedAreasInUse(Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultDescriptionService.pageNamedAreasInUse(pageSize, pageNumber, propertyPaths); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getOrderedDistributions(java.util.Set, boolean, boolean, java.util.Set, java.util.List) + */ + @Override + public DistributionTree getOrderedDistributions(Set taxonDescriptions, boolean subAreaPreference, boolean statusOrderPreference, Set omitLevels, List propertyPaths) { + // TODO Auto-generated method stub + return defaultDescriptionService.getOrderedDistributions(taxonDescriptions, subAreaPreference, statusOrderPreference, omitLevels, propertyPaths); + } + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientNameService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientNameService.java new file mode 100644 index 000000000..13f889cc4 --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientNameService.java @@ -0,0 +1,1194 @@ +// $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.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.INameService; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator; +import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; +import eu.etaxonomy.cdm.api.service.pager.Pager; +import eu.etaxonomy.cdm.api.service.search.DocumentSearchResult; +import eu.etaxonomy.cdm.api.service.search.SearchResult; +import eu.etaxonomy.cdm.common.monitor.IProgressMonitor; +import eu.etaxonomy.cdm.model.common.Annotation; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.common.ISourceable; +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.ReferencedEntityBase; +import eu.etaxonomy.cdm.model.common.RelationshipBase; +import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; +import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.name.HomotypicalGroup; +import eu.etaxonomy.cdm.model.name.HybridRelationship; +import eu.etaxonomy.cdm.model.name.HybridRelationshipType; +import eu.etaxonomy.cdm.model.name.NameRelationship; +import eu.etaxonomy.cdm.model.name.NameRelationshipType; +import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; +import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; +import eu.etaxonomy.cdm.model.name.NonViralName; +import eu.etaxonomy.cdm.model.name.Rank; +import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.cdm.model.name.TypeDesignationBase; +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.query.Grouping; +import eu.etaxonomy.cdm.persistence.query.MatchMode; +import eu.etaxonomy.cdm.persistence.query.OrderHint; +import eu.etaxonomy.cdm.strategy.cache.TaggedText; +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 TransientNameService implements INameService { + + private INameService defaultNameService; + + /** + * + */ + public TransientNameService(INameService defaultNameService) { + this.defaultNameService = defaultNameService; + } + + /** + * @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> pageAuditEvents(TaxonNameBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths) { + return defaultNameService.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 getAnnotations(TaxonNameBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IService#clear() + */ + @Override + public void clear() { + defaultNameService.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(TaxonNameBase t, LockMode lockMode) { + defaultNameService.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(TaxonNameBase t, LockMode lockMode, List propertyPaths) { + defaultNameService.refresh(t, lockMode, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache() + */ + @Override + public void updateTitleCache() { + defaultNameService.updateTitleCache(); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getNextAuditEvent(TaxonNameBase t) { + return defaultNameService.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 getMarkers(TaxonNameBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy cacheStrategy, IProgressMonitor monitor) { + defaultNameService.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 getPreviousAuditEvent(TaxonNameBase t) { + return defaultNameService.getPreviousAuditEvent(t); + } + + /** + * @param clazz + * @return + * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class) + */ + @Override + public int count(Class clazz) { + return defaultNameService.count(clazz); + } + + /** + * @param name + * @param config + * @return + * @throws ReferencedObjectUndeletableException + * @see eu.etaxonomy.cdm.api.service.INameService#delete(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator) + */ + @Override + public UUID delete(TaxonNameBase name, NameDeletionConfigurator config) throws ReferencedObjectUndeletableException { + return defaultNameService.delete(name, config); + } + + /** + * @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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List propertyPaths) { + return defaultNameService.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 TaxonNameBase find(LSID lsid) { + return defaultNameService.find(lsid); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID delete(TaxonNameBase persistentObject) throws ReferencedObjectUndeletableException{ + return defaultNameService.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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultNameService.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 defaultNameService.exists(uuid); + } + + /** + * @param name + * @param typeDesignation + * @see eu.etaxonomy.cdm.api.service.INameService#deleteTypeDesignation(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.TypeDesignationBase) + */ + @Override + public void deleteTypeDesignation(TaxonNameBase name, TypeDesignationBase typeDesignation) { + defaultNameService.deleteTypeDesignation(name, typeDesignation); + } + + /** + * @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 TaxonNameBase replace(TaxonNameBase x, TaxonNameBase y) { + return defaultNameService.replace(x, y); + } + + /** + * @param uuidSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set) + */ + @Override + public List find(Set uuidSet) { + return defaultNameService.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 getSources(TaxonNameBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultNameService.getSources(t, pageSize, pageNumber, propertyPaths); + } + + /** + * @param typeDesignationCollection + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#saveTypeDesignationAll(java.util.Collection) + */ + @Override + public Map saveTypeDesignationAll(Collection typeDesignationCollection) { + return null; + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID) + */ + @Override + public TaxonNameBase find(UUID uuid) { + return defaultNameService.find(uuid); + } + + /** + * @param referencedEntityCollection + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#saveReferencedEntitiesAll(java.util.Collection) + */ + @Override + public Map saveReferencedEntitiesAll(Collection referencedEntityCollection) { + return null; + } + + /** + * @param homotypicalGroups + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#saveAllHomotypicalGroups(java.util.Collection) + */ + @Override + public Map saveAllHomotypicalGroups(Collection homotypicalGroups) { + return null; + } + + /** + * @param id + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(int) + */ + @Override + public TaxonNameBase find(int id) { + return defaultNameService.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 getRights(TaxonNameBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultNameService.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 clazz, Boolean technical) { + return defaultNameService.countMarkers(clazz, technical); + } + + /** + * @param limit + * @param start + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getAllNomenclaturalStatus(int, int) + */ + @Override + public List getAllNomenclaturalStatus(int limit, int start) { + return defaultNameService.getAllNomenclaturalStatus(limit, start); + } + + /** + * @param limit + * @param start + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getAllTypeDesignations(int, int) + */ + @Override + public List getAllTypeDesignations(int limit, int start) { + return defaultNameService.getAllTypeDesignations(limit, start); + } + + /** + * @param idSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set) + */ + @Override + public List findById(Set idSet) { + return defaultNameService.findById(idSet); + } + + /** + * @param name + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getNamesByName(java.lang.String) + */ + @Override + public List getNamesByName(String name) { + return defaultNameService.getNamesByName(name); + } + + /** + * @param nameCache + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getNamesByNameCache(java.lang.String) + */ + @Override + public List getNamesByNameCache(String nameCache) { + return defaultNameService.getNamesByNameCache(nameCache); + } + + /** + * @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 defaultNameService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IService#getSession() + */ + @Override + public Session getSession() { + return defaultNameService.getSession(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache() + */ + @Override + public List> getUuidAndTitleCache() { + return defaultNameService.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 group(Class clazz, Integer limit, Integer start, List groups, List propertyPaths) { + return defaultNameService.group(clazz, limit, start, groups, propertyPaths); + } + + /** + * @param titleCache + * @param matchMode + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#findNamesByTitleCache(java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List) + */ + @Override + public List findNamesByTitleCache(String titleCache, MatchMode matchMode, List propertyPaths) { + return defaultNameService.findNamesByTitleCache(titleCache, matchMode, propertyPaths); + } + + /** + * @param nameCache + * @param matchMode + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#findNamesByNameCache(java.lang.String, eu.etaxonomy.cdm.persistence.query.MatchMode, java.util.List) + */ + @Override + public List findNamesByNameCache(String nameCache, MatchMode matchMode, List propertyPaths) { + return defaultNameService.findNamesByNameCache(nameCache, matchMode, propertyPaths); + } + + /** + * @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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#findNameByUuid(java.util.UUID, java.util.List) + */ + @Override + public NonViralName findNameByUuid(UUID uuid, List propertyPaths) { + return defaultNameService.findNameByUuid(uuid, propertyPaths); + } + + /** + * @param name + * @param sessionObject + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getNamesByName(java.lang.String, eu.etaxonomy.cdm.model.common.CdmBase) + */ + @Override + public List getNamesByName(String name, CdmBase sessionObject) { + return defaultNameService.getNamesByName(name, sessionObject); + } + + /** + * @param name + * @param accuracy + * @param languages + * @param highlightFragments + * @param propertyPaths + * @param maxNoOfResults + * @return + * @throws CorruptIndexException + * @throws IOException + * @throws ParseException + * @see eu.etaxonomy.cdm.api.service.INameService#findByNameFuzzySearch(java.lang.String, float, java.util.List, boolean, java.util.List, int) + */ + @Override + public List> findByNameFuzzySearch(String name, float accuracy, List languages, boolean highlightFragments, List propertyPaths, int maxNoOfResults) throws CorruptIndexException, IOException, ParseException { + return defaultNameService.findByNameFuzzySearch(name, accuracy, languages, highlightFragments, propertyPaths, maxNoOfResults); + } + + /** + * @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 list(Class type, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultNameService.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 findByTitle(IIdentifiableEntityServiceConfigurator configurator) { + return defaultNameService.findByTitle(configurator); + } + + /** + * @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 clazz, String queryString, MatchMode matchmode, List criteria) { + return defaultNameService.countByTitle(clazz, queryString, matchmode, criteria); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID) + */ + @Override + public TaxonNameBase load(UUID uuid) { + return defaultNameService.load(uuid); + } + + /** + * @param name + * @param accuracy + * @param languages + * @param highlightFragments + * @param maxNoOfResults + * @return + * @throws CorruptIndexException + * @throws IOException + * @throws ParseException + * @see eu.etaxonomy.cdm.api.service.INameService#findByNameFuzzySearch(java.lang.String, float, java.util.List, boolean, int) + */ + @Override + public List findByNameFuzzySearch(String name, float accuracy, List languages, boolean highlightFragments, int maxNoOfResults) throws CorruptIndexException, IOException, ParseException { + return defaultNameService.findByNameFuzzySearch(name, accuracy, languages, highlightFragments, maxNoOfResults); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List) + */ + @Override + public TaxonNameBase load(UUID uuid, List propertyPaths) { + return defaultNameService.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 configurator) { + return defaultNameService.countByTitle(configurator); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public TaxonNameBase merge(TaxonNameBase transientObject) { + return defaultNameService.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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.page(type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param name + * @param accuracy + * @param languages + * @param highlightFragments + * @param maxNoOfResults + * @return + * @throws CorruptIndexException + * @throws IOException + * @throws ParseException + * @see eu.etaxonomy.cdm.api.service.INameService#findByFuzzyNameCacheSearch(java.lang.String, float, java.util.List, boolean, int) + */ + @Override + public List findByFuzzyNameCacheSearch(String name, float accuracy, List languages, boolean highlightFragments, int maxNoOfResults) throws CorruptIndexException, IOException, ParseException { + return defaultNameService.findByFuzzyNameCacheSearch(name, accuracy, languages, highlightFragments, maxNoOfResults); + } + + /** + * @param name + * @param wildcard + * @param languages + * @param highlightFragments + * @param maxNoOfResults + * @return + * @throws CorruptIndexException + * @throws IOException + * @throws ParseException + * @see eu.etaxonomy.cdm.api.service.INameService#findByNameExactSearch(java.lang.String, boolean, java.util.List, boolean, int) + */ + @Override + public List findByNameExactSearch(String name, boolean wildcard, List languages, boolean highlightFragments, int maxNoOfResults) throws CorruptIndexException, IOException, ParseException { + return defaultNameService.findByNameExactSearch(name, wildcard, languages, highlightFragments, maxNoOfResults); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#refresh(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID refresh(TaxonNameBase persistentObject) { + return defaultNameService.refresh(persistentObject); + } + + /** + * @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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.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 rows(String tableName, int limit, int start) { + return defaultNameService.rows(tableName, limit, start); + } + + /** + * @param newInstances + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection) + */ + @Override + public Map save(Collection newInstances) { + return null; + } + + /** + * @param newInstance + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID save(TaxonNameBase newInstance) { + return null; + } + + /** + * @param title + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#findNamesByTitle(java.lang.String) + */ + @Override + public List findNamesByTitle(String title) { + return defaultNameService.findNamesByTitle(title); + } + + /** + * @param title + * @param sessionObject + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#findNamesByTitle(java.lang.String, eu.etaxonomy.cdm.model.common.CdmBase) + */ + @Override + public List findNamesByTitle(String title, CdmBase sessionObject) { + return defaultNameService.findNamesByTitle(title, sessionObject); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID saveOrUpdate(TaxonNameBase transientObject) { + return null; + } + + /** + * @param limit + * @param start + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getAllHomotypicalGroups(int, int) + */ + @Override + public List getAllHomotypicalGroups(int limit, int start) { + return defaultNameService.getAllHomotypicalGroups(limit, start); + } + + /** + * @param limit + * @param start + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#getAllRelationships(int, int) + */ + @Deprecated + @Override + public List getAllRelationships(int limit, int start) { + return defaultNameService.getAllRelationships(limit, start); + } + + /** + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#getRankVocabulary() + */ + @Deprecated + @Override + public OrderedTermVocabulary getRankVocabulary() { + return defaultNameService.getRankVocabulary(); + } + + /** + * @param transientObjects + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection) + */ + @Override + public Map saveOrUpdate(Collection transientObjects) { + return null; + } + + /** + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#getStatusTypeVocabulary() + */ + @Deprecated + @Override + public TermVocabulary getStatusTypeVocabulary() { + return defaultNameService.getStatusTypeVocabulary(); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID update(TaxonNameBase transientObject) { + return defaultNameService.update(transientObject); + } + + /** + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#getSpecimenTypeDesignationStatusVocabulary() + */ + @Deprecated + @Override + public TermVocabulary getSpecimenTypeDesignationStatusVocabulary() { + return defaultNameService.getSpecimenTypeDesignationStatusVocabulary(); + } + + /** + * @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 list(TaxonNameBase example, Set includeProperties, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultNameService.list(example, includeProperties, limit, start, orderHints, propertyPaths); + } + + /** + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#getSpecimenTypeDesignationVocabulary() + */ + @Deprecated + @Override + public OrderedTermVocabulary getSpecimenTypeDesignationVocabulary() { + return defaultNameService.getSpecimenTypeDesignationVocabulary(); + } + + /** + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#getNameRelationshipTypeVocabulary() + */ + @Deprecated + @Override + public TermVocabulary getNameRelationshipTypeVocabulary() { + return defaultNameService.getNameRelationshipTypeVocabulary(); + } + + /** + * @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 clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) { + return defaultNameService.deduplicate(clazz, matchStrategy, mergeStrategy); + } + + /** + * @param name + * @param direction + * @param type + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#listNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public List listNameRelationships(TaxonNameBase name, Direction direction, NameRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.listNameRelationships(name, direction, type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, MatchMode matchMode) { + return defaultNameService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode); + } + + /** + * @param name + * @param direction + * @param type + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#pageNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager pageNameRelationships(TaxonNameBase name, Direction direction, NameRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.pageNameRelationships(name, direction, type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param name + * @param type + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#listFromNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Deprecated + @Override + public List listFromNameRelationships(TaxonNameBase name, NameRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.listFromNameRelationships(name, type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param name + * @param type + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#pageFromNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Deprecated + @Override + public Pager pageFromNameRelationships(TaxonNameBase name, NameRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.pageFromNameRelationships(name, type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param name + * @param type + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#listToNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Deprecated + @Override + public List listToNameRelationships(TaxonNameBase name, NameRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.listToNameRelationships(name, type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param name + * @param type + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @deprecated + * @see eu.etaxonomy.cdm.api.service.INameService#pageToNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Deprecated + @Override + public Pager pageToNameRelationships(TaxonNameBase name, NameRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.pageToNameRelationships(name, type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param name + * @param type + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getHybridNames(eu.etaxonomy.cdm.model.name.NonViralName, eu.etaxonomy.cdm.model.name.HybridRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager getHybridNames(NonViralName name, HybridRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.getHybridNames(name, type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param name + * @param status + * @param pageSize + * @param pageNumber + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getTypeDesignations(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus, java.lang.Integer, java.lang.Integer) + */ + @Override + public Pager getTypeDesignations(TaxonNameBase name, SpecimenTypeDesignationStatus status, Integer pageSize, Integer pageNumber) { + return defaultNameService.getTypeDesignations(name, status, pageSize, pageNumber); + } + + /** + * @param name + * @param status + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getTypeDesignations(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager getTypeDesignations(TaxonNameBase name, SpecimenTypeDesignationStatus status, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultNameService.getTypeDesignations(name, status, pageSize, pageNumber, propertyPaths); + } + + /** + * @param uninomial + * @param infraGenericEpithet + * @param specificEpithet + * @param infraspecificEpithet + * @param rank + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#searchNames(java.lang.String, java.lang.String, java.lang.String, java.lang.String, eu.etaxonomy.cdm.model.name.Rank, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager searchNames(String uninomial, String infraGenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.searchNames(uninomial, infraGenericEpithet, specificEpithet, infraspecificEpithet, rank, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param clazz + * @param queryString + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager search(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getUuidAndTitleCacheOfNames() + */ + @Override + public List getUuidAndTitleCacheOfNames() { + return defaultNameService.getUuidAndTitleCacheOfNames(); + } + + /** + * @param clazz + * @param queryString + * @param matchmode + * @param criteria + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#findByName(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 findByName(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultNameService.findByName(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#findHomotypicalGroup(java.util.UUID) + */ + @Override + public HomotypicalGroup findHomotypicalGroup(UUID uuid) { + return defaultNameService.findHomotypicalGroup(uuid); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.INameService#getTaggedName(java.util.UUID) + */ + @Override + public List getTaggedName(UUID uuid) { + return defaultNameService.getTaggedName(uuid); + } + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientOccurenceService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientOccurenceService.java new file mode 100644 index 000000000..e47802df5 --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientOccurenceService.java @@ -0,0 +1,869 @@ +// $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.ArrayList; +import java.util.Collection; +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 org.hibernate.search.spatial.impl.Rectangle; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException; +import eu.etaxonomy.cdm.api.service.IOccurrenceService; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; +import eu.etaxonomy.cdm.api.service.pager.Pager; +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.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.UuidAndTitleCache; +import eu.etaxonomy.cdm.model.description.DescriptionBase; +import eu.etaxonomy.cdm.model.location.Country; +import eu.etaxonomy.cdm.model.media.Media; +import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.occurrence.DerivationEvent; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.cdm.model.taxon.TaxonBase; +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.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 26.09.2013 + * + */ +public class TransientOccurenceService implements IOccurrenceService { + + private IOccurrenceService defaultService; + private List units; + + /** + * @param defaultService + */ + public TransientOccurenceService(IOccurrenceService defaultService) { + this.defaultService = defaultService; + this.units = new ArrayList(); + } + + /** + * @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> pageAuditEvents(SpecimenOrObservationBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths) { + return defaultService.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 getAnnotations(SpecimenOrObservationBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IService#clear() + */ + @Override + public void clear() { + defaultService.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(SpecimenOrObservationBase t, LockMode lockMode) { + defaultService.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(SpecimenOrObservationBase t, LockMode lockMode, List propertyPaths) { + defaultService.refresh(t, lockMode, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache() + */ + @Override + public void updateTitleCache() { + defaultService.updateTitleCache(); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getNextAuditEvent(SpecimenOrObservationBase t) { + return defaultService.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 getMarkers(SpecimenOrObservationBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy cacheStrategy, IProgressMonitor monitor) { + defaultService.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 getPreviousAuditEvent(SpecimenOrObservationBase t) { + return defaultService.getPreviousAuditEvent(t); + } + + /** + * @param iso639 + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByIso(java.lang.String) + */ + @Override + public Country getCountryByIso(String iso639) { + return defaultService.getCountryByIso(iso639); + } + + /** + * @param clazz + * @return + * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class) + */ + @Override + public int count(Class clazz) { + return defaultService.count(clazz); + } + + /** + * @param name + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCountryByName(java.lang.String) + */ + @Override + public List getCountryByName(String name) { + return defaultService.getCountryByName(name); + } + + /** + * @param type + * @param determinedAs + * @param limit + * @param start + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#list(java.lang.Class, eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager list(Class type, TaxonBase determinedAs, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultService.list(type, determinedAs, limit, start, orderHints, propertyPaths); + } + + /** + * @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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List propertyPaths) { + return defaultService.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 SpecimenOrObservationBase find(LSID lsid) { + return defaultService.find(lsid); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID delete(SpecimenOrObservationBase persistentObject) throws ReferencedObjectUndeletableException{ + return defaultService.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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultService.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 defaultService.exists(uuid); + } + + /** + * @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 SpecimenOrObservationBase replace(SpecimenOrObservationBase x, SpecimenOrObservationBase y) { + return defaultService.replace(x, y); + } + + /** + * @param uuidSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set) + */ + @Override + public List find(Set uuidSet) { + return defaultService.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 getSources(SpecimenOrObservationBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultService.getSources(t, pageSize, pageNumber, propertyPaths); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID) + */ + @Override + public SpecimenOrObservationBase find(UUID uuid) { + return defaultService.find(uuid); + } + + /** + * @param id + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(int) + */ + @Override + public SpecimenOrObservationBase find(int id) { + return defaultService.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 getRights(SpecimenOrObservationBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultService.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 clazz, Boolean technical) { + return defaultService.countMarkers(clazz, technical); + } + + /** + * @param occurence + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getMedia(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager getMedia(SpecimenOrObservationBase occurence, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultService.getMedia(occurence, pageSize, pageNumber, propertyPaths); + } + + /** + * @param idSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set) + */ + @Override + public List findById(Set idSet) { + return defaultService.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 defaultService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IService#getSession() + */ + @Override + public Session getSession() { + return defaultService.getSession(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache() + */ + @Override + public List> getUuidAndTitleCache() { + return defaultService.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 group(Class clazz, Integer limit, Integer start, List groups, List propertyPaths) { + return defaultService.group(clazz, limit, start, groups, propertyPaths); + } + + /** + * @param occurence + * @param taxonBase + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDeterminations(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.taxon.TaxonBase, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager getDeterminations(SpecimenOrObservationBase occurence, TaxonBase taxonBase, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultService.getDeterminations(occurence, taxonBase, pageSize, pageNumber, propertyPaths); + } + + /** + * @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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param occurence + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivationEvents(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager getDerivationEvents(SpecimenOrObservationBase occurence, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultService.getDerivationEvents(occurence, pageSize, pageNumber, propertyPaths); + } + + /** + * @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 list(Class type, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultService.list(type, limit, start, orderHints, propertyPaths); + } + + /** + * @param clazz + * @param query + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager search(Class clazz, String query, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.search(clazz, query, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param configurator + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator) + */ + @Override + public Pager findByTitle(IIdentifiableEntityServiceConfigurator configurator) { + return defaultService.findByTitle(configurator); + } + + /** + * @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 clazz, String queryString, MatchMode matchmode, List criteria) { + return defaultService.countByTitle(clazz, queryString, matchmode, criteria); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID) + */ + @Override + public SpecimenOrObservationBase load(UUID uuid) { + return defaultService.load(uuid); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List) + */ + @Override + public SpecimenOrObservationBase load(UUID uuid, List propertyPaths) { + return defaultService.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 configurator) { + return defaultService.countByTitle(configurator); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getFieldUnitUuidAndTitleCache() + */ + @Override + public List> getFieldUnitUuidAndTitleCache() { + return defaultService.getFieldUnitUuidAndTitleCache(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitUuidAndTitleCache() + */ + @Override + public List> getDerivedUnitUuidAndTitleCache() { + return defaultService.getDerivedUnitUuidAndTitleCache(); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public SpecimenOrObservationBase merge(SpecimenOrObservationBase transientObject) { + return defaultService.merge(transientObject); + } + + /** + * @param derivedUnit + * @param propertyPaths + * @return + * @throws DerivedUnitFacadeNotSupportedException + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getDerivedUnitFacade(eu.etaxonomy.cdm.model.occurrence.DerivedUnit, java.util.List) + */ + @Override + public DerivedUnitFacade getDerivedUnitFacade(DerivedUnit derivedUnit, List propertyPaths) throws DerivedUnitFacadeNotSupportedException { + return defaultService.getDerivedUnitFacade(derivedUnit, propertyPaths); + } + + /** + * @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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.listByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param description + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listDerivedUnitFacades(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.List) + */ + @Override + public List listDerivedUnitFacades(DescriptionBase description, List propertyPaths) { + return defaultService.listDerivedUnitFacades(description, 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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.page(type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param type + * @param includeRelationships + * @param associatedTaxon + * @param maxDepth + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listByAssociatedTaxon(java.lang.Class, java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public List listByAssociatedTaxon(Class type, Set includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.listByAssociatedTaxon(type, includeRelationships, associatedTaxon, maxDepth, 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(SpecimenOrObservationBase persistentObject) { + return defaultService.refresh(persistentObject); + } + + /** + * @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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.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 rows(String tableName, int limit, int start) { + return defaultService.rows(tableName, limit, start); + } + + /** + * @param newInstances + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection) + */ + @Override + public Map save(Collection newInstances) { + for(SpecimenOrObservationBase unit:newInstances){ + save(unit); + } + return null; + } + + /** + * @param type + * @param includeRelationships + * @param associatedTaxon + * @param maxDepth + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#pageByAssociatedTaxon(java.lang.Class, java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager pageByAssociatedTaxon(Class type, Set includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultService.pageByAssociatedTaxon(type, includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param newInstance + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID save(SpecimenOrObservationBase newInstance) { + units.add(newInstance); + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID saveOrUpdate(SpecimenOrObservationBase transientObject) { + units.add(transientObject); + return null; + } + + /** + * @param transientObjects + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection) + */ + @Override + public Map saveOrUpdate(Collection transientObjects) { + for(SpecimenOrObservationBase unit:transientObjects){ + saveOrUpdate(unit); + } + return null; + } + + /** + * @param clazz + * @param queryString + * @param boundingBox + * @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.IOccurrenceService#findByFullText(java.lang.Class, java.lang.String, org.hibernate.search.spatial.impl.Rectangle, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager> findByFullText(Class clazz, String queryString, Rectangle boundingBox, List languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) throws CorruptIndexException, IOException, ParseException { + return defaultService.findByFullText(clazz, queryString, boundingBox, languages, highlightFragments, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID update(SpecimenOrObservationBase transientObject) { + return defaultService.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 list(SpecimenOrObservationBase example, Set includeProperties, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultService.list(example, includeProperties, limit, start, orderHints, propertyPaths); + } + + /** + * @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 clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) { + return defaultService.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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, MatchMode matchMode) { + return defaultService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode); + } + + /** + * @return + */ + public List getUnits() { + return units; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getFieldUnits(java.util.UUID) + */ + @Override + public Collection getFieldUnits(UUID derivedUnitUuid) { + return defaultService.getFieldUnits(derivedUnitUuid); + } + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientReferenceService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientReferenceService.java new file mode 100644 index 000000000..c38e0f42e --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientReferenceService.java @@ -0,0 +1,694 @@ +// $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.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +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.IReferenceService; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; +import eu.etaxonomy.cdm.api.service.pager.Pager; +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.IdentifiableSource; +import eu.etaxonomy.cdm.model.common.LSID; +import eu.etaxonomy.cdm.model.common.Marker; +import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; +import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.reference.Reference; +import eu.etaxonomy.cdm.model.taxon.TaxonBase; +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.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 TransientReferenceService implements IReferenceService { + + private IReferenceService defaultReferenceService; + + /** + * @param defaultReferenceService + */ + public TransientReferenceService(IReferenceService defaultReferenceService) { + this.defaultReferenceService = defaultReferenceService; + } + + /** + * @param clazz + * @param queryString + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IReferenceService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager search(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultReferenceService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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> pageAuditEvents(Reference t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths) { + return defaultReferenceService.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 getAnnotations(Reference annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultReferenceService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IService#clear() + */ + @Override + public void clear() { + defaultReferenceService.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(Reference t, LockMode lockMode) { + defaultReferenceService.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(Reference t, LockMode lockMode, List propertyPaths) { + defaultReferenceService.refresh(t, lockMode, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache() + */ + @Override + public void updateTitleCache() { + defaultReferenceService.updateTitleCache(); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getNextAuditEvent(Reference t) { + return defaultReferenceService.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 getMarkers(Reference annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultReferenceService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IReferenceService#getUuidAndTitle() + */ + @Override + public List> getUuidAndTitle() { + return defaultReferenceService.getUuidAndTitle(); + } + + /** + * @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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy cacheStrategy, IProgressMonitor monitor) { + defaultReferenceService.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 getPreviousAuditEvent(Reference t) { + return defaultReferenceService.getPreviousAuditEvent(t); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IReferenceService#getAllReferencesForPublishing() + */ + @Override + public List getAllReferencesForPublishing() { + return defaultReferenceService.getAllReferencesForPublishing(); + } + + /** + * @param clazz + * @return + * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class) + */ + @Override + public int count(Class clazz) { + return defaultReferenceService.count(clazz); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IReferenceService#getAllNomenclaturalReferences() + */ + @Override + public List getAllNomenclaturalReferences() { + return defaultReferenceService.getAllNomenclaturalReferences(); + } + + /** + * @param reference + * @param includeSubordinateReferences + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IReferenceService#listCoveredTaxa(eu.etaxonomy.cdm.model.reference.Reference, boolean, java.util.List) + */ + @Override + public List listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List propertyPaths) { + return defaultReferenceService.listCoveredTaxa(reference, includeSubordinateReferences, propertyPaths); + } + + /** + * @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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List propertyPaths) { + return defaultReferenceService.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 Reference find(LSID lsid) { + return defaultReferenceService.find(lsid); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID delete(Reference persistentObject) throws ReferencedObjectUndeletableException{ + return defaultReferenceService.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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultReferenceService.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 defaultReferenceService.exists(uuid); + } + + /** + * @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 Reference replace(Reference x, Reference y) { + return defaultReferenceService.replace(x, y); + } + + /** + * @param uuidSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set) + */ + @Override + public List find(Set uuidSet) { + return defaultReferenceService.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 getSources(Reference t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultReferenceService.getSources(t, pageSize, pageNumber, propertyPaths); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID) + */ + @Override + public Reference find(UUID uuid) { + return defaultReferenceService.find(uuid); + } + + /** + * @param id + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(int) + */ + @Override + public Reference find(int id) { + return defaultReferenceService.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 getRights(Reference t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultReferenceService.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 clazz, Boolean technical) { + return defaultReferenceService.countMarkers(clazz, technical); + } + + /** + * @param idSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set) + */ + @Override + public List findById(Set idSet) { + return defaultReferenceService.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 defaultReferenceService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IService#getSession() + */ + @Override + public Session getSession() { + return defaultReferenceService.getSession(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache() + */ + @Override + public List> getUuidAndTitleCache() { + return defaultReferenceService.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 group(Class clazz, Integer limit, Integer start, List groups, List propertyPaths) { + return defaultReferenceService.group(clazz, limit, start, groups, propertyPaths); + } + + /** + * @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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultReferenceService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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 list(Class type, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultReferenceService.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 findByTitle(IIdentifiableEntityServiceConfigurator configurator) { + return defaultReferenceService.findByTitle(configurator); + } + + /** + * @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 clazz, String queryString, MatchMode matchmode, List criteria) { + return defaultReferenceService.countByTitle(clazz, queryString, matchmode, criteria); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID) + */ + @Override + public Reference load(UUID uuid) { + return defaultReferenceService.load(uuid); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List) + */ + @Override + public Reference load(UUID uuid, List propertyPaths) { + return defaultReferenceService.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 configurator) { + return defaultReferenceService.countByTitle(configurator); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public Reference merge(Reference transientObject) { + return defaultReferenceService.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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultReferenceService.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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultReferenceService.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(Reference persistentObject) { + return defaultReferenceService.refresh(persistentObject); + } + + /** + * @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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultReferenceService.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 rows(String tableName, int limit, int start) { + return defaultReferenceService.rows(tableName, limit, start); + } + + /** + * @param newInstances + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection) + */ + @Override + public Map save(Collection newInstances) { + return null; + } + + /** + * @param newInstance + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID save(Reference newInstance) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID saveOrUpdate(Reference transientObject) { + return null; + } + + /** + * @param transientObjects + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection) + */ + @Override + public Map saveOrUpdate(Collection transientObjects) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID update(Reference transientObject) { + return defaultReferenceService.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 list(Reference example, Set includeProperties, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultReferenceService.list(example, includeProperties, limit, start, orderHints, propertyPaths); + } + + /** + * @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 clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) { + return defaultReferenceService.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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, MatchMode matchMode) { + return defaultReferenceService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode); + } + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTaxonService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTaxonService.java new file mode 100644 index 000000000..587b20bbb --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTaxonService.java @@ -0,0 +1,1399 @@ +// $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.exception.ReferencedObjectUndeletableException; +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> pageAuditEvents(TaxonBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List 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 getAnnotations(TaxonBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List 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 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 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 getMarkers(TaxonBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List 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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy 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 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 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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List 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) throws ReferencedObjectUndeletableException{ + 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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List 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 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 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 find(Set 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 getSources(TaxonBase t, Integer pageSize, Integer pageNumber, List 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 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 getRootTaxa(Rank rank, Reference sec, boolean onlyWithChildren, boolean withMisapplications, List 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 getRights(TaxonBase t, Integer pageSize, Integer pageNumber, List 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 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 findById(Set 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> 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 group(Class clazz, Integer limit, Integer start, List groups, List 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 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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List 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 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 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 list(Class type, Integer limit, Integer start, List orderHints, List 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 findByTitle(IIdentifiableEntityServiceConfigurator 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 clazz, String queryString, MatchMode matchmode, List 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 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 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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List 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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List 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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List 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 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 save(Collection 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 saveOrUpdate(Collection 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 list(TaxonBase example, Set includeProperties, Integer limit, Integer start, List orderHints, List 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 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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List 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 listToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List 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 pageToTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List 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 listFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List 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 pageFromTaxonRelationships(Taxon taxon, TaxonRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List 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 listRelatedTaxa(Taxon taxon, Set includeRelationships, Integer maxDepth, Integer limit, Integer start, List 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 listClassifications(TaxonBase taxonBase, Integer limit, Integer start, List 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 getSynonyms(Synonym synonym, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List 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 getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List 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 getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List 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> getHeterotypicSynonymyGroups(Taxon taxon, List 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 search(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, List 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 findTaxaByName(Class 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 listTaxaByName(Class 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 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> findByEverythingFullText(String queryString, Classification classification, List languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List orderHints, List 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> findByFullText(Class clazz, String queryString, Classification classification, List languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List orderHints, List 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> findByDistribution(List areaFilter, List> statusFilter, Classification classification, Integer pageSize, Integer pageNumber, List orderHints, List 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> findTaxaAndNamesByFullText(EnumSet searchModes, String queryString, Classification classification, Set namedAreas, Set> distributionStatus, List languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List orderHints, List 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> findByDescriptionElementFullText(Class clazz, String queryString, Classification classification, List features, List languages, boolean highlightFragments, Integer pageSize, Integer pageNumber, List orderHints, List 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 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 listTaxonDescriptionMedia(Taxon taxon, Set includeRelationships, boolean limitToGalleries, List 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 listMedia(Taxon taxon, Set includeRelationships, Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences, Boolean includeTaxonNameDescriptions, List 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 findTaxaByID(Set 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 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 findIdenticalTaxonNames(List propertyPath) { + return defaultTaxonService.findIdenticalTaxonNames(propertyPath); + } + + /** + * @param propertyPath + * @return + * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List) + */ + @Override + public List findIdenticalTaxonNameIds(List 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 listSynonymRelationships(TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List orderHints, List 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> getUuidAndTitleCacheTaxon() { + return defaultTaxonService.getUuidAndTitleCacheTaxon(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym() + */ + @Override + public List> 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> 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 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 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> getSynonymsByHomotypicGroup(Taxon taxon, List propertyPaths) { + return defaultTaxonService.getSynonymsByHomotypicGroup(taxon, propertyPaths); + } + + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTermService.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTermService.java new file mode 100644 index 000000000..d8b1269ba --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTermService.java @@ -0,0 +1,857 @@ +// $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.net.URI; +import java.util.Collection; +import java.util.Enumeration; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +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.DeleteResult; +import eu.etaxonomy.cdm.api.service.ITermService; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.config.TermDeletionConfigurator; +import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; +import eu.etaxonomy.cdm.api.service.pager.Pager; +import eu.etaxonomy.cdm.common.monitor.IProgressMonitor; +import eu.etaxonomy.cdm.model.common.Annotation; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.ISourceable; +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.LanguageString; +import eu.etaxonomy.cdm.model.common.LanguageStringBase; +import eu.etaxonomy.cdm.model.common.Marker; +import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.common.Representation; +import eu.etaxonomy.cdm.model.common.UuidAndTitleCache; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.cdm.model.location.NamedAreaLevel; +import eu.etaxonomy.cdm.model.location.NamedAreaType; +import eu.etaxonomy.cdm.model.media.Media; +import eu.etaxonomy.cdm.model.media.Rights; +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.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 TransientTermService implements ITermService { + + private ITermService defaultTermService; + + /** + * @param defaultTermService + */ + public TransientTermService(ITermService defaultTermService) { + this.defaultTermService = defaultTermService; + } + + /** + * @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> pageAuditEvents(DefinedTermBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths) { + return defaultTermService.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 getAnnotations(DefinedTermBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultTermService.getAnnotations(annotatedObj, status, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IService#clear() + */ + @Override + public void clear() { + defaultTermService.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(DefinedTermBase t, LockMode lockMode) { + defaultTermService.lock(t, lockMode); + } + + /** + * @param uri + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getByUri(java.net.URI) + */ + @Override + public DefinedTermBase getByUri(URI uri) { + return defaultTermService.getByUri(uri); + } + + /** + * @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(DefinedTermBase t, LockMode lockMode, List propertyPaths) { + defaultTermService.refresh(t, lockMode, propertyPaths); + } + + /** + * @param languageData + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#saveLanguageData(eu.etaxonomy.cdm.model.common.LanguageStringBase) + */ + @Override + public UUID saveLanguageData(LanguageStringBase languageData) { + return null; + } + + /** + * @param limit + * @param start + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getAllLanguageStrings(int, int) + */ + @Override + public List getAllLanguageStrings(int limit, int start) { + return defaultTermService.getAllLanguageStrings(limit, start); + } + + /** + * @param limit + * @param start + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getAllRepresentations(int, int) + */ + @Override + public List getAllRepresentations(int limit, int start) { + return defaultTermService.getAllRepresentations(limit, start); + } + + /** + * + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache() + */ + @Override + public void updateTitleCache() { + defaultTermService.updateTitleCache(); + } + + /** + * @param t + * @return + * @see eu.etaxonomy.cdm.api.service.IVersionableService#getNextAuditEvent(eu.etaxonomy.cdm.model.common.VersionableEntity) + */ + @Override + public AuditEventRecord getNextAuditEvent(DefinedTermBase t) { + return defaultTermService.getNextAuditEvent(t); + } + + /** + * @param iso639 + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getLanguageByIso(java.lang.String) + */ + @Override + public Language getLanguageByIso(String iso639) { + return defaultTermService.getLanguageByIso(iso639); + } + + /** + * @param locales + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getLanguagesByLocale(java.util.Enumeration) + */ + @Override + public List getLanguagesByLocale(Enumeration locales) { + return defaultTermService.getLanguagesByLocale(locales); + } + + /** + * @param tdwgAbbreviation + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getAreaByTdwgAbbreviation(java.lang.String) + */ + @Override + public NamedArea getAreaByTdwgAbbreviation(String tdwgAbbreviation) { + return defaultTermService.getAreaByTdwgAbbreviation(tdwgAbbreviation); + } + + /** + * @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 getMarkers(DefinedTermBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultTermService.getMarkers(annotatableEntity, technical, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param definedTerm + * @param pageSize + * @param pageNumber + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getMedia(eu.etaxonomy.cdm.model.common.DefinedTermBase, java.lang.Integer, java.lang.Integer) + */ + @Override + public Pager getMedia(DefinedTermBase definedTerm, Integer pageSize, Integer pageNumber) { + return defaultTermService.getMedia(definedTerm, pageSize, pageNumber); + } + + /** + * @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 clazz, Integer stepSize, IIdentifiableEntityCacheStrategy cacheStrategy, IProgressMonitor monitor) { + defaultTermService.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 getPreviousAuditEvent(DefinedTermBase t) { + return defaultTermService.getPreviousAuditEvent(t); + } + + /** + * @param clazz + * @return + * @see eu.etaxonomy.cdm.api.service.IService#count(java.lang.Class) + */ + @Override + public int count(Class clazz) { + return defaultTermService.count(clazz); + } + + /** + * @param level + * @param type + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#list(eu.etaxonomy.cdm.model.location.NamedAreaLevel, eu.etaxonomy.cdm.model.location.NamedAreaType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager list(NamedAreaLevel level, NamedAreaType type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultTermService.list(level, type, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @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> pageAuditEvents(Class clazz, AuditEvent from, AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List propertyPaths) { + return defaultTermService.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 DefinedTermBase find(LSID lsid) { + return defaultTermService.find(lsid); + } + + /** + * @param persistentObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID delete(DefinedTermBase persistentObject) throws ReferencedObjectUndeletableException{ + return defaultTermService.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 groupMarkers(Class clazz, Boolean technical, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultTermService.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 defaultTermService.exists(uuid); + } + + /** + * @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 DefinedTermBase replace(DefinedTermBase x, DefinedTermBase y) { + return defaultTermService.replace(x, y); + } + + /** + * @param definedTerm + * @param pageSize + * @param pageNumber + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getGeneralizationOf(eu.etaxonomy.cdm.model.common.DefinedTermBase, java.lang.Integer, java.lang.Integer) + */ + @Override + public Pager getGeneralizationOf(T definedTerm, Integer pageSize, Integer pageNumber) { + return defaultTermService.getGeneralizationOf(definedTerm, pageSize, pageNumber); + } + + /** + * @param uuidSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.Set) + */ + @Override + public List find(Set uuidSet) { + return defaultTermService.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 getSources(DefinedTermBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultTermService.getSources(t, pageSize, pageNumber, propertyPaths); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(java.util.UUID) + */ + @Override + public DefinedTermBase find(UUID uuid) { + return defaultTermService.find(uuid); + } + + /** + * @param definedTerms + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getPartOf(java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager getPartOf(Set definedTerms, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultTermService.getPartOf(definedTerms, pageSize, pageNumber, propertyPaths); + } + + /** + * @param id + * @return + * @see eu.etaxonomy.cdm.api.service.IService#find(int) + */ + @Override + public DefinedTermBase find(int id) { + return defaultTermService.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 getRights(DefinedTermBase t, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultTermService.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 clazz, Boolean technical) { + return defaultTermService.countMarkers(clazz, technical); + } + + /** + * @param idSet + * @return + * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set) + */ + @Override + public List findById(Set idSet) { + return defaultTermService.findById(idSet); + } + + /** + * @param definedTerms + * @param pageSize + * @param pageNumber + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#getIncludes(java.util.Set, java.lang.Integer, java.lang.Integer, java.util.List) + */ + @Override + public Pager getIncludes(Set definedTerms, Integer pageSize, Integer pageNumber, List propertyPaths) { + return defaultTermService.getIncludes(definedTerms, pageSize, pageNumber, propertyPaths); + } + + /** + * @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 defaultTermService.getSourcedObjectByIdInSource(clazz, idInSource, idNamespace); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IService#getSession() + */ + @Override + public Session getSession() { + return defaultTermService.getSession(); + } + + /** + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#getUuidAndTitleCache() + */ + @Override + public List> getUuidAndTitleCache() { + return defaultTermService.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 group(Class clazz, Integer limit, Integer start, List groups, List propertyPaths) { + return defaultTermService.group(clazz, limit, start, groups, propertyPaths); + } + + /** + * @param label + * @param clazz + * @param pageSize + * @param pageNumber + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#findByRepresentationText(java.lang.String, java.lang.Class, java.lang.Integer, java.lang.Integer) + */ + @Override + public Pager findByRepresentationText(String label, Class clazz, Integer pageSize, Integer pageNumber) { + return defaultTermService.findByRepresentationText(label, clazz, pageSize, pageNumber); + } + + /** + * @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 findByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultTermService.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param abbrev + * @param clazz + * @param pageSize + * @param pageNumber + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#findByRepresentationAbbreviation(java.lang.String, java.lang.Class, java.lang.Integer, java.lang.Integer) + */ + @Override + public Pager findByRepresentationAbbreviation(String abbrev, Class clazz, Integer pageSize, Integer pageNumber) { + return defaultTermService.findByRepresentationAbbreviation(abbrev, clazz, pageSize, pageNumber); + } + + /** + * @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 list(Class type, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultTermService.list(type, limit, start, orderHints, propertyPaths); + } + + /** + * @param clazz + * @param limit + * @param start + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#listByTermClass(java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public List listByTermClass(Class clazz, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultTermService.listByTermClass(clazz, limit, start, orderHints, propertyPaths); + } + + /** + * @param term + * @param config + * @return + * @see eu.etaxonomy.cdm.api.service.ITermService#delete(eu.etaxonomy.cdm.model.common.DefinedTermBase, eu.etaxonomy.cdm.api.service.config.TermDeletionConfigurator) + */ + @Override + public DeleteResult delete(DefinedTermBase term, TermDeletionConfigurator config) { + return defaultTermService.delete(term, config); + } + + /** + * @param configurator + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#findByTitle(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator) + */ + @Override + public Pager findByTitle(IIdentifiableEntityServiceConfigurator configurator) { + return defaultTermService.findByTitle(configurator); + } + + /** + * @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 clazz, String queryString, MatchMode matchmode, List criteria) { + return defaultTermService.countByTitle(clazz, queryString, matchmode, criteria); + } + + /** + * @param uuid + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID) + */ + @Override + public DefinedTermBase load(UUID uuid) { + return defaultTermService.load(uuid); + } + + /** + * @param uuid + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IService#load(java.util.UUID, java.util.List) + */ + @Override + public DefinedTermBase load(UUID uuid, List propertyPaths) { + return defaultTermService.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 configurator) { + return defaultTermService.countByTitle(configurator); + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public DefinedTermBase merge(DefinedTermBase transientObject) { + return defaultTermService.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 listByTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultTermService.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 page(Class type, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultTermService.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(DefinedTermBase persistentObject) { + return defaultTermService.refresh(persistentObject); + } + + /** + * @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 listByReferenceTitle(Class clazz, String queryString, MatchMode matchmode, List criteria, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultTermService.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 rows(String tableName, int limit, int start) { + return defaultTermService.rows(tableName, limit, start); + } + + /** + * @param newInstances + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(java.util.Collection) + */ + @Override + public Map save(Collection newInstances) { + return null; + } + + /** + * @param newInstance + * @return + * @see eu.etaxonomy.cdm.api.service.IService#save(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID save(DefinedTermBase newInstance) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID saveOrUpdate(DefinedTermBase transientObject) { + return null; + } + + /** + * @param clazz + * @param queryString + * @param pageSize + * @param pageNumber + * @param orderHints + * @param propertyPaths + * @return + * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#search(java.lang.Class, java.lang.String, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List) + */ + @Override + public Pager search(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths) { + return defaultTermService.search(clazz, queryString, pageSize, pageNumber, orderHints, propertyPaths); + } + + /** + * @param transientObjects + * @return + * @see eu.etaxonomy.cdm.api.service.IService#saveOrUpdate(java.util.Collection) + */ + @Override + public Map saveOrUpdate(Collection transientObjects) { + return null; + } + + /** + * @param transientObject + * @return + * @see eu.etaxonomy.cdm.api.service.IService#update(eu.etaxonomy.cdm.model.common.ICdmBase) + */ + @Override + public UUID update(DefinedTermBase transientObject) { + return defaultTermService.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 list(DefinedTermBase example, Set includeProperties, Integer limit, Integer start, List orderHints, List propertyPaths) { + return defaultTermService.list(example, includeProperties, limit, start, orderHints, propertyPaths); + } + + /** + * @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 clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) { + return defaultTermService.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 findTitleCache(Class clazz, String queryString, Integer pageSize, Integer pageNumber, List orderHints, MatchMode matchMode) { + return defaultTermService.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode); + } + + + + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java new file mode 100644 index 000000000..62642019a --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java @@ -0,0 +1,92 @@ +// $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.wizard; + +import org.apache.log4j.Logger; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.ui.IImportWizard; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; + +import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery; +import eu.etaxonomy.taxeditor.dataimport.DataImportEditor; +import eu.etaxonomy.taxeditor.dataimport.DerivedUnitEditorInput; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * Wizard for querying BioCASe provider. + * @author pplitzner + * @date 11.09.2013 + * + */ +public class SpecimenSearchWizard extends Wizard implements IImportWizard { + @SuppressWarnings("unused") + private static final Logger logger = Logger.getLogger(SpecimenSearchWizard.class); + + private BioCaseQuery query; + private SpecimenSearchWizardPage searchPage; + + /** + * Creates a new SpecimenSearchWizard + */ + public SpecimenSearchWizard() { + //default constructor needed for RCP extension points + + //check if connected to a data source. If not this will open an error dialog + CdmStore.getCurrentApplicationConfiguration(); + } + + + /* (non-Javadoc) + * @see org.eclipse.jface.wizard.Wizard#performFinish() + */ + @Override + public boolean performFinish() { + IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); + + try { + query = searchPage.getQuery(); + DerivedUnitEditorInput input = new DerivedUnitEditorInput(query); + page.openEditor(input, DataImportEditor.ID, true); + } catch ( PartInitException e ) { + //Put your exception handler here if you wish to + } + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.wizard.Wizard#addPages() + */ + @Override + public void addPages() { + addPage(searchPage); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection) + */ + @Override + public void init(IWorkbench workbench, IStructuredSelection selection) { + query = new BioCaseQuery(); + searchPage = new SpecimenSearchWizardPage("Specimen Search"); + } + + /** + * Return a {@link BioCaseQuery} with the parameters entered in the wizard + * @return the query + */ + public BioCaseQuery getQuery() { + return query; + } + +} diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java new file mode 100644 index 000000000..080c85ffd --- /dev/null +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java @@ -0,0 +1,59 @@ +// $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.wizard; + +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.swt.widgets.Composite; + +import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery; +import eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchController; + + +/** + * Wizard page for entering search parameters + * @author pplitzner + * @date 12.09.2013 + * + */ +public class SpecimenSearchWizardPage extends WizardPage{ + + private SpecimenSearchController specimenSearchController; + + protected SpecimenSearchWizardPage(String pageName) { + super(pageName); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) + */ + @Override + public void createControl(Composite parent) { + specimenSearchController = new SpecimenSearchController(parent); + setControl(specimenSearchController.getComposite()); + } + + /** + * Returns a {@link BioCaseQuery} filled with the parameters defined in this wizard page + * @return + */ + public BioCaseQuery getQuery() { + BioCaseQuery query = new BioCaseQuery(); + query.accessionNumber = specimenSearchController.getAccessionNumber(); + query.collector = specimenSearchController.getCollector(); + query.collectorsNumber = specimenSearchController.getCollectorNumber(); + query.country = specimenSearchController.getCountry(); +// query.date = specimenSearchController.getDate(); + query.herbarium = specimenSearchController.getHerbarium(); + query.locality = specimenSearchController.getLocality(); + query.taxonName = specimenSearchController.getTaxonName(); + return query; + } + +} diff --git a/eu.etaxonomy.taxeditor.cdmlib/.classpath b/eu.etaxonomy.taxeditor.cdmlib/.classpath index 6d9c7e8a0..eba26448f 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/.classpath +++ b/eu.etaxonomy.taxeditor.cdmlib/.classpath @@ -164,7 +164,7 @@ - + diff --git a/eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF index 9a498aca8..3fb4ffb0f 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF @@ -35,6 +35,7 @@ Export-Package: com.google.api, eu.etaxonomy.cdm.database.update.v25_30, eu.etaxonomy.cdm.database.update.v30_31, eu.etaxonomy.cdm.ext.bci, + eu.etaxonomy.cdm.ext.biocase, eu.etaxonomy.cdm.ext.common, eu.etaxonomy.cdm.ext.dc, eu.etaxonomy.cdm.ext.geo, @@ -183,6 +184,7 @@ Export-Package: com.google.api, org.apache.commons.lang;uses:="org.apache.commons.lang.exception", org.apache.fop.apps, org.apache.http, + org.apache.http.client, org.apache.log4j;uses:="org.apache.log4j.helpers,org.apache.log4j.or,org.apache.log4j.spi", org.apache.log4j.chainsaw; uses:="org.apache.log4j, @@ -237,6 +239,8 @@ Export-Package: com.google.api, org.apache.log4j.spi, org.w3c.dom, org.xml.sax", + org.apache.lucene.index, + org.apache.lucene.queryParser, org.apache.lucene.util, org.apache.sanselan;uses:="org.apache.sanselan.common,org.apache.sanselan.common.byteSources", org.apache.xerces.dom, @@ -246,7 +250,10 @@ Export-Package: com.google.api, org.hibernate.annotations.common.reflection, org.hibernate.cache.internal, org.hibernate.classic, + org.hibernate.criterion, + org.hibernate.envers.query.criteria, org.hibernate.search, + org.hibernate.search.spatial.impl, org.jadira.usertype.dateandtime.joda, org.jadira.usertype.dateandtime.shared.spi, org.jboss.logging, diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.common-3.6.0.v20110523.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.common-3.6.0.v20110523.jar index 9fb167cc8..4cf488ee3 100644 Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.common-3.6.0.v20110523.jar and b/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.common-3.6.0.v20110523.jar differ diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar index 25f118068..f131a431c 100644 Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar and b/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar differ diff --git a/eu.etaxonomy.taxeditor.editor/icons/derivate_view-16x16-32.png b/eu.etaxonomy.taxeditor.editor/icons/derivate_view-16x16-32.png new file mode 100644 index 000000000..65eae29db Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/icons/derivate_view-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png b/eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png new file mode 100644 index 000000000..217c60134 Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png differ diff --git a/eu.etaxonomy.taxeditor.editor/plugin.xml b/eu.etaxonomy.taxeditor.editor/plugin.xml index 21fe756d1..5883a846f 100644 --- a/eu.etaxonomy.taxeditor.editor/plugin.xml +++ b/eu.etaxonomy.taxeditor.editor/plugin.xml @@ -58,11 +58,19 @@ id="eu.etaxonomy.taxeditor.editor.group.authority" name="Cdm Authority Editor"> + + + 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"> + + @@ -540,6 +556,22 @@ style="push"> + + + + + + + + + + @@ -1060,6 +1092,11 @@ id="eu.etaxonomy.taxeditor.group.cdmauthorities.edit" name="Edit CDM Authorities"> + + @@ -1189,6 +1226,15 @@ + + + + + + @@ -1213,6 +1259,13 @@ properties="isGroup" type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor"> + + diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java index a951ef903..22faa208a 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -26,16 +26,22 @@ import org.eclipse.ui.IEditorReference; import org.eclipse.ui.PartInitException; import org.eclipse.ui.handlers.HandlerUtil; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; import eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditor; import eu.etaxonomy.taxeditor.editor.group.authority.CdmAuthorityEditorInput; import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin; import eu.etaxonomy.taxeditor.editor.key.KeyEditor; import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyEditorInput; +import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView; +import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput; import eu.etaxonomy.taxeditor.model.AbstractUtility; /** * Utility for the editor package - * + * * @author n.hoffmann * @created 20.01.2009 * @version 1.0 @@ -46,7 +52,7 @@ public class EditorUtil extends AbstractUtility { /** * Opens a new editor window with the given input - * + * * @param input * @param editorId * @return @@ -60,7 +66,7 @@ public class EditorUtil extends AbstractUtility { /** * Opens a new editor window with the given TaxonEditorInput - * + * * @param input * a {@link eu.etaxonomy.taxeditor.editor.TaxonEditorInput} * object. @@ -75,16 +81,26 @@ public class EditorUtil extends AbstractUtility { throws PartInitException { open(input, KeyEditor.ID); } - + public static void open(CdmAuthorityEditorInput input) throws PartInitException { open(input, CdmAuthorityEditor.ID); } + /** + * Opens a new DerivateView for the given input + * @param input a {@link DerivateViewEditorInput} representing the selected derivate + * @throws PartInitException + */ + public static void open(DerivateViewEditorInput input) + throws PartInitException { + open(input, DerivateView.ID); + } + /** * Taxon Editors may be opened by supplying a taxon node uuid. Session gets * initialised here and is passed to the editor - * + * * @param taxonNodeUuid * a {@link java.util.UUID} object. * @throws java.lang.Exception @@ -99,7 +115,7 @@ public class EditorUtil extends AbstractUtility { *

* openTaxonBase *

- * + * * @param taxonBaseUuid * a {@link java.util.UUID} object. * @throws org.eclipse.ui.PartInitException @@ -116,7 +132,7 @@ public class EditorUtil extends AbstractUtility { *

* findEditorByTaxonNodeUuid *

- * + * * @param taxonNodeUuid * a {@link java.util.UUID} object. * @return a {@link org.eclipse.ui.IEditorPart} object. @@ -133,7 +149,7 @@ public class EditorUtil extends AbstractUtility { * An uninitialized taxon is one that hasn't been saved yet. As such, it * should appear in neither the list of recent names nor in the taxonomic * tree when opened. - * + * * @throws org.eclipse.ui.PartInitException * if any. * @param parentNodeUuid @@ -152,7 +168,7 @@ public class EditorUtil extends AbstractUtility { *

* setSaving *

- * + * * @param isSaving * a boolean. */ @@ -164,7 +180,7 @@ public class EditorUtil extends AbstractUtility { *

* isSaving *

- * + * * @return a boolean. */ public static boolean isSaving() { @@ -173,7 +189,7 @@ public class EditorUtil extends AbstractUtility { /** * Returns a set of all currently open MultiPageTaxonEditors. - * + * * @return a {@link java.util.Set} object. */ public static Set getOpenEditors() { @@ -194,7 +210,7 @@ public class EditorUtil extends AbstractUtility { /** * Returns the currently active taxon editor - * + * * @return the taxon editor that has focus */ public static MultiPageTaxonEditor getActiveMultiPageTaxonEditor() { @@ -211,7 +227,7 @@ public class EditorUtil extends AbstractUtility { *

* getActiveEditorPage *

- * + * * @param page * a {@link eu.etaxonomy.taxeditor.editor.Page} object. * @return a {@link org.eclipse.ui.IEditorPart} object. @@ -224,7 +240,7 @@ public class EditorUtil extends AbstractUtility { /** * Returns the selection of the currently active taxon editor - * + * * @return a {@link org.eclipse.jface.viewers.ISelection} object. */ public static ISelection getCurrentSelection() { @@ -240,7 +256,7 @@ public class EditorUtil extends AbstractUtility { *

* getUndoContext *

- * + * * @param editor * a {@link eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor} * object. @@ -255,7 +271,7 @@ public class EditorUtil extends AbstractUtility { *

* getUndoContext *

- * + * * @return a {@link org.eclipse.core.commands.operations.IUndoContext} * object. */ @@ -267,7 +283,7 @@ public class EditorUtil extends AbstractUtility { *

* forceUserSave *

- * + * * @param editor * a {@link org.eclipse.ui.IEditorPart} object. * @param shell @@ -286,7 +302,7 @@ public class EditorUtil extends AbstractUtility { return false; } - editor.doSave(EditorUtil.getMonitor()); + editor.doSave(AbstractUtility.getMonitor()); } return true; } @@ -295,7 +311,7 @@ public class EditorUtil extends AbstractUtility { *

* getSelection *

- * + * * @param event * a {@link org.eclipse.core.commands.ExecutionEvent} object. * @return a {@link org.eclipse.jface.viewers.IStructuredSelection} object. @@ -311,7 +327,7 @@ public class EditorUtil extends AbstractUtility { *

* getPluginId *

- * + * * @return a {@link java.lang.String} object. */ public static String getPluginId() { @@ -324,10 +340,30 @@ public class EditorUtil extends AbstractUtility { .NewInstance(polytomousKeyUuid); open(input); } - + public static void openCdmAuthorities(UUID groupUuid) throws Exception { CdmAuthorityEditorInput input = CdmAuthorityEditorInput.NewInstance(groupUuid); open(input); } + + public static FieldUnit getFieldUnit(SpecimenOrObservationBase specimen){ + if(specimen==null) { + return null; + } + if(specimen.isInstanceOf(FieldUnit.class)){ + return (FieldUnit) specimen; + } + else if(specimen instanceof DerivedUnit && ((DerivedUnit) specimen).getOriginals()!=null){ + for(SpecimenOrObservationBase original:((DerivedUnit) specimen).getOriginals()){ + if(original.isInstanceOf(FieldUnit.class)){ + return (FieldUnit) original; + } + else if(original.isInstanceOf(DerivedUnit.class)){ + return getFieldUnit(original); + } + } + } + return null; + } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/MultiPageTaxonEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/MultiPageTaxonEditor.java index 207b5d2f0..2f49284d4 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/MultiPageTaxonEditor.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/MultiPageTaxonEditor.java @@ -37,6 +37,7 @@ import eu.etaxonomy.taxeditor.model.DataChangeBridge; import eu.etaxonomy.taxeditor.model.IDataChangeBehavior; import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider; import eu.etaxonomy.taxeditor.model.IPartContentHasDetails; +import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -50,7 +51,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @version 1.0 */ public class MultiPageTaxonEditor extends FormEditor implements - IConversationEnabled, IPostOperationEnabled, + IPartContentHasFactualData, IConversationEnabled, IPostOperationEnabled, IDirtyMarkableSelectionProvider, IPartContentHasDetails, ISecuredEditor { /** Constant ID="eu.etaxonomy.taxeditor.editor.taxon"{trunked} */ diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenDerivateViewHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenDerivateViewHandler.java new file mode 100644 index 000000000..a718ba5b0 --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenDerivateViewHandler.java @@ -0,0 +1,41 @@ +package eu.etaxonomy.taxeditor.editor.handler; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.handlers.HandlerUtil; + +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.editor.EditorUtil; +import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput; +import eu.etaxonomy.taxeditor.model.AbstractUtility; + +public class OpenDerivateViewHandler extends AbstractHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + ISelection currentSelection = HandlerUtil.getCurrentSelection(event); + if(currentSelection instanceof IStructuredSelection){ + Object selectedElement = ((IStructuredSelection) currentSelection).getFirstElement(); + if(selectedElement instanceof SpecimenOrObservationBase){ + + DerivateViewEditorInput input = new DerivateViewEditorInput(((SpecimenOrObservationBase) selectedElement).getUuid()); + try { + EditorUtil.open(input); + } catch (PartInitException e) { + AbstractUtility.error(OpenDerivateViewHandler.class, "Could not open DerivateView", e); + } catch (NullPointerException npe){ + AbstractUtility.errorDialog("Failed to open Editor", OpenDerivateViewHandler.class, "Could not open DerivateView. The derivate hierarchy is corrupted!", npe); + } + } + } + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/CreateNodeOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/CreateNodeOperation.java index cc58872f8..f45ce48b0 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/CreateNodeOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/CreateNodeOperation.java @@ -10,14 +10,14 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** * @author n.hoffmann * */ -public class CreateNodeOperation extends AbstractPostOperation { +public class CreateNodeOperation extends AbstractPostTaxonOperation { PolytomousKeyNode parentNode; private PolytomousKeyNode childNode; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java index db6aa6c8e..02097b6f2 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java @@ -15,7 +15,7 @@ import eu.etaxonomy.cdm.api.application.CdmApplicationController; import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService; import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; @@ -23,7 +23,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore; * @author n.hoffmann * */ -public class DeleteNodeOperation extends AbstractPostOperation { +public class DeleteNodeOperation extends AbstractPostTaxonOperation { private final PolytomousKeyNode parent; private final PolytomousKeyNode node; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/RefreshNodeNumberingOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/RefreshNodeNumberingOperation.java index c14760087..d3d84db58 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/RefreshNodeNumberingOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/RefreshNodeNumberingOperation.java @@ -7,7 +7,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -17,7 +17,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @author c.mathew * */ -public class RefreshNodeNumberingOperation extends AbstractPostOperation { +public class RefreshNodeNumberingOperation extends AbstractPostTaxonOperation { PolytomousKeyNode node; private PolytomousKeyNode childNode; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptRelationshipTypeOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptRelationshipTypeOperation.java index 58fe43b73..850747b62 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptRelationshipTypeOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptRelationshipTypeOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -20,7 +20,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.StoreUtil; @@ -31,14 +31,14 @@ import eu.etaxonomy.taxeditor.store.StoreUtil; * @created 03.02.2009 * @version 1.0 */ -public class ChangeConceptRelationshipTypeOperation extends AbstractPostOperation { - +public class ChangeConceptRelationshipTypeOperation extends AbstractPostTaxonOperation { + private Taxon relatedTaxon; - + private TaxonRelationship taxonRelationship; - + private TaxonRelationshipType oldRelationshipType; - + private TaxonRelationshipType newRelationshipType; /** @@ -55,20 +55,20 @@ public class ChangeConceptRelationshipTypeOperation extends AbstractPostOperatio IUndoContext undoContext, Taxon taxon, Taxon relatedTaxon, TaxonRelationshipType type, IPostOperationEnabled postOperationEnabled) { super(label, undoContext, taxon, postOperationEnabled); this.relatedTaxon = relatedTaxon; - + Set taxonRelationships = taxon.getTaxonRelations(relatedTaxon); - + if(taxonRelationships.size() > 1){ StoreUtil.warningDialog("Multiple relations between taxa", this, "There are multiple relations between the " + "accepted and the related taxon. This case is not handled by the software yet"); return; } - + this.taxonRelationship = taxonRelationships.iterator().next(); this.oldRelationshipType = taxonRelationship.getType(); this.newRelationshipType = type; } - + /* (non-Javadoc) * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) */ @@ -76,17 +76,17 @@ public class ChangeConceptRelationshipTypeOperation extends AbstractPostOperatio @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // Remove relatedTaxon and old relationship // FIXME since taxon relationships come in a set, which relationships are we going to delete here? - taxon.removeTaxon(relatedTaxon, oldRelationshipType); + element.removeTaxon(relatedTaxon, oldRelationshipType); monitor.worked(20); - + // Add new relationship // TODO add microcitation for misapplied name to property sheet - relatedTaxon.addTaxonRelation(taxon, newRelationshipType, null, null); + relatedTaxon.addTaxonRelation(element, newRelationshipType, null, null); monitor.worked(40); - + return postExecute(relatedTaxon); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperation.java index 97a5d667b..62e56bcd4 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -23,7 +23,7 @@ import eu.etaxonomy.cdm.model.taxon.SynonymRelationship; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.StoreUtil; @@ -36,15 +36,15 @@ import eu.etaxonomy.taxeditor.store.StoreUtil; * @version 1.0 */ public class ChangeConceptToSynonymOperation extends - AbstractPostOperation { - + AbstractPostTaxonOperation { + private Taxon concept; private HomotypicalGroup homotypicalGroup; private TaxonRelationship taxonRelationship; private TaxonRelationshipType oldRelationshipType; - + private SynonymRelationship newSynonymRelationship; /** @@ -61,18 +61,18 @@ public class ChangeConceptToSynonymOperation extends IUndoContext undoContext, Taxon taxon, Taxon concept, HomotypicalGroup homotypicalGroup, IPostOperationEnabled editor) { super(label, undoContext, taxon, editor); - + Set taxonRelationships = taxon.getTaxonRelations(concept); - + if(taxonRelationships.size() > 1){ StoreUtil.warningDialog("Multiple relations between taxa", this, "There are multiple relations between the " + "accepted and the related taxon. This case is not handled by the software yet"); return; } - + this.taxonRelationship = taxonRelationships.iterator().next(); this.oldRelationshipType = taxonRelationship.getType(); - + this.concept = concept; this.homotypicalGroup = homotypicalGroup != null ? homotypicalGroup : HomotypicalGroup.NewInstance(); } @@ -84,21 +84,21 @@ public class ChangeConceptToSynonymOperation extends @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // Create new synonym using concept name TaxonNameBase synonymName = concept.getName(); - + // Remove concept relation from taxon - taxon.removeTaxon(concept, oldRelationshipType); + element.removeTaxon(concept, oldRelationshipType); monitor.worked(20); - + // Add name to new homotypic group homotypicalGroup.addTypifiedName(synonymName); monitor.worked(40); - + // Create a new synonym for the taxon - newSynonymRelationship = taxon.addHeterotypicSynonymName(synonymName); - + newSynonymRelationship = element.addHeterotypicSynonymName(synonymName); + return postExecute(newSynonymRelationship.getSynonym()); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java index 708dd3e24..d2b5af65d 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -20,7 +20,7 @@ import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -30,21 +30,21 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 19.01.2009 * @version 1.0 */ -public class ChangeHomotypicGroupOperation extends AbstractPostOperation { +public class ChangeHomotypicGroupOperation extends AbstractPostTaxonOperation { /** * The synonym to be moved. */ - private Synonym synonym; + private final Synonym synonym; /** * The former homotypical group the synonym belonged to */ - private HomotypicalGroup oldHomotypicalGroup; + private final HomotypicalGroup oldHomotypicalGroup; /** * The homotypical group the synonym is to be moved to */ - private HomotypicalGroup newHomotypicalGroup; - + private final HomotypicalGroup newHomotypicalGroup; + /** *

Constructor for ChangeHomotypicGroupOperation.

* @@ -55,16 +55,16 @@ public class ChangeHomotypicGroupOperation extends AbstractPostOperation { * @param newHomotypicalGroup a {@link eu.etaxonomy.cdm.model.name.HomotypicalGroup} object. * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. */ - public ChangeHomotypicGroupOperation(String label, IUndoContext undoContext, + public ChangeHomotypicGroupOperation(String label, IUndoContext undoContext, Taxon taxon, Synonym synonym, HomotypicalGroup newHomotypicalGroup, IPostOperationEnabled postOperationEnabled) { super(label, undoContext, taxon, postOperationEnabled); - + this.synonym = synonym; if(synonym == null){ throw new IllegalArgumentException( "A null synonym was provided."); } - + this.oldHomotypicalGroup = synonym.getHomotypicGroup(); this.newHomotypicalGroup = newHomotypicalGroup != null ? newHomotypicalGroup : HomotypicalGroup.NewInstance(); } @@ -76,32 +76,32 @@ public class ChangeHomotypicGroupOperation extends AbstractPostOperation { @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // Get synonym name TaxonNameBase synonymName = synonym.getName(); monitor.worked(20); - + // TODO pass in homotypical group's taxon in case we are dragging from one editor to another - + // Switch groups oldHomotypicalGroup.removeTypifiedName(synonymName); monitor.worked(40); newHomotypicalGroup.addTypifiedName(synonymName); - - if(! synonym.getAcceptedTaxa().contains(taxon)){ + + if(! synonym.getAcceptedTaxa().contains(element)){ for(Taxon acceptedTaxon : synonym.getAcceptedTaxa()){ acceptedTaxon.removeSynonym(synonym); } - + SynonymRelationshipType type = SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF(); - if(newHomotypicalGroup.getTypifiedNames().contains(taxon.getName())){ + if(newHomotypicalGroup.getTypifiedNames().contains(element.getName())){ type = SynonymRelationshipType.HOMOTYPIC_SYNONYM_OF(); } - - taxon.addSynonym(synonym, type); + + element.addSynonym(synonym, type); } - + // Redraw editor if it exists return postExecute(synonym); } @@ -123,19 +123,19 @@ public class ChangeHomotypicGroupOperation extends AbstractPostOperation { @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // Get synonym name TaxonNameBase synonymName = this.synonym.getName(); if(synonymName == null){ // TODO } - + // TODO pass in homotypical group's taxon in case we are dragging from one editor to another - + // Switch groups newHomotypicalGroup.removeTypifiedName(synonymName); - oldHomotypicalGroup.addTypifiedName(synonymName); - + oldHomotypicalGroup.addTypifiedName(synonymName); + // Redraw editor if it exists return postExecute(synonym); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperation.java index cb919655d..3e5c3f378 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperation.java @@ -18,7 +18,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @version 1.0 */ public class ChangeHomotypicalGroupBasionymOperation extends - AbstractPostOperation { + AbstractPostTaxonOperation { private TaxonBase taxonBase; /** diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java index 5d8b351fd..2c7f81315 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java @@ -22,11 +22,10 @@ import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonNode; -import eu.etaxonomy.taxeditor.editor.EditorUtil; +import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; -import eu.etaxonomy.taxeditor.store.StoreUtil; /** * Change the taxonomic parent of a given taxon. @@ -38,12 +37,12 @@ import eu.etaxonomy.taxeditor.store.StoreUtil; public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPostOperation { private Taxon newTaxon; - private Synonym synonym; - private ITaxonTreeNode parentNode; + private final Synonym synonym; + private final ITaxonTreeNode parentNode; private TaxonNode newNode; - private Synonym[] synonymsInHomotypicalGroup; + private final Synonym[] synonymsInHomotypicalGroup; /** *

Constructor for ChangeSynonymToAcceptedTaxonOperation.

@@ -61,7 +60,7 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos Taxon taxon, ITaxonTreeNode parentNode, Synonym synonym, Synonym[] synonymsInHomotypicalGroup, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) { super(label, undoContext, postOperationEnabled, conversationEnabled); - this.taxon = taxon; + this.element = taxon; this.parentNode = parentNode; this.synonym = synonym; this.synonymsInHomotypicalGroup = synonymsInHomotypicalGroup; @@ -76,9 +75,9 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos throws ExecutionException { try { - newTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToAcceptedTaxon(synonym, taxon, true, true, null, null); + newTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToAcceptedTaxon(synonym, element, true, true, null, null); } catch (HomotypicalGroupChangeException e) { - EditorUtil.warningDialog("Operation may lead to inconsistent data", getClass(), e.getMessage()); + AbstractUtility.warningDialog("Operation may lead to inconsistent data", getClass(), e.getMessage()); return postExecute(null); } monitor.worked(20); @@ -117,9 +116,9 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos throws ExecutionException { // TODO implement - biggest problem is that any window open for new taxon must be closed first - StoreUtil.warn(this.getClass(), "Not yet implemented"); + AbstractUtility.warn(this.getClass(), "Not yet implemented"); - return postExecute(taxon); + return postExecute(element); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperation.java index 9ec8fa36d..5bcc43ef5 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -19,7 +19,7 @@ import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; @@ -31,10 +31,10 @@ import eu.etaxonomy.taxeditor.store.CdmStore; * @created 21.01.2009 * @version 1.0 */ -public class ChangeSynonymToConceptOperation extends AbstractPostOperation { - private Synonym synonym; - private TaxonRelationshipType taxonRelationshipType; - +public class ChangeSynonymToConceptOperation extends AbstractPostTaxonOperation { + private final Synonym synonym; + private final TaxonRelationshipType taxonRelationshipType; + /** *

Constructor for ChangeSynonymToConceptOperation.

* @@ -48,10 +48,10 @@ public class ChangeSynonymToConceptOperation extends AbstractPostOperation { public ChangeSynonymToConceptOperation(String label, IUndoContext undoContext, Taxon taxon, Synonym synonym, TaxonRelationshipType taxonRelationshipType, IPostOperationEnabled postOperationEnabled) { super(label, undoContext, taxon, postOperationEnabled); - + this.taxonRelationshipType = taxonRelationshipType; this.synonym = synonym; - + } /* (non-Javadoc) @@ -64,20 +64,20 @@ public class ChangeSynonymToConceptOperation extends AbstractPostOperation { // // Get name from synonym // TaxonNameBase synonymName = synonym.getName(); -// +// // // remove synonym from taxon // taxon.removeSynonym(synonym); -// +// // // Create a taxon with synonym name // Taxon fromTaxon = Taxon.NewInstance(synonymName, null); -// -// // Add taxon relation +// +// // Add taxon relation // fromTaxon.addTaxonRelation(taxon, taxonRelationshipType, null, null); monitor.worked(20); - Taxon fromTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToRelatedTaxon(synonym, taxon, taxonRelationshipType, null, null); + Taxon fromTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToRelatedTaxon(synonym, element, taxonRelationshipType, null, null); monitor.worked(40); - + // TaxonRelationshipType. // logger.warn("Not yet implemented."); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToHomotypicalGroupBasionymOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToHomotypicalGroupBasionymOperation.java index ffa2f4abe..bcd9033c8 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToHomotypicalGroupBasionymOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToHomotypicalGroupBasionymOperation.java @@ -17,7 +17,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; /** *

ChangeSynonymToHomotypicalGroupBasionymOperation class.

@@ -27,7 +27,7 @@ import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; * @version 1.0 * @deprecated there will be an operation to set the basionym only that automatically unsets the former basionym */ -public class ChangeSynonymToHomotypicalGroupBasionymOperation extends AbstractPostOperation { +public class ChangeSynonymToHomotypicalGroupBasionymOperation extends AbstractPostTaxonOperation { private Synonym synonym; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperation.java index f3b9ff566..3bd310bd3 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -23,7 +23,7 @@ import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; @@ -35,9 +35,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore; * @created 14.01.2009 * @version 1.0 */ -public class ChangeSynonymToMisapplicationOperation extends AbstractPostOperation { +public class ChangeSynonymToMisapplicationOperation extends AbstractPostTaxonOperation { - private Synonym synonym; + private final Synonym synonym; private Taxon misapplication; private Set synonymTypes; @@ -53,7 +53,7 @@ public class ChangeSynonymToMisapplicationOperation extends AbstractPostOperatio public ChangeSynonymToMisapplicationOperation(String label, IUndoContext undoContext, Taxon taxon, Synonym synonym, IPostOperationEnabled editor) { super(label, undoContext, taxon, editor); - + this.synonym = synonym; } @@ -61,7 +61,7 @@ public class ChangeSynonymToMisapplicationOperation extends AbstractPostOperatio @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // get name from synonym TaxonNameBase synonymName = synonym.getName(); @@ -69,18 +69,18 @@ public class ChangeSynonymToMisapplicationOperation extends AbstractPostOperatio misapplication = Taxon.NewInstance(synonymName, null); CdmStore.getService(ITaxonService.class).saveOrUpdate(misapplication); monitor.worked(20); - + // store synonymRelationshipType for later undo operations - synonymTypes = synonym.getRelationType(taxon); - - // remove synonym from taxon - taxon.removeSynonym(synonym); + synonymTypes = synonym.getRelationType(element); + + // remove synonym from taxon + element.removeSynonym(synonym); monitor.worked(40); - + // add misapplied name to taxon // TODO add microcitation for misapplied name to property sheet (if microcitation is indeed needed?!) - taxon.addMisappliedName(misapplication, null, null); - + element.addMisappliedName(misapplication, null, null); + // redraw editor if exists return postExecute(misapplication); } @@ -91,11 +91,11 @@ public class ChangeSynonymToMisapplicationOperation extends AbstractPostOperatio throws ExecutionException { // add misapplied name to taxon // TODO add citation for misapplied name to property sheet - taxon.addMisappliedName(misapplication, null, null); - + element.addMisappliedName(misapplication, null, null); + // remove synonym from taxon - taxon.removeSynonym(synonym); - + element.removeSynonym(synonym); + // redraw editor if exists return postExecute(null); } @@ -104,15 +104,15 @@ public class ChangeSynonymToMisapplicationOperation extends AbstractPostOperatio @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // remove misapplied name from taxon - taxon.removeTaxon(misapplication, TaxonRelationshipType.MISAPPLIED_NAME_FOR()); - + element.removeTaxon(misapplication, TaxonRelationshipType.MISAPPLIED_NAME_FOR()); + // add synonym to taxon for (SynonymRelationshipType synonymType : synonymTypes){ - taxon.addSynonym(synonym, synonymType); + element.addSynonym(synonym, synonymType); } - + // redraw editor if exists return postExecute(null); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateNameRelationOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateNameRelationOperation.java index 836d82a0c..f313dd59a 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateNameRelationOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateNameRelationOperation.java @@ -19,7 +19,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.name.NameRelationshipType; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.TaxonBase; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created Mar 30, 2010 * @version 1.0 */ -public class CreateNameRelationOperation extends AbstractPostOperation { +public class CreateNameRelationOperation extends AbstractPostTaxonOperation { private TaxonBase taxonBase; private TaxonNameBase relatedName; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInExistingHomotypicalGroupOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInExistingHomotypicalGroupOperation.java index 31a191851..d0d3d74c3 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInExistingHomotypicalGroupOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInExistingHomotypicalGroupOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -19,7 +19,7 @@ import eu.etaxonomy.cdm.model.name.HomotypicalGroup; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.SynonymRelationship; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -30,13 +30,13 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @version 1.0 */ public class CreateSynonymInExistingHomotypicalGroupOperation extends - AbstractPostOperation { + AbstractPostTaxonOperation { - private HomotypicalGroup group; - private TaxonNameBase newSynonymName; + private final HomotypicalGroup group; + private final TaxonNameBase newSynonymName; private SynonymRelationship synonymRelationship; - + /** *

Constructor for CreateSynonymInExistingHomotypicalGroupOperation.

* @@ -61,29 +61,29 @@ public class CreateSynonymInExistingHomotypicalGroupOperation extends @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // Add name to given homotypic group group.addTypifiedName(newSynonymName); monitor.worked(20); - + // Create a new synonym for the taxon // TODO add citations - if(group.equals(taxon.getHomotypicGroup())){ - synonymRelationship = taxon.addHomotypicSynonymName(newSynonymName, null, null); + if(group.equals(element.getHomotypicGroup())){ + synonymRelationship = element.addHomotypicSynonymName(newSynonymName, null, null); }else{ - synonymRelationship = taxon.addHeterotypicSynonymName(newSynonymName); + synonymRelationship = element.addHeterotypicSynonymName(newSynonymName); } monitor.worked(40); - + // Synonym affectedSynonym = null; -// +// // for(Synonym synonym : group.getSynonymsInGroup(taxon.getSec())){ // if(synonym.getName() == synonymName){ // affectedSynonym = synonym; // break; // } // } - + return postExecute(synonymRelationship.getSynonym()); } @@ -105,8 +105,8 @@ public class CreateSynonymInExistingHomotypicalGroupOperation extends public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - taxon.removeSynonymRelation(synonymRelationship); - + element.removeSynonymRelation(synonymRelationship); + return postExecute(null); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInNewGroupOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInNewGroupOperation.java index 8accbbeac..6fca0efc6 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInNewGroupOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInNewGroupOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -19,7 +19,7 @@ import eu.etaxonomy.cdm.model.name.HomotypicalGroup; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.SynonymRelationship; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -34,10 +34,10 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 16.01.2009 * @version 1.0 */ -public class CreateSynonymInNewGroupOperation extends AbstractPostOperation { - +public class CreateSynonymInNewGroupOperation extends AbstractPostTaxonOperation { + // TODO replace this with TaxonNameBase - private TaxonNameBase newSynonymName; + private final TaxonNameBase newSynonymName; private SynonymRelationship newSynonymRelationship; /** @@ -52,7 +52,7 @@ public class CreateSynonymInNewGroupOperation extends AbstractPostOperation { public CreateSynonymInNewGroupOperation(String label, IUndoContext undoContext, Taxon taxon, TaxonNameBase newSynonymName, IPostOperationEnabled postOperationEnabled) { super(label, undoContext, taxon, postOperationEnabled); - + this.newSynonymName = newSynonymName; } @@ -63,13 +63,13 @@ public class CreateSynonymInNewGroupOperation extends AbstractPostOperation { @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // Add name to new homotypic group HomotypicalGroup.NewInstance().addTypifiedName(newSynonymName); monitor.worked(20); - + // Create a new synonym for the taxon - newSynonymRelationship = taxon.addHeterotypicSynonymName(newSynonymName); + newSynonymRelationship = element.addHeterotypicSynonymName(newSynonymName); monitor.worked(40); return postExecute(newSynonymRelationship.getSynonym()); @@ -92,11 +92,11 @@ public class CreateSynonymInNewGroupOperation extends AbstractPostOperation { @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - - // Remove the synonym - taxon.removeSynonymRelation(newSynonymRelationship); + + // Remove the synonym + element.removeSynonymRelation(newSynonymRelationship); newSynonymRelationship = null; - + return postExecute(null); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperation.java index 99aaf79c5..fb4856897 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -19,7 +19,7 @@ import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -29,9 +29,9 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 16.01.2009 * @version 1.0 */ -public class DeleteMisapplicationOperation extends AbstractPostOperation { - - private Taxon misapplication; +public class DeleteMisapplicationOperation extends AbstractPostTaxonOperation { + + private final Taxon misapplication; private Reference citation; @@ -49,7 +49,7 @@ public class DeleteMisapplicationOperation extends AbstractPostOperation { public DeleteMisapplicationOperation(String label, IUndoContext undoContext, Taxon taxon, Taxon misapplication, IPostOperationEnabled postOperationEnabled) { super(label, undoContext, taxon, postOperationEnabled); - + this.misapplication = misapplication; } @@ -62,7 +62,7 @@ public class DeleteMisapplicationOperation extends AbstractPostOperation { throws ExecutionException { // Find misapplication relation, save citation information - for (TaxonRelationship relationship : taxon.getTaxonRelations()) { + for (TaxonRelationship relationship : element.getTaxonRelations()) { if (relationship.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR()) && relationship.getFromTaxon().equals(misapplication)) { citation = relationship.getCitation(); @@ -70,9 +70,9 @@ public class DeleteMisapplicationOperation extends AbstractPostOperation { } } monitor.worked(20); - + // Remove misapplied name relation from taxon - taxon.removeTaxon(misapplication, TaxonRelationshipType.MISAPPLIED_NAME_FOR()); + element.removeTaxon(misapplication, TaxonRelationshipType.MISAPPLIED_NAME_FOR()); monitor.worked(40); return postExecute(null); @@ -95,9 +95,9 @@ public class DeleteMisapplicationOperation extends AbstractPostOperation { @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - - taxon.addMisappliedName(misapplication, citation, microcitation); - + + element.addMisappliedName(misapplication, citation, microcitation); + return postExecute(misapplication); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteNameRelationOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteNameRelationOperation.java index c4d4632ff..d471f669e 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteNameRelationOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteNameRelationOperation.java @@ -18,7 +18,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.name.NameRelationship; import eu.etaxonomy.cdm.model.name.TaxonNameBase; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -28,7 +28,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created Mar 30, 2010 * @version 1.0 */ -public class DeleteNameRelationOperation extends AbstractPostOperation { +public class DeleteNameRelationOperation extends AbstractPostTaxonOperation { private NameRelationship nameRelationship; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java index 76e1b34f8..cba17dc07 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -22,7 +22,7 @@ import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; @@ -33,9 +33,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore; * @created 14.01.2009 * @version 1.0 */ -public class DeleteSynonymOperation extends AbstractPostOperation { - - private Synonym synonym; +public class DeleteSynonymOperation extends AbstractPostTaxonOperation { + + private final Synonym synonym; private Set synonymTypes; /** @@ -60,33 +60,33 @@ public class DeleteSynonymOperation extends AbstractPostOperation { @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // Store synonymRelationshipType for later undo operations - synonymTypes = synonym.getRelationType(taxon); + synonymTypes = synonym.getRelationType(element); monitor.worked(20); - + // Remove synonym from taxon - + CdmApplicationController controller; - + controller = (CdmApplicationController) CdmStore.getCurrentApplicationConfiguration(); - + ITaxonService service = controller.getTaxonService(); if (synonym.getId() == 0){ - taxon.removeSynonym(synonym); - + element.removeSynonym(synonym); + } else { service.deleteSynonym(synonym, null); } // taxon.removeSynonym(synonym); // CdmStore.getTaxonService().deleteSynonymRelationships(synonym); // CdmStore.getTaxonService().delete(synonym); - + monitor.worked(40); // Redraw editor if exists - - return postExecute(taxon); + + return postExecute(element); } /* (non-Javadoc) @@ -95,7 +95,7 @@ public class DeleteSynonymOperation extends AbstractPostOperation { /** {@inheritDoc} */ @Override public IStatus redo(IProgressMonitor monitor, IAdaptable info) - throws ExecutionException { + throws ExecutionException { return execute(monitor, info); } @@ -106,12 +106,12 @@ public class DeleteSynonymOperation extends AbstractPostOperation { @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + // Add synonym to taxon for (SynonymRelationshipType synonymType : synonymTypes){ - taxon.addSynonym(synonym, synonymType); + element.addSynonym(synonym, synonymType); } - + // Redraw editor if exists return postExecute(synonym); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java index b1a365900..49f714668 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java @@ -3,21 +3,12 @@ package eu.etaxonomy.taxeditor.editor.name.operation; import java.util.Iterator; import java.util.Set; -import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.operations.IUndoContext; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorReference; -import org.eclipse.ui.IPerspectiveDescriptor; -import org.eclipse.ui.IViewPart; -import org.eclipse.ui.IViewReference; import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.handlers.HandlerUtil; import eu.etaxonomy.cdm.api.application.CdmApplicationController; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; @@ -25,26 +16,23 @@ import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator; import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException; import eu.etaxonomy.cdm.model.taxon.Classification; -import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonNode; -import eu.etaxonomy.taxeditor.editor.TaxonEditorInput; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; public class DeleteTaxonOperation extends DeleteTaxonBaseOperation{ //private Taxon taxon; - private Classification classification; - - - - + private final Classification classification; + + + + public DeleteTaxonOperation(String label, IUndoContext undoContext, Taxon taxon, Classification classification, IWorkbenchPage activePage, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) { super(label, undoContext, taxon, activePage, postOperationEnabled, conversationEnabled); - this.taxon = taxon; - + this.element = taxon; + Set nodes = taxon.getTaxonNodes(); if (nodes.size() == 1 && classification == null){ this.taxonNode = nodes.iterator().next(); @@ -60,38 +48,38 @@ public class DeleteTaxonOperation extends DeleteTaxonBaseOperation{ //TODO } this.classification = classification; - + } - + @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + monitor.worked(20); bind(); - - + + CdmApplicationController controller; - + controller = (CdmApplicationController) CdmStore.getCurrentApplicationConfiguration(); - + ITaxonService service = controller.getTaxonService(); try { - - service.deleteTaxon(taxon, new TaxonDeletionConfigurator(), classification); - + + service.deleteTaxon(element, new TaxonDeletionConfigurator(), classification); + } catch (DataChangeNoRollbackException e) { // TODO Auto-generated catch block e.printStackTrace(); - + } - + //closeObsoleteEditor(taxon); monitor.worked(40); - - + + return postExecute(null); } @@ -108,6 +96,6 @@ public class DeleteTaxonOperation extends DeleteTaxonBaseOperation{ // TODO Auto-generated method stub return null; } - - + + } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/RemoveHomotypicalGroupBasionymOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/RemoveHomotypicalGroupBasionymOperation.java index c23b34f64..73ab96aa4 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/RemoveHomotypicalGroupBasionymOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/RemoveHomotypicalGroupBasionymOperation.java @@ -18,7 +18,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @version 1.0 */ public class RemoveHomotypicalGroupBasionymOperation extends - AbstractPostOperation { + AbstractPostTaxonOperation { private TaxonBase taxonBase; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperation.java index 0758a17b2..a30c1f9d3 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperation.java @@ -1,9 +1,9 @@ // $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. */ @@ -15,15 +15,12 @@ import org.eclipse.core.commands.operations.IUndoContext; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; import eu.etaxonomy.cdm.api.service.ITaxonService; -import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.editor.EditorUtil; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; @@ -35,12 +32,12 @@ import eu.etaxonomy.taxeditor.store.StoreUtil; * @created 23.04.2009 * @version 1.0 */ -public class SwapSynonymAndAcceptedOperation extends AbstractPostOperation { - - private Synonym synonym; +public class SwapSynonymAndAcceptedOperation extends AbstractPostTaxonOperation { + + private final Synonym synonym; // TODO store the old relationship for undo reasons private SynonymRelationshipType synonymRelationshipType; - + /** *

Constructor for SwapSynonymAndAcceptedOperation.

* @@ -53,7 +50,7 @@ public class SwapSynonymAndAcceptedOperation extends AbstractPostOperation { public SwapSynonymAndAcceptedOperation(String label, IUndoContext undoContext, Taxon taxon, Synonym synonym, IPostOperationEnabled postOperationEnabled) { super("Swap Synonym And Accepted Taxon Operation", undoContext, taxon, postOperationEnabled); - + this.synonym = synonym; } @@ -64,14 +61,14 @@ public class SwapSynonymAndAcceptedOperation extends AbstractPostOperation { @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + monitor.worked(20); - - CdmStore.getService(ITaxonService.class).swapSynonymAndAcceptedTaxon(synonym, taxon); - + + CdmStore.getService(ITaxonService.class).swapSynonymAndAcceptedTaxon(synonym, element); + monitor.worked(40); - return postExecute(taxon); + return postExecute(element); } /* (non-Javadoc) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/CreateConceptRelationOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/CreateConceptRelationOperation.java index 29079f925..40c92af92 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/CreateConceptRelationOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/CreateConceptRelationOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -18,7 +18,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -29,11 +29,11 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 26.01.2009 * @version 1.0 */ -public class CreateConceptRelationOperation extends AbstractPostOperation { - - private Taxon concept; - private TaxonRelationshipTypeInverseContainer taxonRelationshipTypeInverseContainer; - +public class CreateConceptRelationOperation extends AbstractPostTaxonOperation { + + private final Taxon concept; + private final TaxonRelationshipTypeInverseContainer taxonRelationshipTypeInverseContainer; + /** *

Constructor for CreateConceptRelationOperation.

* @@ -51,7 +51,7 @@ public class CreateConceptRelationOperation extends AbstractPostOperation { this.concept = concept; this.taxonRelationshipTypeInverseContainer = taxonRelationshipTypeInverseContainer; } - + public CreateConceptRelationOperation(String label, IUndoContext undoContext, Taxon taxon, Taxon concept, TaxonRelationshipType taxonRelationshipType , IPostOperationEnabled postOperationEnabled) { @@ -69,12 +69,12 @@ public class CreateConceptRelationOperation extends AbstractPostOperation { monitor.worked(20); // add concept to taxon if(taxonRelationshipTypeInverseContainer.isInverse()){ - concept.addTaxonRelation(taxon, taxonRelationshipTypeInverseContainer.getType(), null, null); + concept.addTaxonRelation(element, taxonRelationshipTypeInverseContainer.getType(), null, null); } else { - taxon.addTaxonRelation(concept, taxonRelationshipTypeInverseContainer.getType(), null, null); + element.addTaxonRelation(concept, taxonRelationshipTypeInverseContainer.getType(), null, null); } monitor.worked(40); - + // redraw editor if exists return postExecute(concept); } @@ -96,9 +96,9 @@ public class CreateConceptRelationOperation extends AbstractPostOperation { @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - - taxon.removeTaxon(concept, taxonRelationshipTypeInverseContainer.getType()); - + + element.removeTaxon(concept, taxonRelationshipTypeInverseContainer.getType()); + // redraw editor if exists return postExecute(null); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/DeleteConceptRelationOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/DeleteConceptRelationOperation.java index 4c5c4240f..9f71fae56 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/DeleteConceptRelationOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/operation/DeleteConceptRelationOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -19,7 +19,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -30,9 +30,9 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 29.01.2009 * @version 1.0 */ -public class DeleteConceptRelationOperation extends AbstractPostOperation { - - private Set taxonRelationships; +public class DeleteConceptRelationOperation extends AbstractPostTaxonOperation { + + private final Set taxonRelationships; /** @@ -45,7 +45,7 @@ public class DeleteConceptRelationOperation extends AbstractPostOperation { IUndoContext undoContext, Taxon taxon, Set relations, IPostOperationEnabled postOperationEnabled) { super(label, undoContext, taxon, postOperationEnabled); - + taxonRelationships = relations; } @@ -56,17 +56,17 @@ public class DeleteConceptRelationOperation extends AbstractPostOperation { @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + monitor.worked(20); - + // Remove relation from taxon for(TaxonRelationship relationship : taxonRelationships){ - taxon.removeTaxonRelation(relationship); + element.removeTaxonRelation(relationship); monitor.worked(10); } monitor.worked(10); - return postExecute(taxon); + return postExecute(element); } /* (non-Javadoc) @@ -86,12 +86,12 @@ public class DeleteConceptRelationOperation extends AbstractPostOperation { @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + for(TaxonRelationship relationship : taxonRelationships){ - taxon.addTaxonRelation(relationship); + element.addTaxonRelation(relationship); monitor.worked(10); } - - return postExecute(taxon); + + return postExecute(element); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/CreateDerivateContextMenu.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/CreateDerivateContextMenu.java new file mode 100644 index 000000000..8d1c446ea --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/CreateDerivateContextMenu.java @@ -0,0 +1,137 @@ +package eu.etaxonomy.taxeditor.editor.view.derivate; + +import org.eclipse.jface.action.ContributionItem; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.TreeSelection; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.MenuItem; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.actions.CompoundContributionItem; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy; +import eu.etaxonomy.cdm.model.molecular.DnaSample; +import eu.etaxonomy.cdm.model.occurrence.DerivationEvent; +import eu.etaxonomy.cdm.model.occurrence.DerivationEventType; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; +import eu.etaxonomy.taxeditor.model.AbstractUtility; + +/** + * Context menu for the creation of sub-derivates. + * + */ +public class CreateDerivateContextMenu extends CompoundContributionItem { + + /* (non-Javadoc) + * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems() + */ + @Override + protected IContributionItem[] getContributionItems() { + IContributionItem[] contributionItems = new IContributionItem[] { + new ContributionItem() { + @Override + public void fill(Menu menu, int index) { + final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + final ISelection selection = window.getActivePage().getSelection(); + if(selection instanceof TreeSelection){ + final Object selectedElement = ((TreeSelection) selection).getFirstElement(); + //context menu for FieldUnit + if(selectedElement instanceof FieldUnit){ + FieldUnit fieldUnit = (FieldUnit) selectedElement; + createMenuItem(menu, "Specimen", fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen)); + new MenuItem(menu, SWT.SEPARATOR); + createMenuItem(menu, "Tissue Sample", fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.TissueSample)); + createMenuItem(menu, "DNA Sample", fieldUnit, DnaSample.NewInstance()); + createMenuItem(menu, "Specimen Scan", fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)); + createMenuItem(menu, "Artwork", fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)); + createMenuItem(menu, "Living Plant Photo", fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)); + } + //context menu for Specimen + else if(selectedElement instanceof DerivedUnit && ((DerivedUnit)selectedElement).getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){ + DerivedUnit derivedUnit = (DerivedUnit) selectedElement; + + createMenuItem(menu, "Tissue Sample", derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.TissueSample)); + createMenuItem(menu, "DNA Sample", derivedUnit, DnaSample.NewInstance()); + createMenuItem(menu, "Specimen Scan", derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)); + createMenuItem(menu, "Artwork", derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)); + createMenuItem(menu, "Living Plant Photo", derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)); + } + //context menu for DnaSample + else if(selectedElement instanceof DnaSample){ + DnaSample dnaSample = (DnaSample) selectedElement; + + } + //default + else{ + MenuItem menuItem = new MenuItem(menu, SWT.None); + menuItem.setText("No child derivates"); + menuItem.setEnabled(false); + } + } + } + + /** + * @param parent + * @param menuItem + * @param childToCreate + * @param menu + */ + private void createMenuItem(Menu menu, String menuLabel, SpecimenOrObservationBase parent, DerivedUnit childToCreate) { + MenuItem menuItem = new MenuItem(menu, SWT.None); + menuItem.setText(menuLabel); + menuItem.addSelectionListener(new WidgetSelectionListener(parent, childToCreate)); + } + } + }; + return contributionItems; + } + + private class WidgetSelectionListener implements SelectionListener{ + + private final SpecimenOrObservationBase parent; + private final DerivedUnit derivate; + + /** + * @param parent + */ + public WidgetSelectionListener(SpecimenOrObservationBase parent, DerivedUnit derivate) { + this.parent = parent; + this.derivate = derivate; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) + */ + @Override + public void widgetSelected(SelectionEvent e) { + parent.addDerivationEvent(DerivationEvent.NewSimpleInstance(parent, derivate, DerivationEventType.GATHERING_IN_SITU())); + derivate.setCacheStrategy(new DerivedUnitFacadeCacheStrategy()); + derivate.getTitleCache(); //update title cache + IWorkbenchPart activePart = AbstractUtility.getActivePart(); + if(activePart instanceof DerivateView){ + DerivateView derivateView = (DerivateView)activePart; + derivateView.changed(derivate); + derivateView.viewer.refresh(); + } + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) + */ + @Override + public void widgetDefaultSelected(SelectionEvent e) { + // TODO Auto-generated method stub + + } + + } + +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java new file mode 100644 index 000000000..207471637 --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java @@ -0,0 +1,104 @@ +package eu.etaxonomy.taxeditor.editor.view.derivate; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +import org.eclipse.jface.viewers.ITreeContentProvider; +import org.eclipse.jface.viewers.Viewer; + +import eu.etaxonomy.cdm.model.occurrence.DerivationEvent; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.editor.EditorUtil; + +public class DerivateContentProvider implements ITreeContentProvider { + + @Override + public void dispose() { + // TODO Auto-generated method stub + + } + + @Override + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + } + + @Override + public Object[] getElements(Object inputElement) { + SpecimenOrObservationBase specimen = null; + if(inputElement instanceof DerivateViewEditorInput){ + inputElement = ((DerivateViewEditorInput) inputElement).getDerivate(); + } + + // return the parent FieldUnit if element is a DerivedUnit + if(inputElement instanceof DerivedUnit){ + specimen = EditorUtil.getFieldUnit((DerivedUnit)inputElement); + } + else if(inputElement instanceof FieldUnit){ + specimen = (FieldUnit) inputElement; + } + if(specimen!=null){ + return Collections.singleton(specimen).toArray(); + } + else { + return Collections.EMPTY_LIST.toArray(); + } + } + + @Override + public Object[] getChildren(Object parentElement) { + if(parentElement instanceof DerivateViewEditorInput){ + parentElement = ((DerivateViewEditorInput) parentElement).getDerivate(); + } + + if(parentElement instanceof SpecimenOrObservationBase){ + return getDerivates((SpecimenOrObservationBase) parentElement).toArray(); + } + return null; + } + + @Override + public Object getParent(Object element) { + if(element instanceof DerivateViewEditorInput){ + element = ((DerivateViewEditorInput) element).getDerivate(); + } + + if(element instanceof FieldUnit){ + return element; + } + else if(element instanceof DerivedUnit){ + DerivedUnit derivedUnit = (DerivedUnit)element; + return derivedUnit.getOriginalUnit(); + } + return null; + } + + @Override + public boolean hasChildren(Object element) { + if(element instanceof DerivateViewEditorInput){ + element = ((DerivateViewEditorInput) element).getDerivate(); + } + + if(element instanceof SpecimenOrObservationBase){ + SpecimenOrObservationBase specimenOrObservation = (SpecimenOrObservationBase)element; + for(DerivationEvent event:(Set)specimenOrObservation.getDerivationEvents()){ + if(!event.getDerivatives().isEmpty()){ + return true; + } + } + } + return false; + } + + private List getDerivates(SpecimenOrObservationBase specimenOrObservation){ + List derivates = new ArrayList(); + for(DerivationEvent derivationEvent:(Set)specimenOrObservation.getDerivationEvents()){ + derivates.addAll(derivationEvent.getDerivatives()); + } + return derivates; + } + +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateMenuPropertyTester.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateMenuPropertyTester.java new file mode 100644 index 000000000..6d30016cb --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateMenuPropertyTester.java @@ -0,0 +1,52 @@ +/** + * + */ +package eu.etaxonomy.taxeditor.editor.view.derivate; + +import org.eclipse.core.expressions.PropertyTester; +import org.eclipse.jface.viewers.IStructuredSelection; + +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; + +/** + * Property tester used by the DerivateView tree menu. + * + */ +public class DerivateMenuPropertyTester extends PropertyTester { + + private static final String IS_SPECIMEN_OR_OBSERVATION = "isSpecimenOrObservation"; + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + */ + /** {@inheritDoc} */ + @Override + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + //TODO: these simple instanceof-checks can be unified in one class because there are several + // PropertyTesters that do the same, that is just checking which class the selection is of + + Object[] selectedElements = ((IStructuredSelection) receiver).toArray(); + + if(selectedElements.length == 0){ + // nothing selected so all tests should fail + return false; + } + + if(IS_SPECIMEN_OR_OBSERVATION.equals(property)){ + return isSpecimenOrObservation(selectedElements); + } + else{ + return false; + } + } + + private boolean isSpecimenOrObservation(Object[] selectedElements) { + for (Object object : selectedElements){ + if(!(object instanceof SpecimenOrObservationBase)){ + return false; + } + } + return true; + } + +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java new file mode 100644 index 000000000..566fc6f96 --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java @@ -0,0 +1,190 @@ +package eu.etaxonomy.taxeditor.editor.view.derivate; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.viewers.AbstractTreeViewer; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.part.EditorPart; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; +import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider; +import eu.etaxonomy.taxeditor.model.IPartContentHasDetails; +import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData; +import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData; +import eu.etaxonomy.taxeditor.ui.campanula.derivatesearch.DerivateLabelProvider; + +/** + * Displays the derivate hierarchy of all derivates belonging to a taxon. + * + */ +public class DerivateView extends EditorPart implements IPartContentHasFactualData, IDirtyMarkableSelectionProvider, IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData { + + /** Constant ID="eu.etaxonomy.taxeditor.editor.view.desc"{trunked} */ + public static final String ID = "eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView"; + + private ConversationHolder conversation; + + protected TreeViewer viewer; + + private boolean isDirty; + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) + */ + @Override + public void createPartControl(Composite parent) { + viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION)); + viewer.setContentProvider(new DerivateContentProvider()); + viewer.setLabelProvider(new DerivateLabelProvider()); + viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); + // Propagate selection from viewer + getSite().setSelectionProvider(viewer); + + //create context menu + MenuManager menuManager = new MenuManager(); + + getSite().registerContextMenu(menuManager, viewer); + + Control control = viewer.getControl(); + Menu menu = menuManager.createContextMenu(control); + + control.setMenu(menu); + + IEditorInput editorInput = getEditorInput(); + viewer.setInput(editorInput); + if(editorInput instanceof DerivateViewEditorInput){ + SpecimenOrObservationBase specimen = ((DerivateViewEditorInput) editorInput).getDerivate(); + FieldUnit fieldUnit = ((DerivateViewEditorInput) editorInput).getFieldUnit(); + setPartName(fieldUnit.toString()); + viewer.setSelection(new StructuredSelection(specimen)); + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor) + */ + @Override + public void doSave(IProgressMonitor monitor) { + monitor.beginTask("Saving Derivates", 3); + if (!conversation.isBound()) { + conversation.bind(); + } + monitor.worked(1); + + // commit the conversation and start a new transaction immediately + conversation.commit(true); + monitor.worked(1); + + this.setDirty(false); + monitor.worked(1); + monitor.done(); + firePropertyChange(PROP_DIRTY); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.EditorPart#doSaveAs() + */ + @Override + public void doSaveAs() { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.EditorPart#getTitleToolTip() + */ + @Override + public String getTitleToolTip() { + return "Derivate View"; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput) + */ + @Override + public void init(IEditorSite site, IEditorInput input) throws PartInitException { + setSite(site); + setInput(input); + if(input instanceof DerivateViewEditorInput){ + conversation = ((DerivateViewEditorInput) input).getConversationHolder(); + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.EditorPart#isDirty() + */ + @Override + public boolean isDirty() { + return isDirty; + } + + /** + * @param isDirty the isDirty to set + */ + public void setDirty(boolean isDirty) { + this.isDirty = isDirty; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed() + */ + @Override + public boolean isSaveAsAllowed() { + // TODO Auto-generated method stub + return false; + } + + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#setFocus() + */ + @Override + public void setFocus() { + //make sure to bind again if maybe in another view the conversation was unbound + if(!conversation.isBound()){ + conversation.bind(); + } + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap) + */ + @Override + public void update(CdmDataChangeMap changeEvents) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder() + */ + @Override + public ConversationHolder getConversationHolder() { + return conversation; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider#changed(java.lang.Object) + */ + @Override + public void changed(Object element) { + viewer.setInput(getEditorInput()); + setDirty(true); + firePropertyChange(IEditorPart.PROP_DIRTY); + } + +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java new file mode 100644 index 000000000..395e95a8f --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java @@ -0,0 +1,180 @@ +// $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.editor.view.derivate; + +import java.util.Collection; +import java.util.UUID; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IPersistableElement; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * Editor input for the {@link DerivateView} which holds the currently selected derivate for which + * the derivate hierarchy should be shown in the DerivateView.
+ * It also holds a {@link FieldUnit} which is the root of the hierarchy. (both may be the same object) + * @author pplitzner + * @date 25.11.2013 + * + */ +public class DerivateViewEditorInput implements IEditorInput { + + /** + * The selected derivate + */ + private final SpecimenOrObservationBase derivate; + /** + * The root of the hierarchy (may be the same object as the derivate) + */ + private FieldUnit fieldUnit; + + private ConversationHolder conversationHolder; + + /** + * Creates an editor input for the {@link DerivateView} with the currently selected derivate and the + * corresponding {@link FieldUnit} (both may be the same object). + * @param derivateUuid the {@link UUID} of the derivate for which the derivate hierarchy should be shown + * @param fieldUnit the root of the hierarchy + */ + public DerivateViewEditorInput(UUID derivateUuid) { + super(); + this.conversationHolder = CdmStore.createConversation(); + this.derivate = CdmStore.getCurrentApplicationConfiguration().getOccurrenceService().load(derivateUuid); + if(derivate instanceof FieldUnit){ + this.fieldUnit = (FieldUnit) derivate; + } + else if(derivate instanceof DerivedUnit){ + Collection fieldUnits = CdmStore.getCurrentApplicationConfiguration().getOccurrenceService().getFieldUnits(derivateUuid); + if(!fieldUnits.isEmpty()){ + // TODO think about handling multiple parent FieldUnits + this.fieldUnit = fieldUnits.iterator().next(); + } + } + if(fieldUnit==null){ + AbstractUtility.errorDialog("Failed initializing editor", DerivateViewEditorInput.class, "No FieldUnit found!"); + } + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#exists() + */ + @Override + public boolean exists() { + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getImageDescriptor() + */ + @Override + public ImageDescriptor getImageDescriptor() { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getName() + */ + @Override + public String getName() { + return derivate.toString(); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getPersistable() + */ + @Override + public IPersistableElement getPersistable() { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getToolTipText() + */ + @Override + public String getToolTipText() { + return derivate.toString(); + } + + + /** + * @return the specimen + */ + public SpecimenOrObservationBase getDerivate() { + return derivate; + } + + /** + * @return the fieldUnit + */ + public FieldUnit getFieldUnit() { + return fieldUnit; + } + + /** + * @return the conversationHolder + */ + public ConversationHolder getConversationHolder() { + return conversationHolder; + } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((fieldUnit == null) ? 0 : fieldUnit.hashCode()); + return result; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + DerivateViewEditorInput other = (DerivateViewEditorInput) obj; + if (fieldUnit == null) { + if (other.fieldUnit != null) { + return false; + } + } else if (!fieldUnit.equals(other.fieldUnit)) { + return false; + } + return true; + } + +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java index fce0faf8e..8bd9fa6f4 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java @@ -1,5 +1,5 @@ /** - * + * */ package eu.etaxonomy.taxeditor.editor.view.descriptive; @@ -17,9 +17,7 @@ import eu.etaxonomy.cdm.model.common.MarkerType; import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.FeatureTree; -import eu.etaxonomy.cdm.model.description.TaxonDescription; -import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.editor.TaxonEditorInput; +import eu.etaxonomy.cdm.model.description.IDescribable; import eu.etaxonomy.taxeditor.editor.UsageTermCollection; import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree; @@ -35,33 +33,34 @@ import eu.etaxonomy.taxeditor.store.TermStore; * @version $Id: $ */ public class DescriptiveContentProvider implements ITreeContentProvider { - + protected static final Object[] NO_CHILDREN = new Object[0]; - protected Map featureNodeContainerCache; - + protected Map, FeatureNodeContainerTree> featureNodeContainerCache; + /** *

Constructor for DescriptiveContentProvider.

* * @param featureNodeContainerCache a {@link java.util.Map} object. */ - public DescriptiveContentProvider(Map featureNodeContainerCache) { + public DescriptiveContentProvider(Map, FeatureNodeContainerTree> featureNodeContainerCache) { this.featureNodeContainerCache = featureNodeContainerCache; } - + /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) */ /** {@inheritDoc} */ - public Object[] getChildren(Object parentElement) { - if (parentElement instanceof TaxonEditorInput) { - return getDescriptions((TaxonEditorInput) parentElement).toArray(); + @Override + public Object[] getChildren(Object parentElement) { + if (parentElement instanceof IDescribable) { + return getDescriptions((IDescribable) parentElement).toArray(); } - else if (parentElement instanceof TaxonDescription) { - if ( ! ((TaxonDescription) parentElement).isImageGallery()) { - TaxonDescription description = (TaxonDescription) parentElement; - + else if (parentElement instanceof DescriptionBase) { + if ( ! ((DescriptionBase) parentElement).isImageGallery()) { + DescriptionBase description = (DescriptionBase) parentElement; + FeatureNodeContainerTree containerTree = getContainerTreeForDesription(description); - + return containerTree.getRoot().getChildren().toArray(); } } @@ -73,11 +72,11 @@ public class DescriptiveContentProvider implements ITreeContentProvider { return container.getChildren().toArray(); } } - + return NO_CHILDREN; } - - private FeatureNodeContainerTree getContainerTreeForDesription(TaxonDescription description){ + + private FeatureNodeContainerTree getContainerTreeForDesription(DescriptionBase description){ if(! featureNodeContainerCache.containsKey(description)){ FeatureNodeContainerTree containerTree = new FeatureNodeContainerTree(description, getFeatureTree(description)); featureNodeContainerCache.put(description, containerTree); @@ -88,77 +87,76 @@ public class DescriptiveContentProvider implements ITreeContentProvider { /** {@inheritDoc} */ @Override public boolean hasChildren(Object element) { - if (element instanceof TaxonDescription){ - TaxonDescription description = (TaxonDescription) element; + if (element instanceof DescriptionBase){ + DescriptionBase description = (DescriptionBase) element; FeatureNodeContainerTree containerTree = featureNodeContainerCache.get(description); if(containerTree != null && containerTree.getRoot() != null){ return containerTree.getRoot().getChildren().size() != 0; } - } + } return getChildren(element).length != 0; } - + /** * Retrieves the feature tree associated with the given description - * - * TODO as of now this is always the same thing because feature trees may not be associated + * + * TODO as of now this is always the same thing because feature trees may not be associated * to descriptions yet. - * + * * @param description * @return */ private FeatureTree getFeatureTree(DescriptionBase description){ FeatureTree featureTree = null; - + // TODO change this to the feature tree associated with this taxon description - if (description.hasStructuredData()){ + if (description.hasStructuredData()){ featureTree = PreferencesUtil.getDefaultFeatureTreeForStructuredDescription(); }else{ featureTree = PreferencesUtil.getDefaultFeatureTreeForTextualDescription(); } - + // create a transient tree with all features if none was selected if(featureTree == null){ featureTree = FeatureTree.NewInstance(TermStore.getTerms(Feature.class)); } - + return featureTree; } - /** - * Get all descriptions associated with the given TaxonEditorInput - * - * @param parentElement - * @return - */ - protected List getDescriptions(TaxonEditorInput parentElement) { - Taxon taxon = parentElement.getTaxon(); - List descriptions = new ArrayList(); - for(DescriptionBase description : taxon.getDescriptions()){ + /** + * Get all descriptions associated with the given object + * @param parentElement + * @return + */ + protected List getDescriptions(IDescribable parentElement) { + Set elementDescriptions = parentElement.getDescriptions(); + List resultDescriptions = new ArrayList(); + for(DescriptionBase description : elementDescriptions){ if(! description.isImageGallery()){ MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType); Set descriptionMarkers = description.getMarkers(); if(descriptionMarkers != null && !descriptionMarkers.isEmpty()) { for (Marker marker: descriptionMarkers) { if(!(marker.getMarkerType().equals(useMarkertype))) { - descriptions.add(description); + resultDescriptions.add(description); } } } else { - descriptions.add(description); + resultDescriptions.add(description); } } - - } - return descriptions; - } + } + return resultDescriptions; + } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) */ /** {@inheritDoc} */ - public Object getParent(Object element) { + @Override + public Object getParent(Object element) { return null; } @@ -166,17 +164,19 @@ public class DescriptiveContentProvider implements ITreeContentProvider { * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ /** {@inheritDoc} */ - public Object[] getElements(Object inputElement) { + @Override + public Object[] getElements(Object inputElement) { return getChildren(inputElement); } - + /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ /** *

dispose

*/ - public void dispose() { + @Override + public void dispose() { featureNodeContainerCache.clear(); } @@ -184,6 +184,7 @@ public class DescriptiveContentProvider implements ITreeContentProvider { * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ /** {@inheritDoc} */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} - + @Override + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} + } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java index 30db42aed..cb8582f84 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java @@ -1,9 +1,9 @@ // $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. */ @@ -15,10 +15,13 @@ import java.util.Map; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.GroupMarker; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; @@ -30,26 +33,23 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Tree; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchPart; import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; -import eu.etaxonomy.cdm.model.description.TaxonDescription; -import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor; -import eu.etaxonomy.taxeditor.editor.EditorUtil; -import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor; -import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; -import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor; +import eu.etaxonomy.cdm.model.description.IDescribable; +import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree; import eu.etaxonomy.taxeditor.model.IPartContentHasDetails; +import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData; import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData; import eu.etaxonomy.taxeditor.model.ImageResources; import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart; +import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart; +import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart; /** *

DescriptiveViewPart class.

@@ -62,23 +62,27 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP /** Constant ID="eu.etaxonomy.taxeditor.editor.view.desc"{trunked} */ public static final String ID = "eu.etaxonomy.taxeditor.editor.view.descriptive"; - + protected TreeViewer viewer; - - protected Map featureNodeContainerCache = new HashMap(); + + /** + * Maps {@link FeatureNodeContainerTree} to their corresponding {@link TaxonDescritpion}.
+ * This serves as input for the {@link ITreeContentProvider} of the {@link TreeViewer} + */ + protected Map, FeatureNodeContainerTree> featureNodeContainerCache = new HashMap, FeatureNodeContainerTree>(); protected ToggleDescriptionAction showAllElementsAction; protected ToggleDescriptionAction hideAllElementsAction; protected int dndOperations = DND.DROP_COPY | DND.DROP_MOVE; - + /** {@inheritDoc} */ @Override public void createViewer(Composite parent) { viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION)); - viewer.setContentProvider(new DescriptiveContentProvider(featureNodeContainerCache)); + viewer.setContentProvider(new DescriptiveContentProvider(featureNodeContainerCache)); viewer.setLabelProvider(new DescriptiveLabelProvider()); viewer.setSorter(new DescriptiveViewerSorter()); viewer.setAutoExpandLevel(2); @@ -87,24 +91,24 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP this)); viewer.addDropSupport(dndOperations, transfers, new DescriptionElementDropAdapter(viewer)); - + // Propagate selection from viewer getSite().setSelectionProvider(viewer); - - showAllElementsAction = new ToggleDescriptionAction(false); + + showAllElementsAction = new ToggleDescriptionAction(false); hideAllElementsAction = new ToggleDescriptionAction(true); - + // Add context menu to tree createMenu(); - + createToolbar(); - + // set initial input // if(getEditor() != null){ // viewer.setInput(getEditor().getEditorInput()); // } } - + /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#getInitialSelection() */ @@ -113,8 +117,8 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP protected ISelection getInitialSelection() { if(getEditor() != null){ return new StructuredSelection(getEditor().getEditorInput()); - } - + } + return super.getInitialSelection(); } @@ -123,73 +127,69 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP toolBarManager.add(showAllElementsAction); toolBarManager.add(hideAllElementsAction); } - + /* * TODO add to the views menu */ protected void createMenu(){ MenuManager menuManager = new MenuManager(); menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); - + getSite().registerContextMenu(menuManager, viewer); // FIXME for some reason this is not working menuManager.add(showAllElementsAction); menuManager.add(hideAllElementsAction); - + Control control = viewer.getControl(); Menu menu = menuManager.createContextMenu(control); - - control.setMenu(menu); + + control.setMenu(menu); } /** {@inheritDoc} */ - public void selectionChanged(IWorkbenchPart part, ISelection selection) { - if(EditorUtil.getActiveEditor() == null){ + @Override + public void selectionChanged(IWorkbenchPart part, ISelection selection) { + if(AbstractUtility.getActiveEditor() == null){ showEmptyPage(); return; } - - if(part instanceof BulkEditor){ - showEmptyPage(); - return; + + if(part == this){ + return; } - - if(part instanceof AbstractGraphKeyEditor){ - showEmptyPage(); - return; + if(part instanceof DetailsViewPart || part instanceof SupplementalDataViewPart){ + // do not show empty page as these views are also used to edit the description selected in this view + return; } - - if(part instanceof DefinedTermEditor){ - showEmptyPage(); - return; + + if(selection instanceof IStructuredSelection + && ((IStructuredSelection) selection).getFirstElement() instanceof IDescribable + && part instanceof IPartContentHasFactualData){ + featureNodeContainerCache.clear(); + showViewer(part, (IStructuredSelection) selection); + return; } - - if(part instanceof MultiPageTaxonEditor){ - if(! part.equals(this.part)){ - IEditorInput input = ((IEditorPart) part).getEditorInput(); - featureNodeContainerCache.clear(); - showViewer(part, new StructuredSelection(input)); - } - showViewer(); + else{ + showEmptyPage(); } } - + /** - * + * * @author n.hoffmann * @created May 28, 2010 * @version 1.0 */ protected class ToggleDescriptionAction extends Action{ - private boolean expanded; - + private final boolean expanded; + public ToggleDescriptionAction(boolean expand){ - super(null, Action.AS_PUSH_BUTTON); + super(null, IAction.AS_PUSH_BUTTON); expanded = expand; setImageAndTooltip(); } - + private void setImageAndTooltip(){ setImageDescriptor(new ImageDescriptor() { @Override @@ -199,11 +199,11 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP return ImageResources.getImage(resource).getImageData(); } }); - + String toolTipText = expanded ? "Collapse all" : "Show all descriptive data"; setToolTipText(toolTipText); } - + @Override public void run() { if(expanded){ @@ -228,15 +228,15 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP containerTree.buildTree(); } viewer.refresh(); - + if(object instanceof DescriptionElementBase){ DescriptionElementBase descriptionElement = (DescriptionElementBase) object; DescriptionBase description = descriptionElement.getInDescription(); FeatureNodeContainerTree containerTree = featureNodeContainerCache.get(description); - + FeatureNodeContainer featureNodeContainer = containerTree.getFeatureNodeContainerForDescriptionElement(descriptionElement); viewer.expandToLevel(featureNodeContainer, 1); - + } if(object != null){ @@ -258,7 +258,8 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP * * @return a boolean. */ - public boolean onComplete() { + @Override + public boolean onComplete() { return false; } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionElementHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionElementHandler.java index 618d9c0ee..d8b1bf94b 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionElementHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionElementHandler.java @@ -1,9 +1,9 @@ // $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. */ @@ -19,18 +19,14 @@ import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.ITreeSelection; import org.eclipse.jface.viewers.TreePath; import org.eclipse.swt.widgets.Event; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.forms.editor.FormEditor; import org.eclipse.ui.handlers.HandlerUtil; +import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.Feature; -import eu.etaxonomy.cdm.model.description.TaxonDescription; -import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.taxeditor.editor.EditorUtil; -import eu.etaxonomy.taxeditor.editor.TaxonEditorInput; import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateDescriptionElementOperation; +import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; @@ -45,61 +41,52 @@ public class CreateDescriptionElementHandler extends AbstractHandler { /* * (non-Javadoc) - * + * * @see * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands. * ExecutionEvent) */ - /** {@inheritDoc} */ - public Object execute(ExecutionEvent event) throws ExecutionException { - IWorkbenchPart part = HandlerUtil.getActivePart(event); - IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part - : null; + /** {@inheritDoc} */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + IWorkbenchPart part = HandlerUtil.getActivePart(event); + IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part + : null; - IEditorPart editor = HandlerUtil.getActiveEditor(event); - if (editor instanceof FormEditor) { - editor = ((FormEditor) editor).getActiveEditor(); - } - IEditorInput input = editor.getEditorInput(); - if (input instanceof TaxonEditorInput) { - Taxon taxon = ((TaxonEditorInput) input).getTaxon(); - TaxonDescription description = null; + DescriptionBase description = null; - ISelection selection = HandlerUtil.getCurrentSelection(event); - if (selection instanceof ITreeSelection) { - TreePath[] paths = ((ITreeSelection) selection).getPaths(); - Object firstSegment = paths[0].getFirstSegment(); - if (firstSegment instanceof TaxonDescription) { - description = (TaxonDescription) firstSegment; - } - }else if (selection instanceof IStructuredSelection) { - Object selectedElement = ((IStructuredSelection) selection) - .getFirstElement(); - if (selectedElement instanceof TaxonDescription){ - description = (TaxonDescription) selectedElement; - } - } + ISelection selection = HandlerUtil.getCurrentSelection(event); + Object selectedElement = null; + if (selection instanceof ITreeSelection) { + TreePath[] paths = ((ITreeSelection) selection).getPaths(); + selectedElement = paths[0].getFirstSegment(); + } + else if (selection instanceof IStructuredSelection) { + selectedElement = ((IStructuredSelection) selection).getFirstElement(); + } + if (selectedElement instanceof DescriptionBase) { + description = (DescriptionBase) selectedElement; + } - if (description != null) { - AbstractPostOperation operation = null; - try { - // TODO use undo context specific to editor - operation = operationCreationInstance(event.getCommand().getName(), event, taxon, description, postOperationEnabled); - EditorUtil.executeOperation(operation); - } catch (NotDefinedException e) { - EditorUtil.warn(getClass(), "Command name not set"); - } - } else { - EditorUtil.error(getClass(), new IllegalArgumentException("Could not determine the taxon description")); - return null; - } - } - return null; + if (description != null) { + AbstractPostOperation operation = null; + try { + // TODO use undo context specific to editor + operation = operationCreationInstance(event.getCommand().getName(), event, description, postOperationEnabled); + AbstractUtility.executeOperation(operation); + } catch (NotDefinedException e) { + AbstractUtility.warn(getClass(), "Command name not set"); + } + } else { + AbstractUtility.error(getClass(), new IllegalArgumentException("Could not determine the taxon description")); + return null; + } + return null; - } - - /** + } + + /** * Added to make the Class more generic and limit the amount of code changes required * @param label * @param event @@ -108,11 +95,9 @@ public class CreateDescriptionElementHandler extends AbstractHandler { * @param postOperationEnabled * @return */ - protected AbstractPostOperation operationCreationInstance(String label, ExecutionEvent event, Taxon taxon, TaxonDescription description, IPostOperationEnabled postOperationEnabled) { + protected AbstractPostOperation operationCreationInstance(String label, ExecutionEvent event, DescriptionBase description, IPostOperationEnabled postOperationEnabled) { Feature feature = (Feature) ((Event) event.getTrigger()).data; - return new CreateDescriptionElementOperation(label, - EditorUtil.getUndoContext(), taxon, - description, feature, postOperationEnabled); + return new CreateDescriptionElementOperation(label, EditorUtil.getUndoContext(), description, feature, postOperationEnabled); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionHandler.java index 9542fb5cd..165205e2e 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionHandler.java @@ -1,9 +1,9 @@ // $Id$ /** * Copyright (C) 2011 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. */ @@ -19,10 +19,14 @@ import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.forms.editor.FormEditor; import org.eclipse.ui.handlers.HandlerUtil; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.TaxonEditorInput; +import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart; +import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateSpecimenDescriptionOperation; import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateTaxonDescriptionOperation; +import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; @@ -39,41 +43,46 @@ public class CreateDescriptionHandler extends AbstractHandler { * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) */ /** {@inheritDoc} */ - public Object execute(ExecutionEvent event) throws ExecutionException { + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchPart part = HandlerUtil.getActivePart(event); IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part : null; - - + IEditorPart editor = HandlerUtil.getActiveEditor(event); if (editor instanceof FormEditor) { editor = ((FormEditor) editor).getActiveEditor(); } IEditorInput input = editor.getEditorInput(); + AbstractPostOperation operation; + + // taxon description if (input instanceof TaxonEditorInput) { - Taxon taxon = ((TaxonEditorInput) input).getTaxon(); - AbstractPostOperation operation; + Taxon taxon = ((TaxonEditorInput) input).getTaxon(); try { - - operation = createOperationInstance(event.getCommand().getName(), taxon, postOperationEnabled); - EditorUtil.executeOperation(operation); + operation = createTaxonOperation(event.getCommand().getName(), taxon, postOperationEnabled); + AbstractUtility.executeOperation(operation); } catch (NotDefinedException e) { - EditorUtil.warn(getClass(), "Command name not set."); + AbstractUtility.warn(getClass(), "Command name not set."); } - } + } + // specimen description + else if(part instanceof DescriptiveViewPart){ + Object viewerInput = ((DescriptiveViewPart)part).getViewer().getInput(); + if(viewerInput instanceof SpecimenOrObservationBase){ + try { + operation = new CreateSpecimenDescriptionOperation(event.getCommand().getName(), EditorUtil.getUndoContext(), (SpecimenOrObservationBase) viewerInput, postOperationEnabled); + AbstractUtility.executeOperation(operation); + } catch (NotDefinedException e) { + AbstractUtility.warn(getClass(), "Command name not set."); + } + } + } return null; } - - /**Comments for funtion createOperationInstance - * The function is used to make the specific object creation more generic - * @param eventLabel - * @param taxon - * @param postOperationEnabled - * @return - */ - protected AbstractPostOperation createOperationInstance(String eventLabel, Taxon taxon, IPostOperationEnabled postOperationEnabled) { - // TODO use undo context specific to editor - return new CreateTaxonDescriptionOperation(eventLabel, EditorUtil.getUndoContext(), taxon, postOperationEnabled); - } - + + /** {@inheritDoc} */ + protected CreateTaxonDescriptionOperation createTaxonOperation(String eventLabel, Taxon taxon, IPostOperationEnabled postOperationEnabled) { + return new CreateTaxonDescriptionOperation(eventLabel, EditorUtil.getUndoContext(), taxon, postOperationEnabled); + } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DeleteHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DeleteHandler.java index 04fbab44f..ce6aaef14 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DeleteHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DeleteHandler.java @@ -32,6 +32,7 @@ import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.DeleteDescriptio import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.DeleteTaxonDescriptionOperation; import eu.etaxonomy.taxeditor.editor.view.media.operation.DeleteMediaOperation; import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; @@ -59,7 +60,7 @@ public class DeleteHandler extends AbstractHandler { IUndoContext undoContext = EditorUtil.getUndoContext(); - List operations = new ArrayList(); + List operations = new ArrayList(); for(Object object : selection.toArray()){ diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DescriptionsMenuPropertyTester.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DescriptionsMenuPropertyTester.java index 202308dba..471cdf0e7 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DescriptionsMenuPropertyTester.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DescriptionsMenuPropertyTester.java @@ -1,5 +1,5 @@ /** - * + * */ package eu.etaxonomy.taxeditor.editor.view.descriptive.handler; @@ -19,28 +19,29 @@ import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; * @version $Id: $ */ public class DescriptionsMenuPropertyTester extends PropertyTester { - + private static final String MEDIA = "isMedia"; private static final String FEATURE_NODE_CONTAINER = "isFeatureNodeContainer"; private static final String DESCRIPTION = "isDescription"; private static final String DESCRIPTION_ELEMENT = "isDescriptionElement"; private static final String DELETABLE = "isDeletable"; private static final String IMAGE_GALLERY = "isImageGallery"; - + /* (non-Javadoc) * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) */ /** {@inheritDoc} */ - public boolean test(Object receiver, String property, Object[] args, + @Override + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { Object[] selectedElements = ((IStructuredSelection) receiver).toArray(); - + if(selectedElements.length == 0){ // nothing selected so all tests should fail return false; } - + if(MEDIA.equals(property)){ return isMedia(selectedElements); } @@ -63,9 +64,9 @@ public class DescriptionsMenuPropertyTester extends PropertyTester { return false; } } - + private boolean isImageGallery(Object[] selectedElements) { - for (Object object : selectedElements){ + for (Object object : selectedElements){ if(!(object instanceof DescriptionBase) || !((DescriptionBase) object).isImageGallery()){ return false; } @@ -84,9 +85,9 @@ public class DescriptionsMenuPropertyTester extends PropertyTester { private boolean isDeletable(Object[] selectedElements) { boolean result = false; - + for (Object object : selectedElements) { - + if((object instanceof DescriptionBase) || (object instanceof DescriptionElementBase) || (object instanceof Media) @@ -95,7 +96,7 @@ public class DescriptionsMenuPropertyTester extends PropertyTester { }else{ return false; } - + } return result; } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DynamicFeatureMenu.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DynamicFeatureMenu.java index 0c10b9ad7..7c3a65669 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DynamicFeatureMenu.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DynamicFeatureMenu.java @@ -29,7 +29,6 @@ import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.FeatureNode; import eu.etaxonomy.cdm.model.description.FeatureTree; -import eu.etaxonomy.cdm.model.description.TaxonDescription; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart; import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateDescriptionElementOperation; @@ -48,9 +47,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore; */ public class DynamicFeatureMenu extends CompoundContributionItem { - private ISelectionService selectionService = EditorUtil.getActivePart() + private final ISelectionService selectionService = EditorUtil.getActivePart() .getSite().getWorkbenchWindow().getSelectionService(); - private IHandlerService handlerService = (IHandlerService) EditorUtil + private final IHandlerService handlerService = (IHandlerService) EditorUtil .getService(IHandlerService.class); /* @@ -75,8 +74,8 @@ public class DynamicFeatureMenu extends CompoundContributionItem { Object selectedElement = structuredSelection .getFirstElement(); - if (selectedElement instanceof TaxonDescription) { - FeatureTree featureTree = getFeatureTree((TaxonDescription) selectedElement); + if (selectedElement instanceof DescriptionBase) { + FeatureTree featureTree = getFeatureTree((DescriptionBase) selectedElement); for (FeatureNode childNode : featureTree.getRootChildren()) { createMenuItem(menu, childNode.getFeature()); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateDescriptionElementOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateDescriptionElementOperation.java index 5f67b2cbc..76c4d76a9 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateDescriptionElementOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateDescriptionElementOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -17,16 +17,16 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.description.CategoricalData; import eu.etaxonomy.cdm.model.description.CommonTaxonName; +import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.description.Distribution; import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.IndividualsAssociation; import eu.etaxonomy.cdm.model.description.QuantitativeData; -import eu.etaxonomy.cdm.model.description.TaxonDescription; import eu.etaxonomy.cdm.model.description.TaxonInteraction; import eu.etaxonomy.cdm.model.description.TextData; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -37,13 +37,13 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 05.02.2009 * @version 1.0 */ -public class CreateDescriptionElementOperation extends AbstractPostOperation { - +public class CreateDescriptionElementOperation extends AbstractPostTaxonOperation { + /** Constant ID="eu.etaxonomy.taxeditor.editor.descripti"{trunked} */ public static final String ID = "eu.etaxonomy.taxeditor.editor.description.createDescriptionElement"; - - private TaxonDescription description; - private Feature feature; + + private final DescriptionBase description; + private final Feature feature; private DescriptionElementBase element; /** @@ -52,14 +52,14 @@ public class CreateDescriptionElementOperation extends AbstractPostOperation { * @param label a {@link java.lang.String} object. * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object. - * @param description a {@link eu.etaxonomy.cdm.model.description.TaxonDescription} object. + * @param description a {@link DescriptionBase} object. * @param feature a {@link eu.etaxonomy.cdm.model.description.Feature} object. * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. */ public CreateDescriptionElementOperation(String label, IUndoContext undoContext, - Taxon taxon, TaxonDescription description, Feature feature, IPostOperationEnabled postOperationEnabled) { - super(label, undoContext, taxon, postOperationEnabled); - + DescriptionBase description, Feature feature, IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, (Taxon)null, postOperationEnabled); + this.description = description; this.feature = feature; } @@ -69,18 +69,17 @@ public class CreateDescriptionElementOperation extends AbstractPostOperation { * * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object. - * @param description a {@link eu.etaxonomy.cdm.model.description.TaxonDescription} object. + * @param description a {@link DescriptionBase} object. * @param feature a {@link eu.etaxonomy.cdm.model.description.Feature} object. * @param element a {@link eu.etaxonomy.cdm.model.description.DescriptionElementBase} object. * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. * @param label a {@link java.lang.String} object. */ public CreateDescriptionElementOperation(String label, - IUndoContext undoContext, Taxon taxon, - TaxonDescription description, Feature feature, + IUndoContext undoContext, DescriptionBase description, Feature feature, DescriptionElementBase element, IPostOperationEnabled postOperationEnabled) { - this(label, undoContext, taxon, description, feature, postOperationEnabled); - + this(label, undoContext, description, feature, postOperationEnabled); + this.element = element; } @@ -96,10 +95,10 @@ public class CreateDescriptionElementOperation extends AbstractPostOperation { if (element == null) { if (feature.isSupportsCommonTaxonName()) { element = CommonTaxonName.NewInstance("", null); - } + } else if (feature.isSupportsDistribution()) { element = Distribution.NewInstance(); - } + } else if(feature.isSupportsTaxonInteraction()){ element = TaxonInteraction.NewInstance(); } @@ -131,9 +130,9 @@ public class CreateDescriptionElementOperation extends AbstractPostOperation { @Override public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + description.addElement(element); - + return postExecute(element); } @@ -144,9 +143,9 @@ public class CreateDescriptionElementOperation extends AbstractPostOperation { @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + description.removeElement(element); - + return postExecute(null); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateSpecimenDescriptionOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateSpecimenDescriptionOperation.java new file mode 100644 index 000000000..ec8b505ec --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateSpecimenDescriptionOperation.java @@ -0,0 +1,45 @@ +// $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.editor.view.descriptive.operation; + +import org.eclipse.core.commands.operations.IUndoContext; + +import eu.etaxonomy.cdm.model.description.DescriptionBase; +import eu.etaxonomy.cdm.model.description.SpecimenDescription; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.operation.AbstractDescriptionPostOperation; +import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; + +/** + * @author pplitzner + * @date 04.12.2013 + * + */ +public class CreateSpecimenDescriptionOperation extends AbstractDescriptionPostOperation, DescriptionBase> { + + /** + * @param label + * @param undoContext + * @param describable + * @param postOperationEnabled + */ + public CreateSpecimenDescriptionOperation(String label, IUndoContext undoContext, SpecimenOrObservationBase describable, IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, describable, postOperationEnabled); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.operation.AbstractDescriptionPostOperation#initDescription() + */ + @Override + protected void initDescription() { + description = SpecimenDescription.NewInstance(element); + } + +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateTaxonDescriptionOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateTaxonDescriptionOperation.java index 949c648da..622fb0974 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateTaxonDescriptionOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateTaxonDescriptionOperation.java @@ -1,116 +1,52 @@ +// $Id$ /** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy +* 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.editor.view.descriptive.operation; -import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.operations.IUndoContext; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.TaxonDescription; -import eu.etaxonomy.cdm.model.description.TextData; -import eu.etaxonomy.cdm.model.media.Media; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractDescriptionPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** - *

CreateTaxonDescriptionOperation class.

+ * @author pplitzner + * @date 04.12.2013 * - * @author p.ciardelli - * @author n.hoffmann - * @created 05.02.2009 - * @version 1.0 */ -public class CreateTaxonDescriptionOperation extends AbstractPostOperation { - - private TaxonDescription description; - private boolean isImageGallery; - - /** - *

Constructor for CreateTaxonDescriptionOperation.

- * - * @param label a {@link java.lang.String} object. - * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. - * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object. - * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. - */ - public CreateTaxonDescriptionOperation(String label, IUndoContext undoContext, - Taxon taxon, IPostOperationEnabled postOperationEnabled) { - this(label, undoContext, taxon, postOperationEnabled, false); - } - - /** - *

Constructor for CreateTaxonDescriptionOperation.

- * - * @param label a {@link java.lang.String} object. - * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. - * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object. - * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. - * @param isImageGallery a boolean. - */ - public CreateTaxonDescriptionOperation(String label, IUndoContext undoContext, - Taxon taxon, IPostOperationEnabled postOperationEnabled, boolean isImageGallery) { - super(label, undoContext, taxon, postOperationEnabled); - - this.isImageGallery = isImageGallery; - } - - /* (non-Javadoc) - * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) - */ - /** {@inheritDoc} */ - @Override - public IStatus execute(IProgressMonitor monitor, IAdaptable info) - throws ExecutionException { - - description = TaxonDescription.NewInstance(taxon); - monitor.worked(20); - - if(isImageGallery){ - description.setImageGallery(isImageGallery); - // add the description element to hold the media elements for this image gallery - TextData element = TextData.NewInstance(Feature.IMAGE()); - element.addMedia(Media.NewInstance()); - description.addElement(element); - } - monitor.worked(40); - - return postExecute(description); - } - - /* (non-Javadoc) - * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) - */ - /** {@inheritDoc} */ - @Override - public IStatus redo(IProgressMonitor monitor, IAdaptable info) - throws ExecutionException { - - taxon.addDescription(description); - - return postExecute(description); - } - - /* (non-Javadoc) - * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) - */ - /** {@inheritDoc} */ - @Override - public IStatus undo(IProgressMonitor monitor, IAdaptable info) - throws ExecutionException { - - taxon.removeDescription(description); - - return postExecute(null); - } +public class CreateTaxonDescriptionOperation extends AbstractDescriptionPostOperation { + + /** + * @param label + * @param undoContext + * @param describable + * @param postOperationEnabled + * @param isImageGallery + */ + public CreateTaxonDescriptionOperation(String label, IUndoContext undoContext, Taxon describable, IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, describable, postOperationEnabled, false); + } + + /** + * @param label + * @param undoContext + * @param describable + * @param postOperationEnabled + * @param isImageGallery + */ + public CreateTaxonDescriptionOperation(String label, IUndoContext undoContext, Taxon describable, IPostOperationEnabled postOperationEnabled, boolean isImageGallery) { + super(label, undoContext, describable, postOperationEnabled, isImageGallery); + } + + @Override + protected void initDescription(){ + description = TaxonDescription.NewInstance(element); + } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteDescriptionElementOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteDescriptionElementOperation.java index aad1362d5..195e3d715 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteDescriptionElementOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteDescriptionElementOperation.java @@ -17,7 +17,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.StoreUtil; @@ -28,7 +28,7 @@ import eu.etaxonomy.taxeditor.store.StoreUtil; * @created 05.02.2009 * @version 1.0 */ -public class DeleteDescriptionElementOperation extends AbstractPostOperation { +public class DeleteDescriptionElementOperation extends AbstractPostTaxonOperation { private DescriptionElementBase element; private DescriptionBase description = null; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java index c331f4fd2..daa0394da 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java @@ -1,8 +1,8 @@ /** * 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. */ @@ -16,7 +16,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.description.TaxonDescription; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -27,9 +27,9 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 05.02.2009 * @version 1.0 */ -public class DeleteTaxonDescriptionOperation extends AbstractPostOperation { - - private TaxonDescription description; +public class DeleteTaxonDescriptionOperation extends AbstractPostTaxonOperation { + + private final TaxonDescription description; /** *

Constructor for DeleteTaxonDescriptionOperation.

@@ -42,9 +42,9 @@ public class DeleteTaxonDescriptionOperation extends AbstractPostOperation { public DeleteTaxonDescriptionOperation(String label, IUndoContext undoContext, TaxonDescription description, IPostOperationEnabled postOperationEnabled) { super(label, undoContext, postOperationEnabled); - + this.description = description; - taxon = description.getTaxon(); + element = description.getTaxon(); } /* (non-Javadoc) @@ -56,7 +56,7 @@ public class DeleteTaxonDescriptionOperation extends AbstractPostOperation { throws ExecutionException { monitor.worked(20); - taxon.removeDescription(description); + element.removeDescription(description); monitor.worked(40); return postExecute(description); @@ -80,8 +80,8 @@ public class DeleteTaxonDescriptionOperation extends AbstractPostOperation { public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - taxon.addDescription(description); - + element.addDescription(description); + return postExecute(null); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/MoveDescriptionElementsOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/MoveDescriptionElementsOperation.java index 51ba2b291..5b4b0053e 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/MoveDescriptionElementsOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/MoveDescriptionElementsOperation.java @@ -21,7 +21,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.api.service.IDescriptionService; import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; @@ -30,7 +30,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore; * @created Feb 8, 2011 * @version 1.0 */ -public class MoveDescriptionElementsOperation extends AbstractPostOperation { +public class MoveDescriptionElementsOperation extends AbstractPostTaxonOperation { private Collection descriptionElements; private DescriptionBase targetDescription; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/AddMediaToImageGalleryOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/AddMediaToImageGalleryOperation.java index 7fa478f01..eb8f66380 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/AddMediaToImageGalleryOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/AddMediaToImageGalleryOperation.java @@ -18,7 +18,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.api.utility.ImagesUtility; import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.media.Media; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** *

AddMediaToImageGalleryOperation class.

@@ -28,7 +28,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 05.02.2009 * @version 1.0 */ -public class AddMediaToImageGalleryOperation extends AbstractPostOperation { +public class AddMediaToImageGalleryOperation extends AbstractPostTaxonOperation { private DescriptionBase description; private Media media; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/CreateImageOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/CreateImageOperation.java index e9a15814b..f6025c0d9 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/CreateImageOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/CreateImageOperation.java @@ -1,9 +1,9 @@ // $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. */ @@ -20,7 +20,7 @@ import eu.etaxonomy.cdm.api.utility.ImagesUtility; import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.media.ImageFile; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -30,11 +30,11 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 31.03.2009 * @version 1.0 */ -public class CreateImageOperation extends AbstractPostOperation { - +public class CreateImageOperation extends AbstractPostTaxonOperation { + private ImageFile imageFile; - private DescriptionBase description; + private final DescriptionBase description; /** *

Constructor for CreateImageOperation.

@@ -67,7 +67,7 @@ public class CreateImageOperation extends AbstractPostOperation { super(label, undoContext, taxon, postOperationEnabled); this.description = description; } - + /* (non-Javadoc) * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) */ @@ -75,13 +75,13 @@ public class CreateImageOperation extends AbstractPostOperation { @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + if (imageFile == null) { imageFile = ImageFile.NewInstance(null, null); } monitor.worked(20); - ImagesUtility.addTaxonImage(taxon, description, imageFile); + ImagesUtility.addTaxonImage(element, description, imageFile); monitor.worked(40); return postExecute(imageFile); @@ -94,9 +94,9 @@ public class CreateImageOperation extends AbstractPostOperation { @Override public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - - ImagesUtility.addTaxonImage(taxon, description, imageFile); - + + ImagesUtility.addTaxonImage(element, description, imageFile); + return postExecute(imageFile); } @@ -107,9 +107,9 @@ public class CreateImageOperation extends AbstractPostOperation { @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - - ImagesUtility.removeTaxonImage(taxon, description, imageFile); - + + ImagesUtility.removeTaxonImage(element, description, imageFile); + return postExecute(null); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/DeleteMediaOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/DeleteMediaOperation.java index 6e67c52c7..63172152f 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/DeleteMediaOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/DeleteMediaOperation.java @@ -19,7 +19,7 @@ import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.api.utility.ImagesUtility; import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.media.Media; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -30,7 +30,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @version 1.0 */ @Deprecated // I don't think this is really used anymore -public class DeleteMediaOperation extends AbstractPostOperation { +public class DeleteMediaOperation extends AbstractPostTaxonOperation { private Media media; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/MoveMediaInListOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/MoveMediaInListOperation.java index 8d98f3b5e..667598736 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/MoveMediaInListOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/MoveMediaInListOperation.java @@ -23,7 +23,7 @@ import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.media.Media; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.StoreUtil; @@ -34,7 +34,7 @@ import eu.etaxonomy.taxeditor.store.StoreUtil; * @created 05.02.2009 * @version 1.0 */ -public class MoveMediaInListOperation extends AbstractPostOperation { +public class MoveMediaInListOperation extends AbstractPostTaxonOperation { /** Constant UP=1 */ public static final int UP = 1; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/RemoveImageFromDescriptionElementOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/RemoveImageFromDescriptionElementOperation.java index 40b6d36bf..bef1115e9 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/RemoveImageFromDescriptionElementOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/RemoveImageFromDescriptionElementOperation.java @@ -19,7 +19,7 @@ import eu.etaxonomy.cdm.api.utility.ImagesUtility; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.media.ImageFile; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -30,7 +30,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @created 05.02.2009 * @version 1.0 */ -public class RemoveImageFromDescriptionElementOperation extends AbstractPostOperation { +public class RemoveImageFromDescriptionElementOperation extends AbstractPostTaxonOperation { private DescriptionElementBase element; private ImageFile image; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesContentProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesContentProvider.java index dd8de1c64..b49e0496f 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesContentProvider.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesContentProvider.java @@ -1,8 +1,8 @@ /** * Copyright (C) 2011 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. */ @@ -14,71 +14,63 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.Viewer; - import eu.etaxonomy.cdm.api.service.ITermService; import eu.etaxonomy.cdm.model.common.Marker; import eu.etaxonomy.cdm.model.common.MarkerType; import eu.etaxonomy.cdm.model.description.DescriptionBase; -import eu.etaxonomy.cdm.model.description.Feature; -import eu.etaxonomy.cdm.model.description.FeatureTree; -import eu.etaxonomy.cdm.model.description.TaxonDescription; +import eu.etaxonomy.cdm.model.description.IDescribable; import eu.etaxonomy.cdm.model.taxon.Taxon; -import eu.etaxonomy.taxeditor.editor.TaxonEditorInput; import eu.etaxonomy.taxeditor.editor.UsageTermCollection; import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveContentProvider; -import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree; -import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; -import eu.etaxonomy.taxeditor.store.TermStore; /** * The class provides the required content to the Uses View - * @author a.theys + * @author a.theys * @created mar 13, 2012 * @version 1.0 */ -public class UsesContentProvider extends DescriptiveContentProvider implements ITreeContentProvider { +public class UsesContentProvider extends DescriptiveContentProvider { Set markerTypes = new HashSet(); - + /** *

Constructor for DescriptiveContentProvider.

* * @param featureNodeContainerCache a {@link java.util.Map} object. */ - public UsesContentProvider(Map featureNodeContainerCache) { + public UsesContentProvider(Map, FeatureNodeContainerTree> featureNodeContainerCache) { super(featureNodeContainerCache); this.featureNodeContainerCache = featureNodeContainerCache; } /** * Get all descriptions associated with the given TaxonEditorInput - * + * * @param parentElement * @return */ @Override - protected List getDescriptions(TaxonEditorInput parentElement) { - this.markerTypes.addAll(CdmStore.getTermManager().getPreferredTerms(MarkerType.class)); - Taxon taxon = parentElement.getTaxon(); - List descriptions = new ArrayList(); - - for(DescriptionBase description : taxon.getDescriptions()){ - if(! description.isImageGallery()){ - MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType); - Set descriptionMarkers = description.getMarkers(); - if(descriptionMarkers != null) { - for (Marker marker: descriptionMarkers) { - if(marker.getMarkerType().equals(useMarkertype)) { - descriptions.add(description); - } - } - } - } - } + protected List getDescriptions(IDescribable parentElement) { + List descriptions = new ArrayList(); + if(parentElement instanceof Taxon){ + Taxon taxon = (Taxon) parentElement; + this.markerTypes.addAll(CdmStore.getTermManager().getPreferredTerms(MarkerType.class)); + for(DescriptionBase description : taxon.getDescriptions()){ + if(! description.isImageGallery()){ + MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType); + Set descriptionMarkers = description.getMarkers(); + if(descriptionMarkers != null) { + for (Marker marker: descriptionMarkers) { + if(marker.getMarkerType().equals(useMarkertype)) { + descriptions.add(description); + } + } + } + } + } + } return descriptions; } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseHandler.java index f208906a8..31bd18991 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseHandler.java @@ -1,8 +1,8 @@ /** * Copyright (C) 2011 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. */ @@ -11,22 +11,22 @@ package eu.etaxonomy.taxeditor.editor.view.uses.handler; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionHandler; +import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateTaxonDescriptionOperation; import eu.etaxonomy.taxeditor.editor.view.uses.operation.CreateTaxonUseOperation; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** * CreateUseHandler Class - * @author a.theys + * @author a.theys * @created mar 13, 2012 * @version 1.0 */ public class CreateUseHandler extends CreateDescriptionHandler { - + /** {@inheritDoc} */ @Override - protected AbstractPostOperation createOperationInstance(String eventLabel, Taxon taxon, IPostOperationEnabled postOperationEnabled) { + protected CreateTaxonDescriptionOperation createTaxonOperation(String eventLabel, Taxon taxon, IPostOperationEnabled postOperationEnabled) { return new CreateTaxonUseOperation(eventLabel, EditorUtil.getUndoContext(), taxon, postOperationEnabled); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseRecordHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseRecordHandler.java index 8124bd3cf..e99cdd862 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseRecordHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseRecordHandler.java @@ -1,8 +1,8 @@ /** * Copyright (C) 2011 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. */ @@ -12,9 +12,8 @@ package eu.etaxonomy.taxeditor.editor.view.uses.handler; import org.eclipse.core.commands.ExecutionEvent; import eu.etaxonomy.cdm.api.service.ITermService; +import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.Feature; -import eu.etaxonomy.cdm.model.description.TaxonDescription; -import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.UsageTermCollection; import eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionElementHandler; @@ -25,22 +24,22 @@ import eu.etaxonomy.taxeditor.store.CdmStore; /** * CreateUseRecordHandler Class - * @author a.theys + * @author a.theys * @created mar 13, 2012 * @version 1.0 */ public class CreateUseRecordHandler extends CreateDescriptionElementHandler { /** {@inheritDoc} */ @Override - protected AbstractPostOperation operationCreationInstance(String label, ExecutionEvent event, Taxon taxon, TaxonDescription description, IPostOperationEnabled postOperationEnabled) { + protected AbstractPostOperation operationCreationInstance(String label, ExecutionEvent event, DescriptionBase description, IPostOperationEnabled postOperationEnabled) { //Use Record Feature retrieval below Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseRecordFeature); feature.setSupportsCategoricalData(true); return new CreateUseRecordOperation(label, - EditorUtil.getUndoContext(), taxon, + EditorUtil.getUndoContext(), description, feature, postOperationEnabled); } - - - + + + } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseSummaryHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseSummaryHandler.java index ebc3e2884..fd717832f 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseSummaryHandler.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseSummaryHandler.java @@ -1,8 +1,8 @@ /** * Copyright (C) 2011 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. */ @@ -12,9 +12,8 @@ package eu.etaxonomy.taxeditor.editor.view.uses.handler; import org.eclipse.core.commands.ExecutionEvent; import eu.etaxonomy.cdm.api.service.ITermService; +import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.Feature; -import eu.etaxonomy.cdm.model.description.TaxonDescription; -import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.UsageTermCollection; import eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionElementHandler; @@ -25,18 +24,18 @@ import eu.etaxonomy.taxeditor.store.CdmStore; /** * CreateUseSummaryHandler Class - * @author a.theys + * @author a.theys * @created mar 13, 2012 * @version 1.0 */ public class CreateUseSummaryHandler extends CreateDescriptionElementHandler { /** {@inheritDoc} */ @Override - protected AbstractPostOperation operationCreationInstance(String label, ExecutionEvent event, Taxon taxon, TaxonDescription description, IPostOperationEnabled postOperationEnabled) { + protected AbstractPostOperation operationCreationInstance(String label, ExecutionEvent event, DescriptionBase description, IPostOperationEnabled postOperationEnabled) { //Use Record Feature retrieval below Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseSummaryFeature); feature.setSupportsTextData(true); - return new CreateUseSummaryOperation(label, EditorUtil.getUndoContext(), taxon, description, feature, postOperationEnabled); + return new CreateUseSummaryOperation(label, EditorUtil.getUndoContext(), description, feature, postOperationEnabled); } - + } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java index f312a1a42..8f1c80849 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java @@ -1,15 +1,13 @@ /** * Copyright (C) 2011 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.editor.view.uses.operation; -import java.util.UUID; - import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.operations.IUndoContext; import org.eclipse.core.runtime.IAdaptable; @@ -28,7 +26,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore; /** * CreateTaxonUseOperation Class - * @author a.theys + * @author a.theys * @created mar 13, 2012 * @version 1.0 */ @@ -62,7 +60,7 @@ public class CreateTaxonUseOperation extends CreateTaxonDescriptionOperation { Taxon taxon, IPostOperationEnabled postOperationEnabled, boolean isImageGallery) { super(label, undoContext, taxon, postOperationEnabled); } - + /* (non-Javadoc) * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) */ @@ -70,8 +68,8 @@ public class CreateTaxonUseOperation extends CreateTaxonDescriptionOperation { @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - - description = TaxonDescription.NewInstance(taxon); + + description = TaxonDescription.NewInstance(element); monitor.worked(20); MarkerType useMarkerType = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType); marker = Marker.NewInstance(useMarkerType, true); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java index ea45ffb28..28b7b2011 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java @@ -1,8 +1,8 @@ /** * Copyright (C) 2011 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. */ @@ -15,6 +15,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import eu.etaxonomy.cdm.model.description.CategoricalData; +import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.TaxonDescription; @@ -26,16 +27,16 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** * CreateUseRecordOperation Class - * @author a.theys + * @author a.theys * @created mar 13, 2012 * @version 1.0 */ public class CreateUseRecordOperation extends AbstractPostOperation { - + /** Constant ID="eu.etaxonomy.taxeditor.editor.view.use."{trunked} */ public static final String ID = "eu.etaxonomy.taxeditor.editor.use.createUseRecord"; - private TaxonDescription description; - private Feature feature; + private final DescriptionBase description; + private final Feature feature; private DescriptionElementBase element; /** @@ -48,15 +49,14 @@ public class CreateUseRecordOperation extends AbstractPostOperation { * @param feature a {@link eu.etaxonomy.cdm.model.description.Feature} object. * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. */ - public CreateUseRecordOperation(String label, IUndoContext undoContext, - Taxon taxon, TaxonDescription description, Feature feature, IPostOperationEnabled postOperationEnabled) { - super(label, undoContext, taxon, postOperationEnabled); - + public CreateUseRecordOperation(String label, IUndoContext undoContext, DescriptionBase description, Feature feature, IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, (Taxon)null, postOperationEnabled); + this.description = description; this.feature = feature; } - + /** *

Constructor for CreateUseRecordOperation.

* @@ -72,8 +72,8 @@ public class CreateUseRecordOperation extends AbstractPostOperation { IUndoContext undoContext, Taxon taxon, TaxonDescription description, Feature feature, DescriptionElementBase element, IPostOperationEnabled postOperationEnabled) { - this(label, undoContext, taxon, description, feature, postOperationEnabled); - + this(label, undoContext, description, feature, postOperationEnabled); + this.element = element; } @@ -90,7 +90,7 @@ public class CreateUseRecordOperation extends AbstractPostOperation { } } - + element.setFeature(feature); description.addElement(element); monitor.worked(40); @@ -101,9 +101,9 @@ public class CreateUseRecordOperation extends AbstractPostOperation { @Override public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + description.addElement(element); - + return postExecute(element); } @@ -111,7 +111,7 @@ public class CreateUseRecordOperation extends AbstractPostOperation { public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { description.removeElement(element); - + return postExecute(null); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseSummaryOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseSummaryOperation.java index 2a86f90fd..80c85db61 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseSummaryOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseSummaryOperation.java @@ -1,8 +1,8 @@ /** * Copyright (C) 2011 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. */ @@ -14,6 +14,7 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.TaxonDescription; @@ -25,19 +26,19 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** * CreateUseSummaryOperation Class - * @author a.theys + * @author a.theys * @created mar 13, 2012 * @version 1.0 */ public class CreateUseSummaryOperation extends AbstractPostOperation { - + public static final String ID = "eu.etaxonomy.taxeditor.editor.use.createUseRecord"; - - private TaxonDescription description; - private Feature feature; + + private final DescriptionBase description; + private final Feature feature; private DescriptionElementBase element; - + /** *

Constructor for CreateUseSummaryOperation.

* @@ -48,10 +49,9 @@ public class CreateUseSummaryOperation extends AbstractPostOperation { * @param feature a {@link eu.etaxonomy.cdm.model.description.Feature} object. * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. */ - public CreateUseSummaryOperation(String label, IUndoContext undoContext, - Taxon taxon, TaxonDescription description, Feature feature, IPostOperationEnabled postOperationEnabled) { - super(label, undoContext, taxon, postOperationEnabled); - + public CreateUseSummaryOperation(String label, IUndoContext undoContext, DescriptionBase description, Feature feature, IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, (Taxon)null, postOperationEnabled); + this.description = description; this.feature = feature; } @@ -71,8 +71,8 @@ public class CreateUseSummaryOperation extends AbstractPostOperation { IUndoContext undoContext, Taxon taxon, TaxonDescription description, Feature feature, DescriptionElementBase element, IPostOperationEnabled postOperationEnabled) { - this(label, undoContext, taxon, description, feature, postOperationEnabled); - + this(label, undoContext, description, feature, postOperationEnabled); + this.element = element; } @@ -86,7 +86,7 @@ public class CreateUseSummaryOperation extends AbstractPostOperation { element = TextData.NewInstance(); } - + element.setFeature(feature); description.addElement(element); monitor.worked(40); @@ -97,9 +97,9 @@ public class CreateUseSummaryOperation extends AbstractPostOperation { @Override public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { - + description.addElement(element); - + return postExecute(element); } @@ -107,7 +107,7 @@ public class CreateUseSummaryOperation extends AbstractPostOperation { public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { description.removeElement(element); - + return postExecute(null); } } diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperationTest.java index 13b8f0751..34e62b6a9 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperationTest.java @@ -102,7 +102,7 @@ public class ChangeConceptToSynonymOperationTest extends AbstractTaxeditorOperat } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperationTest.java index 06511cd50..60ea9941e 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperationTest.java @@ -101,7 +101,7 @@ public class ChangeHomotypicGroupOperationTest extends AbstractTaxeditorOperatio } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperationTest.java index 5a799ca7c..8868c27db 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicalGroupBasionymOperationTest.java @@ -84,7 +84,7 @@ public class ChangeHomotypicalGroupBasionymOperationTest extends AbstractTaxedit } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperationTest.java index 62ca21fe9..096c61ad4 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperationTest.java @@ -98,7 +98,7 @@ public class ChangeSynonymToConceptOperationTest extends AbstractTaxeditorOperat } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperationTest.java index b5ea54a75..95739883f 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperationTest.java @@ -96,7 +96,7 @@ public class ChangeSynonymToMisapplicationOperationTest extends AbstractTaxedito } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateConceptRelationOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateConceptRelationOperationTest.java index 5a6d9b455..044cb26d6 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateConceptRelationOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateConceptRelationOperationTest.java @@ -85,7 +85,7 @@ public class CreateConceptRelationOperationTest extends AbstractTaxeditorOperati } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateDescriptionElementOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateDescriptionElementOperationTest.java index 2436e7f0c..3ee2d6543 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateDescriptionElementOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateDescriptionElementOperationTest.java @@ -24,22 +24,22 @@ public class CreateDescriptionElementOperationTest extends AbstractTaxeditorOper private static Feature feature; - private DescriptionElementBase[] arrayType = new DescriptionElementBase[0]; - + private final DescriptionElementBase[] arrayType = new DescriptionElementBase[0]; + @BeforeClass public static void setUpBeforeClass() throws Exception { taxon = Taxon.NewInstance(null, null); description = TaxonDescription.NewInstance(); feature = Feature.NewInstance(); - - operation = new CreateDescriptionElementOperation("Add Element", null, taxon, description, feature, postOperation); + + operation = new CreateDescriptionElementOperation("Add Element", null, description, feature, postOperation); } @Test public void testExecute() throws ExecutionException { operation.execute(monitor, info); - + Assert.assertTrue(description.getElements().size() > 0); Assert.assertEquals(feature, description.getElements().toArray(arrayType)[0].getFeature()); } @@ -47,14 +47,14 @@ public class CreateDescriptionElementOperationTest extends AbstractTaxeditorOper @Test public void testUndo() throws ExecutionException { operation.undo(monitor, info); - + Assert.assertTrue(description.getElements().size() == 0); } - + @Test public void testRedo() throws ExecutionException { operation.redo(monitor, info); - + Assert.assertTrue(description.getElements().size() > 0); Assert.assertEquals(feature, description.getElements().toArray(arrayType)[0].getFeature()); } diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteConceptRelationOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteConceptRelationOperationTest.java index 458dfd121..794cd7779 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteConceptRelationOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteConceptRelationOperationTest.java @@ -85,7 +85,7 @@ public class DeleteConceptRelationOperationTest extends AbstractTaxeditorOperati } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperationTest.java index f52990bd3..22ee71d4d 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperationTest.java @@ -82,7 +82,7 @@ public class DeleteMisapplicationOperationTest extends AbstractTaxeditorOperatio } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperationTest.java b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperationTest.java index 37065b5d6..38e6e8861 100644 --- a/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperationTest.java +++ b/eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperationTest.java @@ -183,7 +183,7 @@ public class SwapSynonymAndAcceptedOperationTest extends AbstractTaxeditorOperat } /** - * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation#postExecute(ICdmBase)}. + * Test method for {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation#postExecute(ICdmBase)}. */ @Test public void testPostExecute() { diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/RefreshNodesOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/RefreshNodesOperation.java index 2ffd39de3..5bb8f28eb 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/RefreshNodesOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/RefreshNodesOperation.java @@ -14,7 +14,7 @@ import eu.etaxonomy.cdm.api.service.IPolytomousKeyService; import eu.etaxonomy.cdm.api.service.ITermService; import eu.etaxonomy.cdm.model.description.PolytomousKey; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; @@ -27,7 +27,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore; * @version 1.0 * */ -public class RefreshNodesOperation extends AbstractPostOperation { +public class RefreshNodesOperation extends AbstractPostTaxonOperation { PolytomousKey key; diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/CopyOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/CopyOperation.java index c6b3c56bc..93f871e2f 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/CopyOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/CopyOperation.java @@ -19,7 +19,7 @@ import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import eu.etaxonomy.cdm.model.taxon.TaxonNode; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; @@ -28,7 +28,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @date 23 Jan 2012 * */ -public class CopyOperation extends AbstractPostOperation { +public class CopyOperation extends AbstractPostTaxonOperation { /** * @param label diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java index 9cd017a22..1f9cea4df 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java @@ -17,27 +17,21 @@ import org.eclipse.core.commands.operations.IUndoContext; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.ui.handlers.HandlerUtil; -import eu.etaxonomy.cdm.api.application.CdmApplicationController; import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; import eu.etaxonomy.cdm.api.service.IClassificationService; import eu.etaxonomy.cdm.api.service.ITaxonNodeService; -import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator; import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException; import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; import eu.etaxonomy.cdm.model.common.CdmBase; -import eu.etaxonomy.cdm.model.common.ITreeNode; import eu.etaxonomy.cdm.model.taxon.Classification; import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; import eu.etaxonomy.cdm.model.taxon.TaxonNode; import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.CdmStore; -import eu.etaxonomy.taxeditor.store.StoreUtil; /** *

DeleteTreeNodeOperation class.

@@ -49,7 +43,7 @@ import eu.etaxonomy.taxeditor.store.StoreUtil; public class DeleteOperation extends AbstractPersistentPostOperation{ private Set treeNodes; - private TaxonDeletionConfigurator config; + private final TaxonDeletionConfigurator config; /** @@ -87,7 +81,7 @@ public class DeleteOperation extends AbstractPersistentPostOperation{ this.treeNodes = treeNodes; this.config = config; } - + /* (non-Javadoc) * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) @@ -104,15 +98,15 @@ public class DeleteOperation extends AbstractPersistentPostOperation{ if(taxonNode != null && taxonNode instanceof TaxonNode){ //((TaxonNode) treeNode).delete(); - taxon = ((TaxonNode)taxonNode).getTaxon(); + element = ((TaxonNode)taxonNode).getTaxon(); try { service.deleteTaxonNode((TaxonNode)taxonNode, config); } catch (DataChangeNoRollbackException e) { - + throw new ExecutionException(e.getMessage()); - + } - + }else if(taxonNode != null && taxonNode instanceof Classification){ Classification taxonomicTree = (Classification) taxonNode; /*if(taxonomicTree.hasChildNodes()){ @@ -125,8 +119,8 @@ public class DeleteOperation extends AbstractPersistentPostOperation{ }catch(ReferencedObjectUndeletableException e){ throw new ExecutionException(e.getMessage()); } - - + + /*}else{ try{ CdmStore.getService(IClassificationService.class).delete(taxonomicTree); @@ -141,7 +135,7 @@ public class DeleteOperation extends AbstractPersistentPostOperation{ throw new ExecutionException(e.getMessage()); } } - + monitor.worked(40); return postExecute(null); } diff --git a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF index 543454e66..9a8373a7d 100644 --- a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF @@ -30,6 +30,8 @@ Export-Package: eu.etaxonomy.cdm, eu.etaxonomy.taxeditor.store.internal, eu.etaxonomy.taxeditor.store.operations, eu.etaxonomy.taxeditor.ui.bar, + eu.etaxonomy.taxeditor.ui.campanula.derivatesearch, + eu.etaxonomy.taxeditor.ui.campanula.specimenSearch, eu.etaxonomy.taxeditor.ui.combo, eu.etaxonomy.taxeditor.ui.dialog, eu.etaxonomy.taxeditor.ui.dialog.selection, diff --git a/eu.etaxonomy.taxeditor.store/icons/artwork_derivate-16x16-32.png b/eu.etaxonomy.taxeditor.store/icons/artwork_derivate-16x16-32.png new file mode 100644 index 000000000..a72bd37d9 Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/artwork_derivate-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.store/icons/derivate_search_view-16x16-32.png b/eu.etaxonomy.taxeditor.store/icons/derivate_search_view-16x16-32.png new file mode 100644 index 000000000..a8dac988c Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/derivate_search_view-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.store/icons/dna_derivate-16x16-32.png b/eu.etaxonomy.taxeditor.store/icons/dna_derivate-16x16-32.png new file mode 100644 index 000000000..47cbb1cba Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/dna_derivate-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.store/icons/fieldunit-16x16-32.png b/eu.etaxonomy.taxeditor.store/icons/fieldunit-16x16-32.png new file mode 100644 index 000000000..956897e99 Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/fieldunit-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.store/icons/specimen_derivate-16x16-32.png b/eu.etaxonomy.taxeditor.store/icons/specimen_derivate-16x16-32.png new file mode 100644 index 000000000..35b8a1a9b Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/specimen_derivate-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.store/icons/specimen_scan_derivate-16x16-32.png b/eu.etaxonomy.taxeditor.store/icons/specimen_scan_derivate-16x16-32.png new file mode 100644 index 000000000..557e2e68e Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/specimen_scan_derivate-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.store/icons/tissue_sample-16x16-32.png b/eu.etaxonomy.taxeditor.store/icons/tissue_sample-16x16-32.png new file mode 100644 index 000000000..fa4e5f647 Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/tissue_sample-16x16-32.png differ diff --git a/eu.etaxonomy.taxeditor.store/plugin.xml b/eu.etaxonomy.taxeditor.store/plugin.xml index 4b7d01cb2..28f8b2242 100644 --- a/eu.etaxonomy.taxeditor.store/plugin.xml +++ b/eu.etaxonomy.taxeditor.store/plugin.xml @@ -226,6 +226,13 @@ id="eu.etaxonomy.taxeditor.view.userecords" name="Use Records" restorable="true"> + +
+ + + + + + + + @@ -413,34 +435,6 @@ - - - - - - - - - - - - - - + + + + + + + + sourceTerms;// the actual DefinedTermBase(s) we are moving private TermBase targetTermOrVocabulary;// the target VOCABULARY or DefinedTerm we are moving these to diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/JaxbExportWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/JaxbExportWizard.java index 9b3b75663..3ca24a788 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/JaxbExportWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/JaxbExportWizard.java @@ -12,14 +12,12 @@ package eu.etaxonomy.taxeditor.io.wizard; 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; /** *

JaxbExportWizard class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java index 2ea0a5d6a..520ff6423 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java @@ -452,7 +452,7 @@ public abstract class AbstractUtility { * * @param operation * a - * {@link eu.etaxonomy.taxeditor.operation.AbstractPostOperation} + * {@link eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation} * object. * @return a {@link org.eclipse.core.runtime.IStatus} object. */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartContentHasFactualData.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartContentHasFactualData.java new file mode 100644 index 000000000..23ea105e6 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/IPartContentHasFactualData.java @@ -0,0 +1,21 @@ +// $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.model; + +/** + * Clients implementing this interface indicate, that the data they present is suitable for the factual data view. + * + * @author pplitzner + * @date 03.12.2013 + * + */ +public interface IPartContentHasFactualData { + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java index 9be591ddd..a5d2a388d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java @@ -21,7 +21,6 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; -import eu.etaxonomy.taxeditor.store.StoreUtil; import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin; /** @@ -135,6 +134,14 @@ public class ImageResources { /** Constant COLLAPSE_ALL="collapse_all" */ public static final String COLLAPSE_ALL = "collapse_all"; + public static final String TISSUE_SAMPLE_DERIVATE = "tissue_sample_derivate"; + public static final String DNA_SAMPLE_DERIVATE = "dna_sample_derivate"; + public static final String FIELD_UNIT = "field_unit"; + public static final String SPECIMEN_DERIVATE = "specimen_derivate"; + public static final String ARTWORK_DERIVATE = "artwork_derivate"; + public static final String SPECIMEN_SCAN_DERIVATE = "specimen_scan_derivate"; + public static final String LIVING_PLANT_PHOTO_DERIVATE = "living_plant_photo_derivate"; + /*************************************************************************** @@ -186,7 +193,7 @@ public class ImageResources { } catch (MalformedURLException e) { // should never happen } catch (Exception e) { - StoreUtil.error(ImageResources.class, e); + AbstractUtility.error(ImageResources.class, e); } // logger.warn(ImageDescriptor.getMissingImageDescriptor().getClass()); @@ -311,6 +318,20 @@ public class ImageResources { "lock.png"); registerImage(registry, LOCK_OPEN_ICON, "lock_open.png"); + registerImage(registry, DNA_SAMPLE_DERIVATE, + "dna_derivate-16x16-32.png"); + registerImage(registry, FIELD_UNIT, + "fieldunit-16x16-32.png"); + registerImage(registry, SPECIMEN_DERIVATE, + "specimen_derivate-16x16-32.png"); + registerImage(registry, ARTWORK_DERIVATE, + "artwork_derivate-16x16-32.png"); + registerImage(registry, SPECIMEN_SCAN_DERIVATE, + "specimen_scan_derivate-16x16-32.png"); + registerImage(registry, LIVING_PLANT_PHOTO_DERIVATE, + "specimen_scan_derivate-16x16-32.png"); + registerImage(registry, TISSUE_SAMPLE_DERIVATE, + "tissue_sample-16x16-32.png"); } private void registerImage(ImageRegistry registry, String key, diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java index 260beaf7b..627c140aa 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java @@ -21,10 +21,10 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage; +import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage; import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralWizardPage; import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage; import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage; -import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage; /** *

NewDerivedUnitBaseWizard class.

@@ -48,48 +48,52 @@ public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard, D extends DescriptionBase> extends AbstractPostOperation { + + protected D description; + + private final boolean isImageGallery; + + /** + * + */ + public AbstractDescriptionPostOperation(String label, IUndoContext undoContext, + T describable, IPostOperationEnabled postOperationEnabled) { + this(label, undoContext, describable, postOperationEnabled, false); + } + + /** + * + */ + public AbstractDescriptionPostOperation(String label, IUndoContext undoContext, + T describable, IPostOperationEnabled postOperationEnabled, boolean isImageGallery) { + super(label, undoContext, describable, postOperationEnabled); + this.isImageGallery = isImageGallery; + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + /** {@inheritDoc} */ + @Override + public IStatus execute(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + + initDescription(); + monitor.worked(20); + + if(isImageGallery){ + description.setImageGallery(isImageGallery); + // add the description element to hold the media elements for this image gallery + TextData element = TextData.NewInstance(Feature.IMAGE()); + element.addMedia(Media.NewInstance()); + description.addElement(element); + } + monitor.worked(40); + + return postExecute(description); + } + + /** + * Creates the description and attaches it to the operated element. + */ + protected abstract void initDescription(); + + /** {@inheritDoc} */ + @Override + public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { + + element.addDescription(description); + + return postExecute(description); + } + + /** {@inheritDoc} */ + @Override + public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { + + element.removeDescription(description); + + return postExecute(null); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPersistentPostOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPersistentPostOperation.java index 37ff63f70..e42030d98 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPersistentPostOperation.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPersistentPostOperation.java @@ -30,7 +30,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode; * @created 08.05.2009 * @version 1.0 */ -public abstract class AbstractPersistentPostOperation extends AbstractPostOperation { +public abstract class AbstractPersistentPostOperation extends AbstractPostTaxonOperation { private IConversationEnabled conversationEnabled; protected ITaxonTreeNode parentNode; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostOperation.java index eca9d8369..5b7c68ec8 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostOperation.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostOperation.java @@ -1,157 +1,98 @@ +// $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. -*/ - + * 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.operation; -import java.util.UUID; - import org.eclipse.core.commands.operations.AbstractOperation; import org.eclipse.core.commands.operations.IUndoContext; import org.eclipse.core.runtime.IStatus; 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; +import eu.etaxonomy.cdm.model.common.ICdmBase; /** - *

Abstract AbstractPostOperation class.

+ * @author pplitzner + * @date 03.12.2013 * - * @author p.ciardelli - * @author n.hoffmann - * @created 14.01.2009 - * @version 1.0 */ -public abstract class AbstractPostOperation extends AbstractOperation { - - /** - * - */ - protected IPostOperationEnabled postOperationEnabled; - - /** - * A reference to the taxon the concrete operation is working on - */ - protected Taxon taxon; +public abstract class AbstractPostOperation extends AbstractOperation { + + + /** + * A reference to the {@link ICdmBase} element the concrete operation is working on + */ + protected T element; + + /** + * + */ + protected IPostOperationEnabled postOperationEnabled; + + + /** + *

Constructor for AbstractPostOperation.

+ * + * @param label a {@link java.lang.String} object. + * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. + */ + protected AbstractPostOperation(String label, IUndoContext undoContext) { + super(label); + addContext(undoContext); + } + + /** + *

Constructor for AbstractPostOperation.

+ * + * @param label a {@link java.lang.String} object. + * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. + * @param element a {@link ICdmBase} object on which this operation is working. + */ + public AbstractPostOperation(String label, IUndoContext undoContext, T element) { + this(label, undoContext); + this.element = element; + } - /** - * A reference to the taxons TaxonNode - */ - protected ITaxonTreeNode taxonNode; + /** + * @param label + * @param element + * @param postOperationEnabled + */ + public AbstractPostOperation(String label, IUndoContext undoContext, + T element, IPostOperationEnabled postOperationEnabled) { + this(label, undoContext); + this.element = element; + this.postOperationEnabled = postOperationEnabled; + } - protected UUID parentNodeUuid; + /** + * This method will try to call the post operation on a possibly registered + * IPostOperationEnabled implementor. Objects that were affected by the operation + * may be passed to the registered IPostOperationEnabled implementor. + * + * @param objectAffectedByOperation the affected object. Should be null if not needed + * @return a {@link org.eclipse.core.runtime.IStatus} object. + */ + protected IStatus postExecute(CdmBase objectAffectedByOperation) { + if(postOperationEnabled != null){ + return postOperationEnabled.postOperation(objectAffectedByOperation) ? Status.OK_STATUS : Status.CANCEL_STATUS; + } + return Status.OK_STATUS; + } - /** - *

Constructor for AbstractPostOperation.

- * - * @param label a {@link java.lang.String} object. - * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. - */ - protected AbstractPostOperation(String label, IUndoContext undoContext) { - super(label); - addContext(undoContext); - } - - /** - *

Constructor for AbstractPostOperation.

- * - * @param label a {@link java.lang.String} object. - * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. - * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object. - */ - public AbstractPostOperation(String label, IUndoContext undoContext, - Taxon taxon) { - this(label, undoContext); - - this.taxon = taxon; - } - - /** - *

Constructor for AbstractPostOperation.

- * - * @param label a {@link java.lang.String} object. - * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. - * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object. - * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. - */ - public AbstractPostOperation(String label, IUndoContext undoContext, - Taxon taxon, IPostOperationEnabled postOperationEnabled) { - this(label, undoContext, taxon); - this.postOperationEnabled = postOperationEnabled; - } - - /** - *

Constructor for AbstractPostOperation.

- * - * @param label a {@link java.lang.String} object. - * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. - * @param taxonNode a {@link eu.etaxonomy.cdm.model.taxon.TaxonNode} object. - * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. - */ - public AbstractPostOperation(String label, IUndoContext undoContext, TaxonNode taxonNode, IPostOperationEnabled postOperationEnabled){ - this(label, undoContext, taxonNode.getTaxon(), postOperationEnabled); - this.taxonNode = taxonNode; - } - - /** - *

Constructor for AbstractPostOperation.

- * - * @param label a {@link java.lang.String} object. - * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. - * @param parentNodeUuid a {@link java.util.UUID} object. - * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. - */ - public AbstractPostOperation(String label, IUndoContext undoContext, UUID parentNodeUuid, IPostOperationEnabled postOperationEnabled){ - this(label, undoContext); - - this.parentNodeUuid = parentNodeUuid; - this.postOperationEnabled = postOperationEnabled; - } - - /** - *

Constructor for AbstractPostOperation.

- * - * @param label a {@link java.lang.String} object. - * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. - * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. - */ - public AbstractPostOperation(String label, IUndoContext undoContext, - IPostOperationEnabled postOperationEnabled) { - this(label, undoContext); - this.postOperationEnabled = postOperationEnabled; - } + /** + *

Getter for the field postOperationEnabled.

+ * + * @return a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. + */ + public IPostOperationEnabled getPostOperationEnabled() { + return postOperationEnabled; + } - /** - * This method will try to call the post operation on a possibly registered - * IPostOperationEnabled implementor. Objects that were affected by the operation - * may be passed to the registered IPostOperationEnabled implementor. - * - * @param objectAffectedByOperation the affected object. Should be null if not needed - * @return a {@link org.eclipse.core.runtime.IStatus} object. - */ - protected IStatus postExecute(CdmBase objectAffectedByOperation) { - if(postOperationEnabled != null){ - return postOperationEnabled.postOperation(objectAffectedByOperation) ? Status.OK_STATUS : Status.CANCEL_STATUS; - } - return Status.OK_STATUS; - } - - /** - *

Getter for the field postOperationEnabled.

- * - * @return a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. - */ - public IPostOperationEnabled getPostOperationEnabled() { - return postOperationEnabled; - } - - -} +} \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostTaxonOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostTaxonOperation.java new file mode 100644 index 000000000..b37c54010 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostTaxonOperation.java @@ -0,0 +1,97 @@ +/** +* 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.operation; + +import java.util.UUID; + +import org.eclipse.core.commands.operations.IUndoContext; + +import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.cdm.model.taxon.TaxonNode; + +/** + *

Abstract AbstractPostOperation class.

+ * + * @author p.ciardelli + * @author n.hoffmann + * @created 14.01.2009 + * @version 1.0 + */ +public abstract class AbstractPostTaxonOperation extends AbstractPostOperation { + + /** + * A reference to the taxons TaxonNode + */ + protected ITaxonTreeNode taxonNode; + + protected UUID parentNodeUuid; + + + /** + *

Constructor for AbstractPostOperation.

+ * + * @param label a {@link java.lang.String} object. + * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. + * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object. + * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. + */ + public AbstractPostTaxonOperation(String label, IUndoContext undoContext, + Taxon taxon, IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, taxon, postOperationEnabled); + } + + /** + *

Constructor for AbstractPostOperation.

+ * + * @param label a {@link java.lang.String} object. + * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. + * @param taxonNode a {@link eu.etaxonomy.cdm.model.taxon.TaxonNode} object. + * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. + */ + public AbstractPostTaxonOperation(String label, IUndoContext undoContext, TaxonNode taxonNode, IPostOperationEnabled postOperationEnabled){ + this(label, undoContext, taxonNode.getTaxon(), postOperationEnabled); + this.taxonNode = taxonNode; + } + + /** + *

Constructor for AbstractPostOperation.

+ * + * @param label a {@link java.lang.String} object. + * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. + * @param parentNodeUuid a {@link java.util.UUID} object. + * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. + */ + public AbstractPostTaxonOperation(String label, IUndoContext undoContext, UUID parentNodeUuid, IPostOperationEnabled postOperationEnabled){ + super(label, undoContext, null, postOperationEnabled); + this.parentNodeUuid = parentNodeUuid; + } + + /** + *

Constructor for AbstractPostOperation.

+ * + * @param label a {@link java.lang.String} object. + * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object. + * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object. + */ + public AbstractPostTaxonOperation(String label, IUndoContext undoContext, + IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, null, postOperationEnabled); + } + + /** + * @param text + * @param undoContext + * @param taxon + */ + public AbstractPostTaxonOperation(String label, IUndoContext undoContext, Taxon taxon) { + this(label, undoContext, taxon, null); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java index 054563372..80feebd08 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java @@ -10,7 +10,6 @@ package eu.etaxonomy.taxeditor.preference; -import eu.etaxonomy.cdm.model.common.IDefinedTerm; import eu.etaxonomy.cdm.model.occurrence.FieldUnit; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java index 586dbfc05..0c1235fa4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java @@ -9,7 +9,6 @@ package eu.etaxonomy.taxeditor.store; -import java.io.Serializable; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; @@ -35,7 +34,6 @@ import eu.etaxonomy.cdm.ext.geo.IEditGeoService; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/LoginManager.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/LoginManager.java index 76a730a1b..42c6e7493 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/LoginManager.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/LoginManager.java @@ -13,13 +13,7 @@ package eu.etaxonomy.taxeditor.store; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java index 28c6cc18e..d77912b8d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java @@ -1,9 +1,9 @@ // $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. */ @@ -36,6 +36,7 @@ import eu.etaxonomy.cdm.model.name.NameRelationship; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; @@ -47,16 +48,16 @@ import eu.etaxonomy.taxeditor.preference.PreferencesUtil; * @version 1.0 */ public class SearchManager { - + public static final List NO_RESULTS = Arrays.asList(new Object[]{}); - + public static final String WILDCARD = "*"; - + public static int NO_COUNT = -1; - + // TODO make this configurable via preferences - private static final int MAX_RESULTS_BEFORE_WARNING = 500; - + private static final int MAX_RESULTS_BEFORE_WARNING = 500; + /** *

findNames

* @@ -69,25 +70,25 @@ public class SearchManager { } return NO_RESULTS; } - + public List findNameRelationships( IIdentifiableEntityServiceConfigurator configurator) { if(true){ return NO_RESULTS; } - - List relationships = new ArrayList(); + + List relationships = new ArrayList(); List all = CdmStore.getService(INameService.class).getAllRelationships(0, 0); - + for (RelationshipBase relationship : all){ if(relationship instanceof NameRelationship){ relationships.add((NameRelationship) relationship); } } - - + + return relationships; - + } /** @@ -99,8 +100,8 @@ public class SearchManager { public List> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator){ return CdmStore.getService(ITaxonService.class).findTaxaAndNamesForEditor(configurator); } - - + + /** *

findReferences

* @@ -113,8 +114,8 @@ public class SearchManager { } return NO_RESULTS; } - - + + /** *

findAgents

* @@ -138,17 +139,32 @@ public class SearchManager { configurator.setClazz(TeamOrPersonBase.class); return findAgents(configurator); } - - + /** - *

findOccurrences

+ * Searches for {@link SpecimenOrObservationBase} with the parameters specified in the + * {@link IIdentifiableEntityServiceConfigurator}
+ *
+ * Note: FieldUnits are omitted by default. See {@link #findOccurrences(IIdentifiableEntityServiceConfigurator, boolean)} * - * @param configurator a {@link eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator} object. - * @return a {@link java.util.List} object. + * @param configurator the configurator to use for the search + * @return a list of the SpecimenOrObservationBases matching the search parameters found */ public List findOccurrences(IIdentifiableEntityServiceConfigurator configurator){ - // by default we do not show field units. This may be configured via preferences - boolean showFieldUnits = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.BULK_EDITOR_OCCURRENCE_SHOW_FIELD_UNITS); + // by default we do not show field units. This may be configured via preferences + return findOccurrences(configurator, PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.BULK_EDITOR_OCCURRENCE_SHOW_FIELD_UNITS)); + } + + + /** + * Searches for {@link SpecimenOrObservationBase} with the parameters specified in the + * {@link IIdentifiableEntityServiceConfigurator} + * + * @param configurator the configurator to use for the search + * @return a list of the SpecimenOrObservationBases found + * @param showFieldUnits if true then also FieldUnits are searched + * @return + */ + public List findOccurrences(IIdentifiableEntityServiceConfigurator configurator, boolean showFieldUnits){ if(! showFieldUnits){ configurator.setClazz(DerivedUnit.class); } @@ -157,38 +173,58 @@ public class SearchManager { } return NO_RESULTS; } - - + + /** + * Searches for {@link SpecimenOrObservationBase} with the parameters specified in the {@link IIdentifiableEntityServiceConfigurator} + * which match the given {@link SpecimenOrObservationType} + * @param configurator the configurator to use for the search + * @param type the type/record basis the specimens must have + * @return a list of the SpecimenOrObservationBases matching the search parameters found + + * @deprecated method needs to be optimized with a direct SQL query instead of iterating over all specimens + */ + @Deprecated + //TODO: method needs to be optimized with a direct SQL query instead of iterating over all specimens + public List findOccurrencesByType(IIdentifiableEntityServiceConfigurator configurator, SpecimenOrObservationType type){ + List occurrences = new ArrayList(); + for(SpecimenOrObservationBase occurrence:findOccurrences(configurator, true)){ + if(occurrence.getRecordBasis()==type){ + occurrences.add(occurrence); + } + } + return occurrences; + } + public List findUsers(IIdentifiableEntityServiceConfigurator configurator){ String userNameSearchString = sqlizeTitleSearchString(configurator); // TODO why are users not identifiable entities? return CdmStore.getService(IUserService.class).listByUsername(userNameSearchString, null, null, null, null, null, null); } - - + + public List findGroups(IIdentifiableEntityServiceConfigurator configurator){ String groupNameSearchString = sqlizeTitleSearchString(configurator); // TODO why are groups not identifiable entities? return CdmStore.getService(IGroupService.class).listByName(groupNameSearchString, null, null, null, null, null, null); } - - + + /** * @param count * @return */ private boolean checkLargeResult(int count) { if(count > MAX_RESULTS_BEFORE_WARNING){ - return MessageDialog.openConfirm(Display.getDefault().getActiveShell(), "Large result expected", + return MessageDialog.openConfirm(Display.getDefault().getActiveShell(), "Large result expected", String.format("The current search will return %s objects. This will " + "take a long time and/or might render the editor unusable. Please consider refining your search.", count)); }else{ return true; - } + } } - + /** - * + * * @param configurator * @return */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ComboDefinedTermController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ComboDefinedTermController.java new file mode 100644 index 000000000..3d25ed10d --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ComboDefinedTermController.java @@ -0,0 +1,402 @@ +// $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.campanula.basicFields; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Listener; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; +import eu.etaxonomy.taxeditor.preference.Resources; +import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.store.TermManager; +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.IEnableableFormElement; +import eu.etaxonomy.taxeditor.ui.element.ISelectable; + +/** + * @author pplitzner + * @date 15.08.2013 + * + */ +public class ComboDefinedTermController extends AbstractCdmFormElement implements SelectionListener, DisposeListener, IEnableableFormElement, ISelectable { + + private static final int DEFAULT_VISIBLE_ITEMS = 10; + + private T selection; + + private T emptyElement; + private static String EMPTY_ELEMENT_LABEL = ""; + +// protected Label label; + private Combo combo; + + private ArrayList terms; + + private Comparator termComparator; + + private Class termClass; + + private List customPreferredTerms; + + /** + *

+ * Constructor for AbstractTermComboElement. + *

+ * + * @param parentElement + * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} + * object. + * @param style + * a int. + * @param formFactory + * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} + * object. + * @param labelString + * a {@link java.lang.String} object. + * @param selection + * a T object. + * @param visibleItems + * a int. + * @param + * a T object. + */ + public ComboDefinedTermController(Combo combo, CdmFormFactory formFactory, ICdmFormElement parentElement, Class termClass, T selection, int style) { + super(formFactory, parentElement); + + this.termClass = termClass; + setPropertyChangeListeners(formFactory.getPropertyChangeListeners()); + formFactory.addPropertyChangeListener(this); +// if (labelString != null) { +// label = formFactory.createLabel(getLayoutComposite(), labelString); +// addControl(label); +// } + + // create combo + this.combo = combo;//new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY); + addControl(combo); +// combo.setLayoutData(LayoutConstants.FILL_HORIZONTALLY()); + combo.setVisibleItemCount(DEFAULT_VISIBLE_ITEMS); + + populateTerms(getPreferredTerms()); + + combo.addSelectionListener(this); + combo.addDisposeListener(this); + PreferencesUtil.getPreferenceStore().addPropertyChangeListener(this); + + if (selection != null) { + setSelection(selection); + } + } + + /** + *

+ * Getter for the field selection. + *

+ * + * @return a T object. + */ + public T getSelection() { + return selection; + } + + /** + *

+ * Sets the selection of the combo to the given T object. + *

+ *

+ * Passing null to this method will set the selection to the + * empty element and effectively clear the selection + *

+ * + * @param selection + * a T object or null to clear the selection + */ + public void setSelection(T selection) { + this.selection = selection; + + this.selection = selection; + + Listener[] listeners = combo.getListeners(SWT.Selection); + + for (Listener listener : listeners) { + combo.removeListener(SWT.Selection, listener); + } + int selectedIndex; + if (selection == null) { + // set selection to the emptyElement + selectedIndex = 0; + } else { + selectedIndex = terms.indexOf(selection); + if (selectedIndex == -1) { + createTermNotInPreferredTerms(selection); + selectedIndex = terms.indexOf(selection); + } + } + combo.select(selectedIndex); + + for (Listener listener : listeners) { + combo.addListener(SWT.Selection, listener); + } + } + + /** + * Fills the combo with elements and sets up the convenience functions for + * selection index + * + * @param preferredTerms + */ + private void populateTerms(List preferredTerms) { + + combo.removeAll(); + + terms = new ArrayList(); + + int i = 1; + int index = 0; + + // Add an empty element for when nothing was selected yet + combo.add(EMPTY_ELEMENT_LABEL); + terms.add(emptyElement); + + if (termComparator != null) { + Collections.sort(preferredTerms, termComparator); + } + for (T term : preferredTerms) { + String label = getLabel(term); + if (label == null) { + if (term.getTitleCache() != null) { + label = term.getTitleCache(); + StoreUtil.warn(getClass(), "Term does not have a representation: " + term + ", " + term.getUuid()); + } else { + label = "Unknown"; + StoreUtil.warn(getClass(), "Representation Label and TitleCache empty for term: " + term + ", " + term.getUuid()); + } + + } + + combo.add(label); + terms.add(term); + + i++; + if (selection != null) { + if (selection.equals(term)) { + index = i; + } + } + } + + if (selection != null && index == 0) { + createTermNotInPreferredTerms(selection); + } + + combo.select(index); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.forms.IEnableableFormElement#setEnabled(boolean) + */ + /** {@inheritDoc} */ + @Override + public void setEnabled(boolean enabled) { + combo.setEnabled(enabled); + } + + /** + *

+ * preferredTerms + *

+ * + * @return a {@link java.util.List} object. + */ + protected List getPreferredTerms() { + if (customPreferredTerms != null) { + return customPreferredTerms; + } + return getTermManager().getPreferredTerms(termClass); + } + + /** + * May be overridden by derived classes if the desired label string does not + * reside in term.getLabel(); + * + * @param term + * a T object. + * @return a {@link java.lang.String} object. + */ + protected String getLabel(T term) { + return term.getLabel(CdmStore.getDefaultLanguage()); + } + + /** + * + * + * @param term + */ + private void createTermNotInPreferredTerms(T term) { + List preferredTerms = getPreferredTerms(); + + preferredTerms.add(term); + + populateTerms(preferredTerms); + } + + /** + *

+ * addSelectionListener + *

+ * + * @param listener + * a {@link org.eclipse.swt.events.SelectionListener} object. + */ + public void addSelectionListener(SelectionListener listener) { + combo.addSelectionListener(listener); + } + + /** + *

+ * removeSelectionListener + *

+ * + * @param listener + * a {@link org.eclipse.swt.events.SelectionListener} object. + */ + public void removeSelectionListener(SelectionListener listener) { + combo.removeSelectionListener(listener); + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt + * .events.SelectionEvent) + */ + /** {@inheritDoc} */ + @Override + public void widgetSelected(SelectionEvent e) { + selection = terms.get(combo.getSelectionIndex()); + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e)); + } + + /* + * (non-Javadoc) + * + * @see java.beans.PropertyChangeListener#propertyChange(java.beans. + * PropertyChangeEvent) + */ + /** {@inheritDoc} */ + @Override + public void propertyChange(PropertyChangeEvent event) { + super.propertyChange(event); + if (event != null && PreferencesUtil.PREFERRED_TERMS_CHANGE.equals(event.getProperty())) { + populateTerms(getPreferredTerms()); + } + } + + /** {@inheritDoc} */ + @Override + public void setSelected(boolean selected) { + setBackground(selected ? SELECTED : getPersistentBackground()); + } + + /** {@inheritDoc} */ + @Override + public void widgetDisposed(DisposeEvent e) { + PreferencesUtil.getPreferenceStore().removePropertyChangeListener(this); + } + + // not used + /** {@inheritDoc} */ + @Override + public void widgetDefaultSelected(SelectionEvent e) { + } + + /** {@inheritDoc} */ + @Override + public void setIrrelevant(boolean irrelevant) { + String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT : Resources.COLOR_COMPOSITE_BACKGROUND; + + Color color = StoreUtil.getColor(colorId); + combo.setBackground(color); + } + +// /** {@inheritDoc} */ +// @Override +// public void setBackground(Color color) { +// if (label != null) +// label.setBackground(color); +// } + + /** +* +*/ + protected TermManager getTermManager() { + return CdmStore.getTermManager(); + } + + /** + * + * @return + */ + public int getVisibleItemCount() { + return combo.getVisibleItemCount(); + } + + /** + * + * @param count + */ + public void setVisibleItemCount(int count) { + combo.setVisibleItemCount(count); + } + + /** + *

+ * A {@link List} of term objects may be passed to this combo box. In this + * case, the default behaviour of displaying the preferred terms for the T + * type will be overridden and the combo will only display the given terms. + * Also, any previous selection will be reseted. + *

+ * + *

+ * To return to the default of displaying the preferred terms, simply pass + * null. + *

+ * + * @param terms + * a {@link List} of T objects or null for default + * preferred terms + */ + public void setTerms(List terms) { + setSelection(null); + customPreferredTerms = terms; + populateTerms(customPreferredTerms); + } +} \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntityCollectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntityCollectionElement.java new file mode 100644 index 000000000..37590d99a --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntityCollectionElement.java @@ -0,0 +1,79 @@ +// $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.campanula.basicFields; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.ToolBarManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.ToolBar; +import org.eclipse.ui.forms.widgets.ExpandableComposite; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.wb.swt.ResourceManager; +import org.eclipse.wb.swt.SWTResourceManager; + +/** + * @author pplitzner + * @date 16.08.2013 + * + */ +public class EntityCollectionElement extends ExpandableComposite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + + /** + * Create the composite. + * @param parent + * @param style + */ + public EntityCollectionElement(Composite parent, int style) { + super(parent, style); + setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); + setExpanded(true); + + ToolBar toolBar = new ToolBar(this, SWT.FLAT | SWT.RIGHT); + setTextClient(toolBar); + + Label label = formToolkit.createLabel(this, "", SWT.NONE); + setClient(label); + + ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); + + Action addAction = new Action("add", IAction.AS_PUSH_BUTTON){ + /* (non-Javadoc) + * @see org.eclipse.jface.action.Action#run() + */ + @Override + public void run() { +// ELEMENT element = createNewElement(); +// if(element != null){ +// addElement(element); +// if(! getSection().isExpanded()) { +// getSection().setExpanded(true); +// } +// internalUpdateSection(true); +// } + } + }; + addAction.setImageDescriptor(ResourceManager.getPluginImageDescriptor("eu.etaxonomy.taxeditor.store", "icons/add_no_bg2.gif")); +// addAction.setToolTipText(getTooltipString()); + + toolBarManager.add(addAction); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionField.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionField.java new file mode 100644 index 000000000..0c60974a5 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionField.java @@ -0,0 +1,100 @@ +// $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.campanula.basicFields; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; +import org.eclipse.wb.swt.ResourceManager; + +/** + * @author pplitzner + * @date 13.08.2013 + * + */ +public class EntitySelectionField extends Composite { + private FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private Label text; + private Button button_selection; + private Button button_edit; + private Button button_remove; + + /** + * Create the composite. + * @param parent + * @param style + */ + public EntitySelectionField(Composite parent, int style) { + super(parent, style); + setBackgroundMode(SWT.INHERIT_DEFAULT); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.verticalSpacing = 0; + tableWrapLayout.topMargin = 0; + tableWrapLayout.rightMargin = 0; + tableWrapLayout.numColumns = 4; + tableWrapLayout.leftMargin = 0; + tableWrapLayout.horizontalSpacing = 0; + tableWrapLayout.bottomMargin = 0; + setLayout(tableWrapLayout); + } + + text = formToolkit.createLabel(this, "", SWT.WRAP); + TableWrapData twd_text = new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1); + twd_text.align = TableWrapData.LEFT; + text.setLayoutData(twd_text); + + button_selection = formToolkit.createButton(this, "", SWT.NONE); + button_selection.setToolTipText("Browse existing"); + button_selection.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/prj_obj.gif")); + + button_edit = formToolkit.createButton(this, "", SWT.NONE); + button_edit.setToolTipText("Edit"); + button_edit.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/text.gif")); + + button_remove = formToolkit.createButton(this, "", SWT.NONE); + button_remove.setToolTipText("Remove"); + button_remove.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/trash.gif")); + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + public Label getText() { + return text; + } + public Button getButton_selection() { + return button_selection; + } + public Button getButton_edit() { + return button_edit; + } + public Button getButton_remove() { + return button_remove; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.widgets.Control#setEnabled(boolean) + */ + @Override + public void setEnabled(boolean enabled) { + super.setEnabled(enabled); + text.setEnabled(enabled); + button_selection.setEnabled(enabled); + button_edit.setEnabled(enabled); + button_remove.setEnabled(enabled); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionFieldController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionFieldController.java new file mode 100644 index 000000000..00ecc4d95 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionFieldController.java @@ -0,0 +1,435 @@ +// $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.campanula.basicFields; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.jface.wizard.WizardDialog; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.springframework.security.core.GrantedAuthority; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.common.CdmUtils; +import eu.etaxonomy.cdm.model.common.Group; +import eu.etaxonomy.cdm.model.common.ICdmBase; +import eu.etaxonomy.cdm.model.common.IIdentifiableEntity; +import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; +import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.taxeditor.model.ImageResources; +import eu.etaxonomy.taxeditor.preference.Resources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory; +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.IEnableableFormElement; +import eu.etaxonomy.taxeditor.ui.element.IEntityElement; +import eu.etaxonomy.taxeditor.ui.element.ILabeledElement; +import eu.etaxonomy.taxeditor.ui.element.ISelectableElement; +import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; +import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator; +import eu.etaxonomy.taxeditor.ui.selection.EditFromSelectionWizard; +import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; + +/** + * @author pplitzner + * @date 13.08.2013 + * + */ +public class EntitySelectionFieldController extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement, ILabeledElement, IConversationEnabled { + + /** + * Bitmask for configuring functionality of selection element + */ + public static final int NOTHING = 0; // 000 + public static final int EDITABLE = 1 << 0; // 001 + public static final int DELETABLE = 1 << 1; // 010 + public static final int SELECTABLE = 1 << 2; // 100 + public static final int ALL = EDITABLE | DELETABLE | SELECTABLE; // 111 + + protected T entity; + + //TODO also control "label" with this class? +// protected Label label; + protected Label text; + protected Button button_selection; + + private SelectionArbitrator selectionArbitrator; + + protected Button button_edit; + +// private final String labelString; + + private Composite selectableComposite; + + private Button button_remove; + + private final boolean isEditable; + + private final boolean isDeletable; + + private final ConversationHolder conversation; + private Class clazz; + + /** + *

+ * Constructor for AbstractSelectionElement. + *

+ * + * @param formFactory + * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} + * object. + * @param conversation + * TODO + * @param parentElement + * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} + * object. + * @param labelString + * a {@link java.lang.String} object. + * @param entity + * a T object. + * @param isEditable + * a boolean. + * @param isSelectable + * a boolean. + * @param isDeletable + * a boolean. + * @param style + * a int. + * @param + * a T object. + */ + public EntitySelectionFieldController(EntitySelectionField entitySelectionField, CdmFormFactory formFactory, ConversationHolder conversation, ICdmFormElement parentElement, T entity, int mode) { + super(formFactory, parentElement); + + setPropertyChangeListeners(formFactory.getPropertyChangeListeners()); + formFactory.addPropertyChangeListener(this); + + this.isEditable = (mode & EDITABLE) == EDITABLE; + this.isDeletable = (mode & DELETABLE) == DELETABLE; + boolean isSelectable = (mode & SELECTABLE) == SELECTABLE; + +// this.labelString = labelString; + + this.conversation = conversation; + + if (isSelectable && formFactory.getSelectionProvider() != null) { + selectionArbitrator = formFactory.createSelectionArbitrator(this); + } + + createControls(entitySelectionField); + + setEntity(entity); + } + + public EntitySelectionFieldController(EntitySelectionField entitySelectionField, CdmFormFactory formFactory, ConversationHolder conversation, ICdmFormElement parentElement, Class clazz, T entity, int mode) { + this(entitySelectionField, formFactory, conversation, parentElement, entity, mode); + this.clazz = clazz; + } + + private void createControls(EntitySelectionField entitySelectionField) { + +// label = formFactory.createLabel(getLayoutComposite(), labelString, SWT.NULL); +// +// addControl(label); + + selectableComposite = entitySelectionField; + + int columns = 2; + if (isEditable) { + columns += 1; + } + if (isDeletable) { + columns += 1; + } + + selectableComposite.setLayout(LayoutConstants.LAYOUT(columns, false)); + selectableComposite.setLayoutData(LayoutConstants.FILL_HORIZONTALLY()); + + addControl(selectableComposite); + + text = entitySelectionField.getText(); + addControl(text); + + text.setLayoutData(LayoutConstants.FILL_HORIZONTALLY()); + text.setBackground(AbstractUtility.getColor(Resources.COLOR_TEXT_DISABLED_BACKGROUND)); + + button_selection = entitySelectionField.getButton_selection(); + button_selection.setImage(ImageResources.getImage(ImageResources.BROWSE_ICON)); + button_selection.setToolTipText("Browse existing"); + + addControl(button_selection); + button_selection.addSelectionListener(this); + + button_edit = entitySelectionField.getButton_edit(); + if (isEditable) { + addControl(button_edit); + //TODO: this worked with the extracted (but now reverted) interfaces done for campanula +// button_edit.addSelectionListener(new EditListener(this)); + } + else{ + button_edit.setVisible(false); + } + + button_remove = entitySelectionField.getButton_remove(); + if (isDeletable) { + addControl(button_remove); + button_remove.addSelectionListener(new DeleteListener(this)); + } + else{ + button_remove.setVisible(false); + } + } + + @Override + public void widgetSelected(SelectionEvent e) { + T selection = SelectionDialogFactory.getSelectionFromDialog(clazz, getShell(), getConversationHolder(), getEntity()); + setSelectionInternal(selection); + } + + /** + * Return the selected object + * + * @return a T object. + */ + public T getSelection() { + return entity; + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.forms.IEnableableFormElement#setEnabled(boolean) + */ + /** {@inheritDoc} */ + @Override + public void setEnabled(boolean enabled) { + button_selection.setEnabled(enabled); + if (isEditable) { + button_edit.setEnabled(enabled && entity != null); + } + } + + /** + *

+ * setSelectionInternal + *

+ * + * @param selection + * a T object. + */ + protected void setSelectionInternal(T selection) { + if (selection != null && !selection.equals(this.entity)) { + setEntity(selection); + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); + } + } + + /** + *

+ * Setter for the field entity. + *

+ * + * @param selection + * a T object. + */ + public void setEntity(T selection) { + this.entity = selection; + updateElement(); + } + + /** + * Updates this elements view + */ + protected void updateElement() { + String title = CdmUtils.Nz(getTitle()); + // we have to duplicate ampersands otherwise they are treated as + // mnenomic (see Label.setText() documentation) + title = title.replace("&", "&&"); + text.setText(title); // title can be null + if (isEditable) { + button_edit.setEnabled(entity != null); + } + } + + public void updateFromWizard() { + updateElement(); + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); + } + + /** + *

+ * getTitle + *

+ * + * @return a {@link java.lang.String} object. + */ + protected String getTitle() { + if (entity != null) { + if (entity instanceof IIdentifiableEntity) { + return ((IIdentifiableEntity) entity).getTitleCache(); + } else if (entity instanceof Group) { + return ((Group) entity).getName(); + } else if (entity instanceof GrantedAuthority) { + return ((GrantedAuthority) entity).getAuthority(); + } + } + return ""; + } + + /** {@inheritDoc} */ + @Override + public void setSelected(boolean selected) { + setBackground(selected ? SELECTED : getPersistentBackground()); + } + + /* + * (non-Javadoc) + * + * @see eu.etaxonomy.taxeditor.forms.IEntityElement#getEntity() + */ + /** + *

+ * Getter for the field entity. + *

+ * + * @return a T object. + */ + @Override + public T getEntity() { + return entity; + } + + /* + * (non-Javadoc) + * + * @see eu.etaxonomy.taxeditor.forms.section.cdmdetail.ISelectableElement# + * getSelectionArbitrator() + */ + /** + *

+ * Getter for the field selectionArbitrator. + *

+ * + * @return a {@link eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator} + * object. + */ + @Override + public SelectionArbitrator getSelectionArbitrator() { + return selectionArbitrator; + } + + public Shell getShell() { + return getLayoutComposite().getShell(); + } + + /** {@inheritDoc} */ + @Override + public void setIrrelevant(boolean irrelevant) { + String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT : Resources.COLOR_TEXT_DISABLED_BACKGROUND; + + Color color = AbstractUtility.getColor(colorId); + text.setBackground(color); + } + + private class DeleteListener extends SelectionAdapter { + + private final EntitySelectionFieldController selectionElement; + + public DeleteListener(EntitySelectionFieldController selectionElement) { + this.selectionElement = selectionElement; + } + + @Override + public void widgetSelected(SelectionEvent e) { + setEntity(null); + firePropertyChangeEvent(new CdmPropertyChangeEvent(selectionElement, null)); + } + } + + private class EditListener extends SelectionAdapter { + + private final EntitySelectionElement selectionElement; + + public EditListener(EntitySelectionElement selectionElement) { + this.selectionElement = selectionElement; + } + + /** {@inheritDoc} */ + @Override + public void widgetSelected(SelectionEvent e) { + WizardDialog dialog = new WizardDialog(selectionElement.getShell(), new EditFromSelectionWizard(selectionElement)); + if (dialog.open() == IStatus.OK) { + selectionElement.updateFromWizard(); + } + } + } + + // not used + /** {@inheritDoc} */ + @Override + public void widgetDefaultSelected(SelectionEvent e) { + } + + /** + *

+ * getConversationHolder + *

+ * + * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} + * object. + */ + @Override + public ConversationHolder getConversationHolder() { + return conversation; + } + + /** {@inheritDoc} */ + @Override + public void setBackground(Color color) { +// label.setBackground(color); + } + + /** {@inheritDoc} */ + @Override + public void setLabel(String labelString) { +// if (label != null) { +// label.setText(labelString); +// } + } + + /** + *

+ * Getter for the field label. + *

+ * + * @return a {@link java.lang.String} object. + */ + @Override + public String getLabel() { +// if (label != null) { +// return label.getText(); +// } + return null; + } + + /** {@inheritDoc} */ + @Override + public void update(CdmDataChangeMap changeEvents) { + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/LanguageTextFieldController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/LanguageTextFieldController.java new file mode 100644 index 000000000..fc656f7cc --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/LanguageTextFieldController.java @@ -0,0 +1,100 @@ +// $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.campanula.basicFields; + +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.widgets.Text; + +import eu.etaxonomy.cdm.model.common.LanguageString; +import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; + +/** + * @author pplitzner + * @date 15.08.2013 + * + */ +public class LanguageTextFieldController extends TextFieldController{ + + private LanguageString languageString; + + /** + *

Constructor for LanguageStringWithLabelElement.

+ * + * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @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. + */ + public LanguageTextFieldController(Text controlledText, CdmFormFactory formFactory, + ICdmFormElement parentElement, + LanguageString languageString) { + this(controlledText, formFactory, parentElement, languageString, null); + } + + /** + *

Constructor for LanguageStringWithLabelElement.

+ * + * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @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. + */ + protected LanguageTextFieldController(Text controlledText, CdmFormFactory formFactory, + ICdmFormElement parentElement, + LanguageString languageString, Integer height) { + super(controlledText, formFactory, parentElement, null, height); + + setLanguageString(languageString); + } + + /** + *

Getter for the field languageString.

+ * + * @return a {@link eu.etaxonomy.cdm.model.common.LanguageString} object. + */ + public LanguageString getLanguageString() { + return languageString; + } + + /** {@inheritDoc} */ + @Override + public void modifyText(ModifyEvent e) { + if(languageString == null){ + languageString = LanguageString.NewInstance("", CdmStore.getDefaultLanguage()); + } + + languageString.setText(text.getText()); + super.modifyText(e); + } + + /** {@inheritDoc} */ + @Override + public void setText(String text) { + if(text != null && languageString!=null){ + languageString.setText(text); + super.setText(text); + } + } + + /** + *

Setter for the field languageString.

+ * + * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object. + */ + public void setLanguageString(LanguageString languageString) { + this.languageString = languageString; + super.setText(languageString != null ? languageString.getText() : ""); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NamedAreaFieldController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NamedAreaFieldController.java new file mode 100644 index 000000000..f78e941ac --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NamedAreaFieldController.java @@ -0,0 +1,94 @@ +// $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.campanula.basicFields; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionListener; + +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; +import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; + +/** + * @author pplitzner + * @date 15.08.2013 + * + */ +public class NamedAreaFieldController extends AbstractEntityCollectionElement { + + private EntitySelectionFieldController selection_namedArea; + + /** + *

+ * Constructor for CollectingAreasDetailElement. + *

+ * + * @param formFactory + * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} + * object. + * @param section + * a + * {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} + * object. + * @param entity + * a {@link eu.etaxonomy.cdm.model.location.NamedArea} object. + * @param removeListener + * a {@link org.eclipse.swt.events.SelectionListener} object. + * @param style + * a int. + */ + public NamedAreaFieldController(CdmFormFactory formFactory, AbstractFormSection section, NamedArea entity, SelectionListener removeListener, int style) { + super(formFactory, section, entity, removeListener, null, style); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity + * (java.lang.Object) + */ + /** {@inheritDoc} */ + @Override + public void setEntity(NamedArea entity) { + selection_namedArea.setEntity(entity); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls + * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int) + */ + /** {@inheritDoc} */ + @Override + public void createControls(ICdmFormElement formElement, int style) { + selection_namedArea = new EntitySelectionFieldController(new EntitySelectionField(formElement.getLayoutComposite(), SWT.NONE), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, null, EntitySelectionElement.NOTHING); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent + * (java.lang.Object) + */ + /** {@inheritDoc} */ + @Override + public void handleEvent(Object eventSource) { + if (eventSource == selection_namedArea) { + setEntity(selection_namedArea.getSelection()); + } + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NumberFieldController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NumberFieldController.java new file mode 100644 index 000000000..34d7415aa --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NumberFieldController.java @@ -0,0 +1,171 @@ +// $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.campanula.basicFields; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Text; + +import eu.etaxonomy.cdm.common.CdmUtils; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent; + +/** + * @author pplitzner + * @date 12.08.2013 + * + */ +public class NumberFieldController extends TextFieldController { + private Float start; + private Float end; + + private NumberFormatException exception; + + /** + *

Constructor for NumberWithLabelElement.

+ * + * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. + * @param labelString a {@link java.lang.String} object. + * @param initialNumber a {@link java.lang.Integer} object. + * @param style a int. + */ + public NumberFieldController(Text controlledText, CdmFormFactory formFactory, ICdmFormElement parentElement, Number initialNumber){ + super(controlledText, formFactory, parentElement, null, null); + //WindowBuilder exception handling + if(initialNumber==null){ + initialNumber = 0; + } + setNumber(initialNumber); + } + + /** + *

setInteger

+ * + * @param number a {@link java.lang.Integer} object. + */ + public void setInteger(Integer number) { + super.setText(getStringRepresentation(number)); + } + + /** + *

setNumber

+ * + * @param number a {@link java.lang.Number} object. + */ + public void setNumber(Number number) { + super.setText(getStringRepresentation(number)); + } + + /** + *

getInteger

+ * + * @return a {@link java.lang.Integer} object. + */ + public Integer getInteger() { + String text = super.getText().trim(); + return text.equals("") ? 0 : new Integer(text); + } + + /** + *

getFloat

+ * + * @return a {@link java.lang.Float} object. + */ + public Float getFloat(){ + String text = super.getText(); + return new Float(text); + } + + /** + *

getDouble

+ * + * @return a {@link java.lang.Float} object. + */ + public Double getDouble(){ + String text = super.getText(); + return new Double(text); + } + + 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) + */ + /** {@inheritDoc} */ + @Override + public void modifyText(ModifyEvent event) { + String value = text.getText(); + if(CdmUtils.isEmpty(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); + } + + /** + *

setLimits

+ * + * @param numberOfDigits a int. + * @param start a {@link java.lang.Integer} object. + * @param end a {@link java.lang.Integer} object. + */ + public void setLimits(int numberOfDigits, Integer start, Integer end){ + setLimits(numberOfDigits, start.floatValue(), end.floatValue()); + } + + /** + *

setLimits

+ * + * @param numberOfDigits a int. + * @param start a {@link java.lang.Float} object. + * @param end a {@link java.lang.Float} object. + */ + public void setLimits(int numberOfDigits, Float start, Float end){ + text.setTextLimit(numberOfDigits); + this.start = start; + this.end = end; + } + + /** + *

Getter for the field exception.

+ * + * @return the exception + */ + public NumberFormatException getException() { + return exception; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointField.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointField.java new file mode 100644 index 000000000..9e12ff6a8 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointField.java @@ -0,0 +1,112 @@ +// $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.campanula.basicFields; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; + +/** + * @author pplitzner + * @date 15.08.2013 + * + */ +public class PointField extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private Text text_latitude; + private Text text_latitudeParsed; + private Text text_longitude; + private Text text_longitudeParsed; + private Text number_errorRadius; + private Combo combo_referenceSystem; + + /** + * Create the composite. + * @param parent + * @param style + */ + public PointField(Composite parent, int style) { + super(parent, style); + { + setLayout(new TableWrapLayout()); + } + + text_latitude = formToolkit.createText(this, "New Text", SWT.NONE); + text_latitude.setText(""); + text_latitude.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + text_latitudeParsed = formToolkit.createText(this, "New Text", SWT.NONE); + text_latitudeParsed.setEnabled(false); + text_latitudeParsed.setText(""); + text_latitudeParsed.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + text_longitude = formToolkit.createText(this, "New Text", SWT.NONE); + text_longitude.setText(""); + text_longitude.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + text_longitudeParsed = formToolkit.createText(this, "New Text", SWT.NONE); + text_longitudeParsed.setEnabled(false); + text_longitudeParsed.setText(""); + text_longitudeParsed.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + number_errorRadius = formToolkit.createText(this, "New Text", SWT.NONE); + number_errorRadius.setText(""); + number_errorRadius.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + combo_referenceSystem = new Combo(this, SWT.READ_ONLY); + combo_referenceSystem.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(combo_referenceSystem); + formToolkit.paintBordersFor(combo_referenceSystem); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + public Text getText_latitude() { + return text_latitude; + } + public Text getText_latitudeParsed() { + return text_latitudeParsed; + } + public Text getText_longitude() { + return text_longitude; + } + public Text getText_longitudeParsed() { + return text_longitudeParsed; + } + public Text getNumber_errorRadius() { + return number_errorRadius; + } + public Combo getCombo_referenceSystem() { + return combo_referenceSystem; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.widgets.Control#setEnabled(boolean) + */ + @Override + public void setEnabled(boolean enabled) { + super.setEnabled(enabled); + text_latitude.setEnabled(enabled); + text_latitudeParsed.setEnabled(enabled); + text_longitude.setEnabled(enabled); + text_longitudeParsed.setEnabled(enabled); + number_errorRadius.setEnabled(enabled); + combo_referenceSystem.setEnabled(enabled); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointFieldController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointFieldController.java new file mode 100644 index 000000000..3788716c7 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointFieldController.java @@ -0,0 +1,187 @@ +// $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.campanula.basicFields; + +import java.text.ParseException; + +import org.eclipse.jface.util.PropertyChangeEvent; + +import eu.etaxonomy.cdm.model.location.Point; +import eu.etaxonomy.cdm.model.location.ReferenceSystem; +import eu.etaxonomy.taxeditor.preference.Resources; +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.IEntityElement; + +/** + * @author pplitzner + * @date 15.08.2013 + * + */ +public class PointFieldController extends AbstractCdmFormElement implements IEntityElement { + + private Point point; + + private final TextFieldController text_latitude; + private final TextFieldController text_longitude; + private final NumberFieldController number_errorRadius; + private final ComboDefinedTermController combo_referenceSystem; + + private final TextFieldController text_latitudeParsed; + + private final TextFieldController text_longitudeParsed; + + /** + *

+ * Constructor for PointElement. + *

+ * + * @param formFactory + * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} + * object. + * @param formElement + * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} + * object. + * @param point + * a {@link eu.etaxonomy.cdm.model.location.Point} object. + * @param style + * a int. + */ + public PointFieldController(PointField pointField, CdmFormFactory formFactory, ICdmFormElement formElement, Point point, final int style) { + super(formFactory, formElement); + + setPropertyChangeListeners(formFactory.getPropertyChangeListeners()); + formFactory.addPropertyChangeListener(this); + + text_latitude = new TextFieldController(pointField.getText_latitude(), getFormFactory(), formElement, null, style); + text_latitudeParsed = new TextFieldController(pointField.getText_latitudeParsed(), getFormFactory(), formElement, null, style); + text_longitude = new TextFieldController(pointField.getText_longitude(), getFormFactory(), formElement, null, style); + text_longitudeParsed = new TextFieldController(pointField.getText_longitudeParsed(), getFormFactory(), formElement, null, style); + number_errorRadius = new NumberFieldController(pointField.getNumber_errorRadius(), getFormFactory(), formElement, (Integer)null); + combo_referenceSystem = new ComboDefinedTermController(pointField.getCombo_referenceSystem(), getFormFactory(), formElement, ReferenceSystem.class, null, style); + + setPoint(point); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#propertyChange(org + * .eclipse.jface.util.PropertyChangeEvent) + */ + /** {@inheritDoc} */ + @Override + public void propertyChange(PropertyChangeEvent event) { + if (event == null) { + return; + } + + boolean propagate = false; + + Object eventSource = event.getSource(); + if (eventSource == text_latitude) { + try { + getPoint().setLatitudeByParsing(text_latitude.getText()); + text_latitudeParsed.setText(point.getLatitudeSexagesimal().toString(false)); + text_latitude.setBackground(getColor(Resources.COLOR_COMPOSITE_BACKGROUND)); + propagate = true; + } catch (ParseException e) { + text_latitude.setBackground(getColor(Resources.COLOR_PARSE_ERROR)); + } + } else if (eventSource == text_longitude) { + try { + getPoint().setLongitudeByParsing(text_longitude.getText()); + text_longitudeParsed.setText(point.getLongitudeSexagesimal().toString(false)); + text_longitude.setBackground(getColor(Resources.COLOR_COMPOSITE_BACKGROUND)); + propagate = true; + } catch (ParseException e) { + text_longitude.setBackground(getColor(Resources.COLOR_PARSE_ERROR)); + } + } else if (eventSource == number_errorRadius) { + getPoint().setErrorRadius(number_errorRadius.getInteger()); + propagate = true; + } else if (eventSource == combo_referenceSystem) { + getPoint().setReferenceSystem(combo_referenceSystem.getSelection()); + propagate = true; + } + + if (propagate) { + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event)); + } + } + + /* + * (non-Javadoc) + * + * @see eu.etaxonomy.taxeditor.forms.IEntityElement#getEntity() + */ + /** {@inheritDoc} */ + @Override + public Point getEntity() { + return getPoint(); + } + + /** + *

+ * setEntity + *

+ * + * @param point + * a {@link eu.etaxonomy.cdm.model.location.Point} object. + */ + public void setEntity(Point point) { + setPoint(point); + } + + /** + *

+ * Setter for the field point. + *

+ * + * @param point + * the point to set + */ + public void setPoint(Point point) { + this.point = point; + if (point != null) { + String latitude = point.getLatitudeSexagesimal() == null ? "" : point.getLatitudeSexagesimal().toString(false); + String longitude = point.getLongitudeSexagesimal() == null ? "" : point.getLongitudeSexagesimal().toString(false); + text_latitude.setText(latitude); + text_latitudeParsed.setText(latitude); + text_longitude.setText(longitude); + text_longitudeParsed.setText(longitude); + number_errorRadius.setInteger(point.getErrorRadius()); + combo_referenceSystem.setSelection(point.getReferenceSystem()); + } + } + + /** + *

+ * Getter for the field point. + *

+ * + * @return the point + */ + public Point getPoint() { + if (point == null) { + point = Point.NewInstance(); + } + + return point; + } + + @Override + public void setSelected(boolean selected) { + setBackground(selected ? SELECTED : getPersistentBackground()); + } +} \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/TextFieldController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/TextFieldController.java new file mode 100644 index 000000000..a306b0e4d --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/TextFieldController.java @@ -0,0 +1,210 @@ +// $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.campanula.basicFields; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.Text; +import org.eclipse.wb.swt.SWTResourceManager; + +import eu.etaxonomy.cdm.common.CdmUtils; +import eu.etaxonomy.taxeditor.preference.Resources; +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.IEnableableFormElement; +import eu.etaxonomy.taxeditor.ui.element.ISelectable; + +/** + * @author pplitzner + * @date 09.08.2013 + * + */ +public class TextFieldController extends AbstractCdmFormElement implements ModifyListener, IEnableableFormElement, ISelectable{ + + protected Text text; + + /** Constant MAX_HEIGHT=0 */ + public static final int MAX_HEIGHT = 0; + /** Constant SINGLE=-1 */ + public static final int SINGLE = -1; + + /** + * Create the composite. + * @param parent + * @param style + * @param initialText + * @param textHeight + */ + public TextFieldController(Text controlledText, CdmFormFactory formFactory, ICdmFormElement parentFormElement, String initialText, Integer textHeight) { + super(formFactory, parentFormElement); + setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); + + //vvvvvvvvvvvvv + + setPropertyChangeListeners(formFactory.getPropertyChangeListeners()); + formFactory.addPropertyChangeListener(this); + + initialText = initialText==null?"":initialText; +// +// int scrollStyle = textHeight == null ? SWT.NULL : (SWT.V_SCROLL | SWT.MULTI); +// +// int combinedStyle = style | SWT.BORDER | scrollStyle; +// +// // SWT.PASSWORD does not work when SWT.WRAP is set. +// if (style != SWT.PASSWORD) { +// combinedStyle = combinedStyle | SWT.WRAP; +// } + //^^^^^^^^^^^^^^ + + this.text = controlledText; +// TableWrapData twd_text_1 = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP); +// twd_text_1.grabHorizontal = true; + setText(initialText); +// text.setLayoutData(twd_text_1); + + + //vvvvvvvvvvvvvvvvvv + if (textHeight == null) { + text.addKeyListener(new KeyAdapter() { + @Override + public void keyPressed(KeyEvent e) { + if (e.character == SWT.CR) { + // Don't accept carriage returns as input when in single + // line mode + e.doit = false; + } else if (e.character == SWT.TAB) { + // traverse is not working for wrapped text widgets so + // we reintroduce it here + e.doit = false; + TextFieldController.this.text.traverse(SWT.TRAVERSE_TAB_NEXT); + } + } + }); + } + +// if (textHeight != null && textHeight > 0) { +// TableWrapData layoutData = LayoutConstants.FILL(); +// (layoutData).heightHint = textHeight; +// text.setLayoutData(layoutData); +// } + + text.addModifyListener(this); + + addControl(text); + + } + + /** + * Get the text of this composites text composite + * + * @return a {@link java.lang.String} object. + */ + public String getText() { + return text.getText(); + } + + /** + * Set the text of this composites text composite + * + * @param string + * a {@link java.lang.String} object. + */ + public void setText(String string) { + Listener[] listeners = text.getListeners(SWT.Modify); + + for (Listener listener : listeners) { + text.removeListener(SWT.Modify, listener); + } + + text.setText(CdmUtils.Nz(string)); + + for (Listener listener : listeners) { + text.addListener(SWT.Modify, listener); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events + * .ModifyEvent) + */ + /** {@inheritDoc} */ + @Override + public void modifyText(ModifyEvent e) { + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e)); + } + + /** {@inheritDoc} */ + @Override + public void setEnabled(boolean enabled) { + text.setEnabled(enabled); + String symbolicName = enabled ? Resources.COLOR_FONT_DEFAULT : Resources.COLOR_TEXT_DISABLED; + text.setForeground(getColor(symbolicName)); + } + + /** {@inheritDoc} */ + @Override + public void setIrrelevant(boolean irrelevant) { + String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT : Resources.COLOR_COMPOSITE_BACKGROUND; + + Color color = getColor(colorId); + text.setBackground(color); + } + + @Override + public void setSelected(boolean selected) { + setBackground(selected ? SELECTED : getPersistentBackground()); + } + + /* + * (non-Javadoc) + * + * @see eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#setFocus() + */ + /** {@inheritDoc} + * @return */ + @Override + public void setFocus() { + text.setFocus(); + } + + /** + *

+ * getMainControl + *

+ * + * @return a {@link org.eclipse.swt.widgets.Control} object. + */ + public Control getMainControl() { + return text; + } + + /** + *

+ * setTextLimit + *

+ * + * @param limit + * a int. + */ + public void setTextLimit(int limit) { + text.setTextLimit(limit); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextField.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextField.java new file mode 100644 index 000000000..55ed58a11 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextField.java @@ -0,0 +1,72 @@ +// $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.campanula.basicFields; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; + +/** + * @author pplitzner + * @date 14.08.2013 + * + */ +public class ToggleableTextField extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private Text text; + private Button editButton; + + /** + * Create the composite. + * @param parent + * @param style + */ + public ToggleableTextField(Composite parent, int style) { + super(parent, style); + setBackgroundMode(SWT.INHERIT_DEFAULT); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.numColumns = 2; + tableWrapLayout.verticalSpacing = 0; + tableWrapLayout.topMargin = 0; + tableWrapLayout.rightMargin = 0; + tableWrapLayout.leftMargin = 0; + tableWrapLayout.horizontalSpacing = 0; + tableWrapLayout.bottomMargin = 0; + setLayout(tableWrapLayout); + } + + text = formToolkit.createText(this, "New Text", SWT.WRAP); + text.setText(""); + TableWrapData twd_text = new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1); + twd_text.grabVertical = true; + text.setLayoutData(twd_text); + + editButton = formToolkit.createButton(this, "Edit", SWT.TOGGLE); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + public Text getText() { + return text; + } + public Button getEditButton() { + return editButton; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextFieldController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextFieldController.java new file mode 100644 index 000000000..1307f0496 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextFieldController.java @@ -0,0 +1,218 @@ +// $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.campanula.basicFields; + +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.Text; + +import eu.etaxonomy.cdm.common.CdmUtils; +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.IEnableableFormElement; +import eu.etaxonomy.taxeditor.ui.element.ISelectable; +import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; + +/** + * @author pplitzner + * @date 14.08.2013 + * + */ +public class ToggleableTextFieldController extends AbstractCdmFormElement implements SelectionListener, ModifyListener, IEnableableFormElement, ISelectable { + + private ToggleableTextField toggleableTextField; + + private boolean state; + private Set selectionListener = new HashSet(); + //TODO also connect label +// private Label label; + + /** + *

Constructor for ToggleableTextElement.

+ * + * @param style a int. + * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @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. + */ + public ToggleableTextFieldController(ToggleableTextField toggleableTextField, CdmFormFactory formFactory, ICdmFormElement parentElement, + String initialText, boolean initialState, int style) { + super(formFactory, parentElement); + setPropertyChangeListeners(formFactory.getPropertyChangeListeners()); + formFactory.addPropertyChangeListener(this); + + this.toggleableTextField = toggleableTextField; + +// label = formFactory.createLabel(getLayoutComposite(), labelString, style); +// addControl(label); + + Text text = toggleableTextField.getText(); + addControl(text); + text.addModifyListener(this); + text.setLayoutData(LayoutConstants.FILL()); + + // Don't accept carriage returns as input + text.addKeyListener( new KeyAdapter(){ + @Override + public void keyPressed(KeyEvent e) { + if(e.character == SWT.CR) { + e.doit = false; + } + } + }); + + Button editButton = toggleableTextField.getEditButton(); + addControl(editButton); + editButton.addSelectionListener(this); + + setState(initialState); + } + + /** + *

setText

+ * + * @param text a {@link java.lang.String} object. + */ + public void setText(String text){ + if(text != null){ + // store current caret position + Text textField = toggleableTextField.getText(); + int caretPosition = textField.getCaretPosition(); + + Listener[] listeners = textField.getListeners(SWT.Modify); + for (Listener listener : listeners) { + textField.removeListener(SWT.Modify, listener); + } + textField.setText(CdmUtils.Nz(text)); + for (Listener listener : listeners) { + textField.addListener(SWT.Modify, listener); + } + + // restore caret position + textField.setSelection(caretPosition); + } + } + + /** + *

getText

+ * + * @return a {@link java.lang.String} object. + */ + public String getText(){ + return toggleableTextField.getText().getText(); + } + + /** + *

Setter for the field state.

+ * + * @param state a boolean. + */ + public void setState(boolean state) { + this.state = state; + setEnabled(state); + } + + /** {@inheritDoc} */ + @Override + public void setEnabled(boolean enabled) { + toggleableTextField.getText().setEnabled(enabled); + String symbolicName = enabled ? Resources.COLOR_FONT_DEFAULT : Resources.COLOR_TEXT_DISABLED; + toggleableTextField.getText().setForeground(StoreUtil.getColor(symbolicName)); + toggleableTextField.getEditButton().setSelection(enabled); + } + + /** + *

Getter for the field state.

+ * + * @return a boolean. + */ + public boolean getState(){ + return state; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) + */ + /** {@inheritDoc} */ + @Override + public void widgetSelected(SelectionEvent e) { + setState(toggleableTextField.getEditButton().getSelection()); + for(SelectionListener listener : selectionListener){ + listener.widgetSelected(e); + } + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e)); + } + + /** + *

addSelectionListener

+ * + * @param listener a {@link org.eclipse.swt.events.SelectionListener} object. + */ + public void addSelectionListener(SelectionListener listener){ + selectionListener.add(listener); + } + + /** + *

removeSelectionListener

+ * + * @param listener a {@link org.eclipse.swt.events.SelectionListener} object. + */ + public void removeSelectionListener(SelectionListener listener){ + selectionListener.remove(listener); + } + + /** {@inheritDoc} */ + @Override + public void widgetDefaultSelected(SelectionEvent e) {} + + /** {@inheritDoc} */ + @Override + public void modifyText(ModifyEvent e) { + firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e)); + } + + /** {@inheritDoc} */ + @Override + public void setIrrelevant(boolean irrelevant) { + String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT : Resources.COLOR_COMPOSITE_BACKGROUND; + + Color color = getColor(colorId); + toggleableTextField.getText().setBackground(color); + } + + /** {@inheritDoc} */ + @Override + public void setBackground(Color color) { +// label.setBackground(color); + toggleableTextField.setBackground(color); + } + + @Override + public void setSelected(boolean selected) { + setBackground(selected ? SELECTED : getPersistentBackground()); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ICdmFormElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/ICdmFormElement.java similarity index 86% rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ICdmFormElement.java rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/ICdmFormElement.java index a85aecfe7..504a677b5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ICdmFormElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/ICdmFormElement.java @@ -1,4 +1,4 @@ -package eu.etaxonomy.taxeditor.ui.element; +package eu.etaxonomy.taxeditor.ui.campanula.compatibility; import java.util.List; @@ -9,6 +9,9 @@ import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.IPropertyChangeEmitter; + /** *

ICdmFormElement interface.

* @@ -31,47 +34,47 @@ public interface ICdmFormElement extends IPropertyChangeEmitter, IPropertyChange */ public abstract void setPropertyChangeListeners( List propertyChangeListeners); - + /** *

getControls

* * @return a {@link java.util.Set} object. */ public abstract Set getControls(); - + /** *

getElements

* * @return a {@link java.util.Set} object. */ public abstract Set getElements(); - + /** *

addElement

* * @param element a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. */ public abstract void addElement(ICdmFormElement element); - + /** *

getParentElement

* * @return a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. */ public abstract ICdmFormElement getParentElement(); - + /** *

removeElements

*/ public abstract void removeElements(); - + /** *

getLayoutComposite

* * @return a {@link org.eclipse.swt.widgets.Composite} object. */ public abstract Composite getLayoutComposite(); - + /** *

containsFormElement

* @@ -79,29 +82,29 @@ public interface ICdmFormElement extends IPropertyChangeEmitter, IPropertyChange * @return a boolean. */ public boolean containsFormElement(ICdmFormElement formElement); - + /** *

setBackground

* * @param color a {@link org.eclipse.swt.graphics.Color} object. */ public void setBackground(Color color); - + /** * Sets a background color for this element and stores this background color * for future reference - * + * * @param color */ public void setPersistentBackground(Color color); - + /** * Get the background color that is associated with this element. - * + * * @return */ public Color getPersistentBackground(); - + /** * Refreshes the layout of this form element. * @@ -109,4 +112,11 @@ public interface ICdmFormElement extends IPropertyChangeEmitter, IPropertyChange * changes and the current element needs to display that changes */ public void refresh(); + + /** + *

Getter for the field formFactory.

+ * + * @return a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + */ + public CdmFormFactory getFormFactory(); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/IEntitySelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/IEntitySelectionElement.java new file mode 100644 index 000000000..2acc168d6 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/IEntitySelectionElement.java @@ -0,0 +1,42 @@ +// $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.campanula.compatibility; + +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.widgets.Shell; + +import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.model.common.ICdmBase; +import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement; +import eu.etaxonomy.taxeditor.ui.element.IEntityElement; +import eu.etaxonomy.taxeditor.ui.element.ILabeledElement; +import eu.etaxonomy.taxeditor.ui.element.ISelectableElement; + +/** + * @author pplitzner + * @date 15.08.2013 + * + */ +public interface IEntitySelectionElement extends SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement, ILabeledElement, IConversationEnabled { + /** + * Convenient access to current shell + * + * @return a {@link org.eclipse.swt.widgets.Shell} object. + */ + public abstract Shell getShell(); + + /** + *

+ * updateFromWizard + *

+ */ + public abstract void updateFromWizard(); + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateLabelProvider.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateLabelProvider.java new file mode 100644 index 000000000..57848cc1c --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateLabelProvider.java @@ -0,0 +1,80 @@ +// $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.campanula.derivatesearch; + +import org.eclipse.jface.viewers.ColumnLabelProvider; +import org.eclipse.swt.graphics.Image; + +import eu.etaxonomy.cdm.model.molecular.DnaSample; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; +import eu.etaxonomy.taxeditor.model.ImageResources; + +/** + * Label provider for the views to show {@link SpecimenOrObservationBase}s. + */ +public class DerivateLabelProvider extends ColumnLabelProvider { + + /** {@inheritDoc} */ + @Override + public String getText(Object element) { + return getDerivateText(element); + } + + /** {@inheritDoc} */ + @Override + public String getToolTipText(Object element) { + return getDerivateText(element); + } + + private String getDerivateText(Object element){ + if(element instanceof SpecimenOrObservationBase){ + SpecimenOrObservationBase derivate = (SpecimenOrObservationBase) element; + SpecimenOrObservationType type = derivate.getRecordBasis(); + return derivate.getTitleCache() + (type!=null?" ["+type.toString()+"]":""); + } + return element.toString(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object) + */ + @Override + public Image getImage(Object element) { + if(element instanceof FieldUnit){ + return ImageResources.getImage(ImageResources.FIELD_UNIT); + } + else if(element instanceof DnaSample){ + return ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE); + } + else if(element instanceof DerivedUnit){ + DerivedUnit derivedUnit = (DerivedUnit)element; + if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.FieldUnit){ + return ImageResources.getImage(ImageResources.FIELD_UNIT); + } + else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.DnaSample){ + return ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE); + } + else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){ + return ImageResources.getImage(ImageResources.TISSUE_SAMPLE_DERIVATE); + } + else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){ + return ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE); + } + else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.StillImage){ + return ImageResources.getImage(ImageResources.ARTWORK_DERIVATE); + } + } + return super.getImage(element); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchComposite.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchComposite.java new file mode 100644 index 000000000..090a1d089 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchComposite.java @@ -0,0 +1,79 @@ +// $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.campanula.derivatesearch; + +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * The widgets of the {@link DerivateSearchView}
+ * + */ +public class DerivateSearchComposite extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private final Text searchField; + private final Table table; + private final TableViewer resultViewer; + private final Combo comboDerivateType; + + /** + * Create the composite. + * @param parent + * @param style + */ + public DerivateSearchComposite(Composite parent, int style) { + super(parent, style); + setLayout(new GridLayout(2, false)); + + Label lblDerivateType = new Label(this, SWT.NULL); + lblDerivateType.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); + lblDerivateType.setText("Derivate Filter"); + + comboDerivateType = new Combo(this, SWT.NONE); + comboDerivateType.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); + formToolkit.paintBordersFor(comboDerivateType); + + Label lblNameFilter = new Label(this, SWT.NULL); + lblNameFilter.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); + lblNameFilter.setText("Name Filter"); + + searchField = formToolkit.createText(this, "New Text", SWT.NONE); + searchField.setText(""); + searchField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); + + resultViewer = new TableViewer(this, SWT.BORDER | SWT.FULL_SELECTION); + table = resultViewer.getTable(); + table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + public Text getSearchField() { + return searchField; + } + public TableViewer getResultViewer() { + return resultViewer; + } + public Combo getComboDerivateType() { + return comboDerivateType; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchCompositeController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchCompositeController.java new file mode 100644 index 000000000..03c09b4f4 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchCompositeController.java @@ -0,0 +1,129 @@ +// $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.campanula.derivatesearch; + +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.NotEnabledException; +import org.eclipse.core.commands.NotHandledException; +import org.eclipse.core.commands.common.NotDefinedException; +import org.eclipse.jface.viewers.ArrayContentProvider; +import org.eclipse.jface.viewers.DoubleClickEvent; +import org.eclipse.jface.viewers.IDoubleClickListener; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.handlers.IHandlerService; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy; +import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; +import eu.etaxonomy.cdm.api.service.config.IdentifiableServiceConfiguratorImpl; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; +import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * Controller class for the {@link DerivateSearchComposite}.
+ * This controller contains the logic to search the data base for {@link SpecimenOrObservationBase}s + * and handles GUI events. + * + */ +public class DerivateSearchCompositeController { + + private final DerivateSearchComposite derivateSearchComposite; + private IIdentifiableEntityServiceConfigurator> configurator; + + /** + * @param parent + */ + public DerivateSearchCompositeController(Composite parent) { + this.derivateSearchComposite = new DerivateSearchComposite(parent, SWT.NONE); + init(); + } + + private void init(){ + LinkedHashMap orderedTerms = AbstractUtility.orderTerms(Arrays.asList(SpecimenOrObservationType.values())); + String[] comboItems = new String[orderedTerms.size()]; + int count = 0; + for(String termMessage:orderedTerms.values()){ + comboItems[count] = termMessage; + count++; + } + + derivateSearchComposite.getComboDerivateType().setItems(comboItems); + + derivateSearchComposite.getSearchField().addKeyListener(new KeyAdapter() { + /* + * (non-Javadoc) + * @see org.eclipse.swt.events.KeyAdapter#keyPressed(org.eclipse.swt.events.KeyEvent) + */ + @Override + public void keyPressed(KeyEvent e) { + if (e.keyCode == SWT.CR) { + String searchString = derivateSearchComposite.getSearchField().getText(); + searchDerivates(searchString); + } + } + }); + + TableViewer resultViewer = derivateSearchComposite.getResultViewer(); + resultViewer.setContentProvider(new ArrayContentProvider()); + resultViewer.setLabelProvider(new DerivateLabelProvider()); + resultViewer.addDoubleClickListener(new IDoubleClickListener() { + @Override + public void doubleClick(DoubleClickEvent event) { + String commandId = "eu.etaxonomy.taxeditor.editor.handler.openDerivateView"; + + IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class); + try { + handlerService.executeCommand(commandId, null); + } catch (ExecutionException e) { + AbstractUtility.error(DerivateSearchCompositeController.class, e); + } catch (NotDefinedException e) { + AbstractUtility.error(DerivateSearchCompositeController.class, e); + } catch (NotEnabledException e) { + AbstractUtility.error(DerivateSearchCompositeController.class, e); + } catch (NotHandledException e) { + AbstractUtility.error(DerivateSearchCompositeController.class, e); + } + + } + }); + configurator = new IdentifiableServiceConfiguratorImpl>(); + + } + + private void searchDerivates(String searchString){ + configurator.setTitleSearchString(searchString); + List results = CdmStore.getSearchManager().findOccurrences(configurator, true); + derivateSearchComposite.getResultViewer().setInput(results); + } + + + /** + * @return the derivateSearchComposite + */ + public DerivateSearchComposite getDerivateSearchComposite() { + return derivateSearchComposite; + } + + private void setEnable(boolean enabled){ + derivateSearchComposite.setEnabled(enabled); + derivateSearchComposite.getResultViewer().getTable().setEnabled(enabled); + derivateSearchComposite.getSearchField().setEnabled(enabled); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchView.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchView.java new file mode 100644 index 000000000..0f637afa7 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchView.java @@ -0,0 +1,45 @@ +// $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.campanula.derivatesearch; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.part.ViewPart; + +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; + +/** + * This view allows to search for and filter {@link SpecimenOrObservationBase}s and display + * the results in a list. The results can be selected and opened in an editor. + */ +public class DerivateSearchView extends ViewPart { + + public static final String ID = "eu.etaxonomy.taxeditor.ui.campanula.derivatesearch.DerivateSearchView"; + private DerivateSearchCompositeController derivateSearchCompositeController; + + public DerivateSearchView() { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) + */ + @Override + public void createPartControl(Composite parent) { + derivateSearchCompositeController = new DerivateSearchCompositeController(parent); + getSite().setSelectionProvider(derivateSearchCompositeController.getDerivateSearchComposite().getResultViewer()); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#setFocus() + */ + @Override + public void setFocus() { + derivateSearchCompositeController.getDerivateSearchComposite().getResultViewer().getControl().setFocus(); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElement.java new file mode 100644 index 000000000..4fe05d364 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElement.java @@ -0,0 +1,97 @@ +// $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.campanula.detailViews.fieldObservation; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; +import org.eclipse.wb.swt.SWTResourceManager; + +/** + * @author pplitzner + * @date 15.08.2013 + * + */ +public class FieldObservationDetailsElement extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private Text text_ecology; + private Text text_plantDescription; + private Text text_FieldNotes; + private Text text_IndividualCount; + + /** + * Create the composite. + * @param parent + * @param style + */ + public FieldObservationDetailsElement(Composite parent, int style) { + super(parent, style); + setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.numColumns = 2; + tableWrapLayout.verticalSpacing = 0; + tableWrapLayout.topMargin = 0; + tableWrapLayout.rightMargin = 0; + tableWrapLayout.leftMargin = 0; + tableWrapLayout.horizontalSpacing = 0; + tableWrapLayout.bottomMargin = 0; + setLayout(tableWrapLayout); + } + + Label lblEcology = formToolkit.createLabel(this, "Ecology", SWT.NONE); + + text_ecology = formToolkit.createText(this, "New Text", SWT.NONE); + text_ecology.setText(""); + text_ecology.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblPlantDescription = formToolkit.createLabel(this, "Plant Description", SWT.NONE); + + text_plantDescription = formToolkit.createText(this, "New Text", SWT.NONE); + text_plantDescription.setText(""); + text_plantDescription.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblFieldNotes = formToolkit.createLabel(this, "Field Notes", SWT.NONE); + + text_FieldNotes = formToolkit.createText(this, "New Text", SWT.NONE); + text_FieldNotes.setText(""); + text_FieldNotes.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblIndividualCount = formToolkit.createLabel(this, "Individual Count", SWT.NONE); + + text_IndividualCount = formToolkit.createText(this, "New Text", SWT.NONE); + text_IndividualCount.setText(""); + text_IndividualCount.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + public Text getText_ecology() { + return text_ecology; + } + public Text getText_plantDescription() { + return text_plantDescription; + } + public Text getText_FieldNotes() { + return text_FieldNotes; + } + public Text getText_IndividualCount() { + return text_IndividualCount; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java new file mode 100644 index 000000000..151e7bb9f --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java @@ -0,0 +1,83 @@ +// $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.campanula.detailViews.fieldObservation; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 15.08.2013 + * + */ +public class FieldObservationDetailsElementController extends AbstractCdmDetailElement { + + private FieldObservationDetailsElement fieldObservationDetailsElement; + + private TextFieldController text_ecology; + + private TextFieldController text_plantDescription; + + private TextFieldController text_fieldObjectDefinition; + + private TextFieldController text_fieldNotes; + + private NumberFieldController number_individualCount; + + /** + *

+ * Constructor for FieldObservationDetailElement. + *

+ * + * @param formFactory + * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} + * object. + * @param formElement + * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} + * object. + */ + public FieldObservationDetailsElementController(FieldObservationDetailsElement fieldObservationDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) { + super(formFactory, formElement); + this.fieldObservationDetailsElement = fieldObservationDetailsElement; + } + + /** {@inheritDoc} */ + @Override + protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { +// text_ecology = new TextFieldController(fieldObservationDetailsElement.getText_ecology(), getFormFactory(), formElement, entity.getEcology(CdmStore.getDefaultLanguage()), null); +// text_plantDescription = new TextFieldController(fieldObservationDetailsElement.getText_plantDescription(), getFormFactory(), formElement, entity.getPlantDescription(CdmStore.getDefaultLanguage()), style); + // Disable for now + // text_fieldObjectDefinition = formFactory.createTextWithLabelElement(formElement, "Field Object Definition", entity.getFieldObjectDefinition(CdmStore.getDefaultLanguage()), style); + text_fieldNotes = new TextFieldController(fieldObservationDetailsElement.getText_FieldNotes(), getFormFactory(), formElement, entity.getFieldNotes(), style); + + number_individualCount = new NumberFieldController(fieldObservationDetailsElement.getText_IndividualCount(), getFormFactory(), formElement, entity.getIndividualCount()); + } + + /** {@inheritDoc} */ + @Override + public void handleEvent(Object eventSource) { +// if (eventSource == text_ecology) { +// getEntity().setEcology(text_ecology.getText()); +// } else if (eventSource == text_plantDescription) { +// getEntity().setPlantDescription(text_plantDescription.getText()); +// } else if (eventSource == text_fieldObjectDefinition) { +// getEntity().addFieldObjectDefinition(text_fieldObjectDefinition.getText(), CdmStore.getDefaultLanguage()); +// } else + if (eventSource == text_fieldNotes) { + getEntity().setFieldNotes(text_fieldNotes.getText()); + } else if (eventSource == number_individualCount) { + getEntity().setIndividualCount(number_individualCount.getInteger()); + } + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java new file mode 100644 index 000000000..c417edd9a --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java @@ -0,0 +1,57 @@ +// $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.campanula.detailViews.fieldObservation; + +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; +import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; + +/** + * @author pplitzner + * @date 21.08.2013 + * + */ +public class FieldObservationDetailsSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + *

Constructor for FieldObservationDetailSection.

+ * + * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object. + * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. + * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object. + * @param style a int. + */ + public FieldObservationDetailsSection(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"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createFieldObservationDetailsElementController(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsView.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsView.java new file mode 100644 index 000000000..8a46c9e74 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsView.java @@ -0,0 +1,88 @@ +// $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.campanula.detailViews.fieldObservation; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.forms.widgets.ExpandableComposite; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; +import org.eclipse.wb.swt.SWTResourceManager; + +/** + * @author pplitzner + * @date 07.08.2013 + * + */ +public class FieldObservationDetailsView extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + + /** + * Create the composite. + * @param parent + * @param style + */ + public FieldObservationDetailsView(Composite parent, int style) { + super(parent, style); + setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.numColumns = 1; + setLayout(tableWrapLayout); + } + + ExpandableComposite xpndblcmpstNewExpandablecomposite = formToolkit.createExpandableComposite(this, ExpandableComposite.TWISTIE); + TableWrapData twd_xpndblcmpstNewExpandablecomposite = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 1); + twd_xpndblcmpstNewExpandablecomposite.grabHorizontal = true; + xpndblcmpstNewExpandablecomposite.setLayoutData(twd_xpndblcmpstNewExpandablecomposite); + formToolkit.paintBordersFor(xpndblcmpstNewExpandablecomposite); + xpndblcmpstNewExpandablecomposite.setText("FieldObservation"); + xpndblcmpstNewExpandablecomposite.setExpanded(true); + + FieldObservationGeneralElement fieldObservationGeneralElement = new FieldObservationGeneralElement(xpndblcmpstNewExpandablecomposite, SWT.NONE); + formToolkit.adapt(fieldObservationGeneralElement); + formToolkit.paintBordersFor(fieldObservationGeneralElement); + xpndblcmpstNewExpandablecomposite.setClient(fieldObservationGeneralElement); + + ExpandableComposite xpndblcmpstNewExpandablecomposite_1 = formToolkit.createExpandableComposite(this, ExpandableComposite.TWISTIE); + TableWrapData twd_xpndblcmpstNewExpandablecomposite_1 = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 1); + twd_xpndblcmpstNewExpandablecomposite_1.grabHorizontal = true; + xpndblcmpstNewExpandablecomposite_1.setLayoutData(twd_xpndblcmpstNewExpandablecomposite_1); + formToolkit.paintBordersFor(xpndblcmpstNewExpandablecomposite_1); + xpndblcmpstNewExpandablecomposite_1.setText("Gathering Event Details"); + xpndblcmpstNewExpandablecomposite_1.setExpanded(true); + + GatheringEventDetailsElement gatheringEventDetailsElement = new GatheringEventDetailsElement(xpndblcmpstNewExpandablecomposite_1, SWT.NONE); + formToolkit.adapt(gatheringEventDetailsElement); + formToolkit.paintBordersFor(gatheringEventDetailsElement); + xpndblcmpstNewExpandablecomposite_1.setClient(gatheringEventDetailsElement); + + ExpandableComposite xpndblcmpstFieldObservationDetails = formToolkit.createExpandableComposite(this, ExpandableComposite.TWISTIE); + TableWrapData twd_xpndblcmpstFieldObservationDetails = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 1); + twd_xpndblcmpstFieldObservationDetails.grabHorizontal = true; + xpndblcmpstFieldObservationDetails.setLayoutData(twd_xpndblcmpstFieldObservationDetails); + formToolkit.paintBordersFor(xpndblcmpstFieldObservationDetails); + xpndblcmpstFieldObservationDetails.setText("Field Observation Details"); + xpndblcmpstFieldObservationDetails.setExpanded(true); + + FieldObservationDetailsElement fieldObservationDetailsElement = new FieldObservationDetailsElement(xpndblcmpstFieldObservationDetails, SWT.NONE); + formToolkit.adapt(fieldObservationDetailsElement); + formToolkit.paintBordersFor(fieldObservationDetailsElement); + xpndblcmpstFieldObservationDetails.setClient(fieldObservationDetailsElement); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElement.java new file mode 100644 index 000000000..e3de5d0c0 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElement.java @@ -0,0 +1,227 @@ +// $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.campanula.detailViews.fieldObservation; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; + +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionField; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.PointField; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ToggleableTextField; + +/** + * @author pplitzner + * @date 07.08.2013 + * + */ +public class FieldObservationGeneralElement extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private final Text textLocality; + private final Text textElevation; + private final Text textCollectingNumber; + private EntitySelectionField countrySelectionField; + private EntitySelectionField collectorSelectionField; + private ToggleableTextField toggleableTextField; + private PointField pointField; + private Text textAccessionNumber; + private EntitySelectionField collectionSelectionField; + private Label lblCollection; + private Label lblAccesionNumber; + private Label lblCountry; + private Label lblLocality; + private Label lblLatitude; + private Label lblLongitude; + private Label lblErrorRadiusm; + private Label lblReferenceSystem; + private Label lblAbsoluteElevationm; + private Label lblDate; + private Label lblCollector; + private Label lblCollectingNumber; + + /** + * Create the composite. + * + * @param parent + * @param style + */ + public FieldObservationGeneralElement(Composite parent, int style) { + super(parent, SWT.NONE); + setBackgroundMode(SWT.INHERIT_DEFAULT); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.numColumns = 2; + setLayout(tableWrapLayout); + } + + Label lblTitleCache = formToolkit.createLabel(this, "Title Cache", SWT.NONE); + + toggleableTextField = new ToggleableTextField(this, SWT.NONE); + toggleableTextField.setBackgroundMode(SWT.INHERIT_DEFAULT); + TableWrapData twd_toggleableTextField = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 1); + twd_toggleableTextField.grabHorizontal = true; + toggleableTextField.setLayoutData(twd_toggleableTextField); + formToolkit.adapt(toggleableTextField); + formToolkit.paintBordersFor(toggleableTextField); + + lblCountry = new Label(this, SWT.NONE); + formToolkit.adapt(lblCountry, true, true); + lblCountry.setText("Country"); + + countrySelectionField = new EntitySelectionField(this, SWT.NONE); + countrySelectionField.setBackgroundMode(SWT.INHERIT_DEFAULT); + countrySelectionField.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(countrySelectionField); + formToolkit.paintBordersFor(countrySelectionField); + + lblLocality = formToolkit.createLabel(this, "Locality", SWT.NONE); + + textLocality = formToolkit.createText(this, "New Text", SWT.NONE); + textLocality.setText(""); + textLocality.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + lblLatitude = formToolkit.createLabel(this, "Latitude", SWT.NONE); + + pointField = new PointField(this, SWT.NONE); + TableWrapLayout twl_pointField = (TableWrapLayout) pointField.getLayout(); + twl_pointField.verticalSpacing = 0; + twl_pointField.topMargin = 0; + twl_pointField.rightMargin = 0; + twl_pointField.leftMargin = 0; + twl_pointField.horizontalSpacing = 0; + twl_pointField.bottomMargin = 0; + pointField.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 6, 1)); + formToolkit.adapt(pointField); + formToolkit.paintBordersFor(pointField); + new Label(this, SWT.NONE); + + lblLongitude = formToolkit.createLabel(this, "Longitude", SWT.NONE); + new Label(this, SWT.NONE); + + lblErrorRadiusm = formToolkit.createLabel(this, "Error Radius (m)", SWT.NONE); + + lblReferenceSystem = formToolkit.createLabel(this, "Reference System", SWT.NONE); + + lblAbsoluteElevationm = formToolkit.createLabel(this, "Absolute Elevation (m)", SWT.NONE); + + textElevation = formToolkit.createText(this, "New Text", SWT.NONE); + textElevation.setText(""); + textElevation.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + lblDate = formToolkit.createLabel(this, "Date", SWT.NONE); + new Label(this, SWT.NONE); + + lblCollector = formToolkit.createLabel(this, "Collector", SWT.NONE); + + collectorSelectionField = new EntitySelectionField(this, SWT.NONE); + collectorSelectionField.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(collectorSelectionField); + formToolkit.paintBordersFor(collectorSelectionField); + + lblCollectingNumber = formToolkit.createLabel(this, "Collecting Number", SWT.NONE); + + textCollectingNumber = formToolkit.createText(this, "New Text", SWT.NONE); + textCollectingNumber.setText(""); + textCollectingNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + lblCollection = formToolkit.createLabel(this, "Collection", SWT.NONE); + + collectionSelectionField = new EntitySelectionField(this, SWT.NONE); + formToolkit.adapt(collectionSelectionField); + formToolkit.paintBordersFor(collectionSelectionField); + + lblAccesionNumber = formToolkit.createLabel(this, "Accesion Number", SWT.NONE); + + textAccessionNumber = formToolkit.createText(this, "New Text", SWT.NONE); + textAccessionNumber.setText(""); + textAccessionNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + public EntitySelectionField getCountrySelectionField() { + return countrySelectionField; + } + + public EntitySelectionField getCollectorSelectionField() { + return collectorSelectionField; + } + + public Text getTextElevation() { + return textElevation; + } + + public Text getTextLocality() { + return textLocality; + } + + public Text getTextCollectingNumber() { + return textCollectingNumber; + } + + public ToggleableTextField getToggleableTextField() { + return toggleableTextField; + } + + public PointField getPointField() { + return pointField; + } + public EntitySelectionField getCollectionSelectionField() { + return collectionSelectionField; + } + public Text getTextAccessionNumber() { + return textAccessionNumber; + } + public Label getLblCollection() { + return lblCollection; + } + public Label getLblAccesionNumber() { + return lblAccesionNumber; + } + public Label getLblCountry() { + return lblCountry; + } + public Label getLblLocality() { + return lblLocality; + } + public Label getLblLatitude() { + return lblLatitude; + } + public Label getLblLongitude() { + return lblLongitude; + } + public Label getLblErrorRadiusm() { + return lblErrorRadiusm; + } + public Label getLblReferenceSystem() { + return lblReferenceSystem; + } + public Label getLblAbsoluteElevation() { + return lblAbsoluteElevationm; + } + public Label getLblDate() { + return lblDate; + } + public Label getLblCollector() { + return lblCollector; + } + public Label getLblCollectingNumber() { + return lblCollectingNumber; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java new file mode 100644 index 000000000..c5b8d3620 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java @@ -0,0 +1,168 @@ +// $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.campanula.detailViews.fieldObservation; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.cdm.model.agent.AgentBase; +import eu.etaxonomy.cdm.model.common.LanguageString; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.cdm.model.occurrence.Collection; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.LanguageTextFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.PointFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ToggleableTextFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; +import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; + +/** + * @author pplitzner + * @date 13.08.2013 + * + */ +public class FieldObservationGeneralElementController extends AbstractCdmDetailElement { + + private FieldObservationGeneralElement fieldObservationGeneralElement; + + private ToggleableTextFieldController toggleableText_titleCache; + private EntitySelectionFieldController selection_country; + private LanguageTextFieldController languageText_locality; + private PointFieldController element_point; + private NumberFieldController number_elevation; + private TimePeriodElement element_date;//TODO convert + private EntitySelectionFieldController selection_collector; + private TextFieldController text_collectingNumber; + private EntitySelectionFieldController selectionCollection; + private TextFieldController textAccessionNumber; + + boolean isSpecimen; + boolean isWizard; + + /** + * @param formFactory + * @param formElement + */ + public FieldObservationGeneralElementController(FieldObservationGeneralElement fieldObservationGeneralElement, CdmFormFactory formFactory, ICdmFormElement formElement, boolean isSpecimen, boolean isWizard) { + super(formFactory, formElement); + this.fieldObservationGeneralElement = fieldObservationGeneralElement; + this.isSpecimen = isSpecimen; + this.isWizard = isWizard; + setPropertyChangeListeners(formFactory.getPropertyChangeListeners()); + formFactory.addPropertyChangeListener(this); + } + + /* + * (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 = new ToggleableTextFieldController(fieldObservationGeneralElement.getToggleableTextField(), getFormFactory(), formElement, entity.getTitleCache(), entity.isProtectedTitleCache(), style); + + selection_country = new EntitySelectionFieldController(fieldObservationGeneralElement.getCountrySelectionField(), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, entity.getCountry(), EntitySelectionElement.NOTHING); + languageText_locality = new LanguageTextFieldController(fieldObservationGeneralElement.getTextLocality(), getFormFactory(), formElement, entity.getLocality()); + element_point = new PointFieldController(fieldObservationGeneralElement.getPointField(),getFormFactory(), formElement, entity.getExactLocation(), style); + number_elevation = new NumberFieldController(fieldObservationGeneralElement.getTextElevation(), getFormFactory(), formElement, entity.getAbsoluteElevation()); + element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style); + selection_collector = new EntitySelectionFieldController(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getCollector(), EntitySelectionElement.ALL); + text_collectingNumber = new TextFieldController(fieldObservationGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null); + if(isWizard){ + if(!isSpecimen){ + fieldObservationGeneralElement.getLblCollection().setVisible(false); + fieldObservationGeneralElement.getCollectionSelectionField().setVisible(false); + fieldObservationGeneralElement.getLblAccesionNumber().setVisible(false); + fieldObservationGeneralElement.getTextAccessionNumber().setVisible(false); + } + else{ + selectionCollection = new EntitySelectionFieldController(fieldObservationGeneralElement.getCollectionSelectionField(), getFormFactory(), getConversationHolder(), formElement, Collection.class, entity.getCollection(), EntitySelectionElement.ALL); + textAccessionNumber = new TextFieldController(fieldObservationGeneralElement.getTextAccessionNumber(), getFormFactory(), formElement, entity.getAccessionNumber(), null); + } + } + else{ + if(isSpecimen){ + selectionCollection = new EntitySelectionFieldController(fieldObservationGeneralElement.getCollectionSelectionField(), getFormFactory(), getConversationHolder(), formElement, Collection.class, entity.getCollection(), EntitySelectionElement.ALL); + textAccessionNumber = new TextFieldController(fieldObservationGeneralElement.getTextAccessionNumber(), getFormFactory(), formElement, entity.getAccessionNumber(), null); + fieldObservationGeneralElement.getLblCountry().setEnabled(false); + fieldObservationGeneralElement.getCountrySelectionField().setEnabled(false); + fieldObservationGeneralElement.getLblLocality().setEnabled(false); + fieldObservationGeneralElement.getTextLocality().setEnabled(false); + + fieldObservationGeneralElement.getPointField().setEnabled(false); + // fieldObservationGeneralElement.getPointField().getText_latitude().setEnabled(false); + fieldObservationGeneralElement.getLblLatitude().setEnabled(false); + // fieldObservationGeneralElement.getPointField().getText_longitude().setEnabled(false); + fieldObservationGeneralElement.getLblLongitude().setEnabled(false); + // fieldObservationGeneralElement.getPointField().getNumber_errorRadius().setEnabled(false); + fieldObservationGeneralElement.getLblErrorRadiusm().setEnabled(false); + // fieldObservationGeneralElement.getPointField().getCombo_referenceSystem().setEnabled(false); + fieldObservationGeneralElement.getLblReferenceSystem().setEnabled(false); + + fieldObservationGeneralElement.getLblAbsoluteElevation().setEnabled(false); + fieldObservationGeneralElement.getTextElevation().setEnabled(false); + fieldObservationGeneralElement.getLblDate().setEnabled(false); + + fieldObservationGeneralElement.getLblCollector().setEnabled(false); + fieldObservationGeneralElement.getCollectorSelectionField().setEnabled(false); + fieldObservationGeneralElement.getLblCollectingNumber().setEnabled(false); + fieldObservationGeneralElement.getTextCollectingNumber().setEnabled(false); + } + else{ + fieldObservationGeneralElement.getLblCollection().setVisible(false); + fieldObservationGeneralElement.getCollectionSelectionField().setVisible(false); + fieldObservationGeneralElement.getLblAccesionNumber().setVisible(false); + fieldObservationGeneralElement.getTextAccessionNumber().setVisible(false); + } + } + } + + /* + * (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 == selectionCollection) { + getEntity().setCollection(selectionCollection.getSelection()); + } else if (eventSource == textAccessionNumber) { + getEntity().setAccessionNumber(textAccessionNumber.getText()); + } + if (eventSource != toggleableText_titleCache) { + toggleableText_titleCache.setText(getEntity().getTitleCache()); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java new file mode 100644 index 000000000..e9d459be3 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java @@ -0,0 +1,57 @@ +// $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.campanula.detailViews.fieldObservation; + +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; +import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; + +/** + * @author pplitzner + * @date 16.08.2013 + * + */ +public class FieldObservationGeneralSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + *

Constructor for FieldObservationDetailSection.

+ * + * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object. + * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. + * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object. + * @param style a int. + */ + public FieldObservationGeneralSection(CdmFormFactory formFactory, ConversationHolder conversation, + ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + } + + /** {@inheritDoc} */ + @Override + public String getHeading() { + return "Field Observation"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createFieldObservationGeneralElementController(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElement.java new file mode 100644 index 000000000..d1d436e3e --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElement.java @@ -0,0 +1,127 @@ +// $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.campanula.detailViews.fieldObservation; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; +import org.eclipse.wb.swt.SWTResourceManager; + +/** + * @author pplitzner + * @date 07.08.2013 + * + */ +public class GatheringEventDetailsElement extends Composite { + private FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private Text textElevationError; + private Text text_ElevationMinimum; + private Text text_ElevationMaximum; + private Text text_CollectingMethod; + private Text text_DistanceToGround; + private Text text_DistanceToWaterSurface; + private Text text_GatheringEventDescription; + + /** + * Create the composite. + * @param parent + * @param style + */ + public GatheringEventDetailsElement(Composite parent, int style) { + super(parent, style); + setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.verticalSpacing = 0; + tableWrapLayout.topMargin = 0; + tableWrapLayout.rightMargin = 0; + tableWrapLayout.leftMargin = 0; + tableWrapLayout.horizontalSpacing = 0; + tableWrapLayout.bottomMargin = 0; + tableWrapLayout.numColumns = 2; + setLayout(tableWrapLayout); + } + + Label lblElevationError = formToolkit.createLabel(this, "Elevation Error", SWT.NONE); + + textElevationError = formToolkit.createText(this, "New Text", SWT.NONE); + textElevationError.setText(""); + textElevationError.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblElevationMinimumm = formToolkit.createLabel(this, "Elevation Minimum (m)", SWT.NONE); + + text_ElevationMinimum = formToolkit.createText(this, "New Text", SWT.NONE); + text_ElevationMinimum.setText(""); + text_ElevationMinimum.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblElevationMaximumm = formToolkit.createLabel(this, "Elevation Maximum (m)", SWT.NONE); + + text_ElevationMaximum = formToolkit.createText(this, "New Text", SWT.NONE); + text_ElevationMaximum.setText(""); + text_ElevationMaximum.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblCollectingMethod = formToolkit.createLabel(this, "Collecting Method", SWT.NONE); + + text_CollectingMethod = formToolkit.createText(this, "New Text", SWT.NONE); + text_CollectingMethod.setText(""); + text_CollectingMethod.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblDistanceToGround = formToolkit.createLabel(this, "Distance To Ground (m)", SWT.NONE); + + text_DistanceToGround = formToolkit.createText(this, "New Text", SWT.NONE); + text_DistanceToGround.setText(""); + text_DistanceToGround.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblDistanceToWater = formToolkit.createLabel(this, "Distance To Water Surface (m)", SWT.NONE); + + text_DistanceToWaterSurface = formToolkit.createText(this, "New Text", SWT.NONE); + text_DistanceToWaterSurface.setText(""); + text_DistanceToWaterSurface.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblGatheringEventDescription = formToolkit.createLabel(this, "Gathering Event Description", SWT.NONE); + + text_GatheringEventDescription = formToolkit.createText(this, "New Text", SWT.NONE); + text_GatheringEventDescription.setText(""); + text_GatheringEventDescription.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + public Text getTextElevationError() { + return textElevationError; + } + public Text getText_ElevationMinimum() { + return text_ElevationMinimum; + } + public Text getText_ElevationMaximum() { + return text_ElevationMaximum; + } + public Text getText_CollectingMethod() { + return text_CollectingMethod; + } + public Text getText_DistanceToGround() { + return text_DistanceToGround; + } + public Text getText_DistanceToWaterSurface() { + return text_DistanceToWaterSurface; + } + public Text getText_GatheringEventDescription() { + return text_GatheringEventDescription; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java new file mode 100644 index 000000000..56f104594 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java @@ -0,0 +1,115 @@ +// $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.campanula.detailViews.fieldObservation; + +import org.eclipse.ui.forms.widgets.ExpandableComposite; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection; + +/** + * @author pplitzner + * @date 14.08.2013 + * + */ +public class GatheringEventDetailsElementController extends AbstractCdmDetailElement { + + private GatheringEventDetailsElement gatheringEventDetailsElement; + +// private NumberFieldController number_absoluteElevationError; + +// private NumberFieldController number_absoluteElevationMinimum; + + private NumberFieldController number_absoluteElevationMaximum; + + private TextFieldController text_collectingMethod; + + private NumberFieldController number_distanceToGround; + + private NumberFieldController number_distanceToWaterSurface; + + private TextFieldController text_gatheringEventDescription; + + private CollectingAreasDetailSection section_collectingAreas; + + /** + *

+ * Constructor for GatheringEventDetailElement. + *

+ * + * @param formFactory + * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} + * object. + * @param formElement + * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} + * object. + */ + public GatheringEventDetailsElementController(GatheringEventDetailsElement gatheringEventDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) { + super(formFactory, formElement); + this.gatheringEventDetailsElement = gatheringEventDetailsElement; + } + + /** {@inheritDoc} */ + @Override + protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { + +// number_absoluteElevationError = new NumberFieldController(gatheringEventDetailsElement.getTextElevationError(), formFactory, this, entity.getAbsoluteElevation()); +// number_absoluteElevationMinimum = new NumberFieldController(gatheringEventDetailsElement.getText_ElevationMinimum(), formFactory, this, entity.getAbsoluteElevationMinimum()); + number_absoluteElevationMaximum = new NumberFieldController(gatheringEventDetailsElement.getText_ElevationMaximum(), formFactory, this, entity.getAbsoluteElevationMaximum()); + text_collectingMethod = new TextFieldController(gatheringEventDetailsElement.getText_CollectingMethod(), formFactory, this, entity.getCollectingMethod(), null); + number_distanceToGround = new NumberFieldController(gatheringEventDetailsElement.getText_DistanceToGround(), formFactory, this, entity.getDistanceToGround()); + number_distanceToWaterSurface = new NumberFieldController(gatheringEventDetailsElement.getText_DistanceToWaterSurface(), formFactory, this, entity.getDistanceToWaterSurface()); + text_gatheringEventDescription = new TextFieldController(gatheringEventDetailsElement.getText_GatheringEventDescription(), formFactory, this, entity.getGatheringEventDescription(), null); + section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); + section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); + section_collectingAreas.setEntity(entity); + } + + /** {@inheritDoc} */ + @Override + public void handleEvent(Object eventSource) { +// if (eventSource == number_absoluteElevationError) { +// getEntity().setAbsoluteElevationError(number_absoluteElevationError.getDouble()); +// } +// else if (eventSource == number_absoluteElevationMinimum) { +// try { +// getEntity().setAbsoluteElevationRange(number_absoluteElevationMinimum.getInteger(), number_absoluteElevationMaximum.getInteger()); +// number_absoluteElevationMinimum.setBackground(getColor(Resources.COLOR_COMPOSITE_BACKGROUND)); +// } catch (IllegalArgumentException e) { +// number_absoluteElevationMinimum.setBackground(getColor(Resources.COLOR_PARSE_ERROR)); +// AbstractUtility.warn(getClass(), e.getLocalizedMessage()); +// } +// } +// else if (eventSource == number_absoluteElevationMaximum) { +// try { +// getEntity().setAbsoluteElevationRange(number_absoluteElevationError.getInteger(), number_absoluteElevationMaximum.getInteger()); +// number_absoluteElevationMaximum.setBackground(getColor(Resources.COLOR_COMPOSITE_BACKGROUND)); +// } catch (IllegalArgumentException e) { +// number_absoluteElevationMaximum.setBackground(getColor(Resources.COLOR_PARSE_ERROR)); +// AbstractUtility.warn(getClass(), e.getLocalizedMessage()); +// } +// } else + if (eventSource == text_collectingMethod) { + getEntity().setCollectingMethod(text_collectingMethod.getText()); + } else if (eventSource == number_distanceToGround) { + getEntity().setDistanceToGround(number_distanceToGround.getDouble()); + } else if (eventSource == number_distanceToWaterSurface) { + getEntity().setDistanceToWaterSurface(number_distanceToWaterSurface.getDouble()); + } else if (eventSource == text_gatheringEventDescription) { + getEntity().setGatheringEventDescription(text_gatheringEventDescription.getText()); + } + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java new file mode 100644 index 000000000..d548812e0 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java @@ -0,0 +1,61 @@ +// $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.campanula.detailViews.fieldObservation; + +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; +import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; + +/** + * @author pplitzner + * @date 21.08.2013 + * + */ +public class GatheringEventSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + *

Constructor for GatheringEventDetailSection.

+ * + * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object. + * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. + * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object. + * @param style a int. + */ + public GatheringEventSection(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() + */ + /** {@inheritDoc} */ + @Override + public String getHeading() { + return "Gathering Event Details"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createGatheringEventDetailsElementController(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java new file mode 100644 index 000000000..db4c70d84 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java @@ -0,0 +1,105 @@ +// $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.campanula.detailViews.specimen; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; +import org.eclipse.wb.swt.SWTResourceManager; + +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionField; + +/** + * @author pplitzner + * @date 29.08.2013 + * + */ +public class DerivedUnitDetailsElement extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private Text textBarcode; + private Text textCatalogNumber; + private Text txtExsiccatum; + private Combo comboPreservationMethod; + private EntitySelectionField storedUnderSelectionField; + + /** + * Create the composite. + * @param parent + * @param style + */ + public DerivedUnitDetailsElement(Composite parent, int style) { + super(parent, style); + setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.numColumns = 2; + setLayout(tableWrapLayout); + } + + Label lblBarcode = formToolkit.createLabel(this, "Barcode", SWT.NONE); + + textBarcode = formToolkit.createText(this, "New Text", SWT.NONE); + textBarcode.setText(""); + textBarcode.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblCatalognumber = formToolkit.createLabel(this, "CatalogNumber", SWT.NONE); + + textCatalogNumber = formToolkit.createText(this, "New Text", SWT.NONE); + textCatalogNumber.setText(""); + textCatalogNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblPreservationMethod = formToolkit.createLabel(this, "Preservation Method", SWT.NONE); + + comboPreservationMethod = new Combo(this, SWT.NONE); + comboPreservationMethod.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(comboPreservationMethod); + formToolkit.paintBordersFor(comboPreservationMethod); + + Label lblStoredUnder = formToolkit.createLabel(this, "Stored Under", SWT.NONE); + + storedUnderSelectionField = new EntitySelectionField(this, SWT.NONE); + formToolkit.adapt(storedUnderSelectionField); + formToolkit.paintBordersFor(storedUnderSelectionField); + + Label lblExsiccatum = formToolkit.createLabel(this, "Exsiccatum", SWT.NONE); + + txtExsiccatum = formToolkit.createText(this, "New Text", SWT.NONE); + txtExsiccatum.setText(""); + txtExsiccatum.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + public Text getTextBarcode() { + return textBarcode; + } + public Text getTextCatalogNumber() { + return textCatalogNumber; + } + public Combo getComboPreservationMethod() { + return comboPreservationMethod; + } + public EntitySelectionField getStoredUnderSelectionField() { + return storedUnderSelectionField; + } + public Text getTxtExsiccatum() { + return txtExsiccatum; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java new file mode 100644 index 000000000..22c34391e --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java @@ -0,0 +1,110 @@ +// $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.campanula.detailViews.specimen; + +import org.eclipse.ui.forms.widgets.ExpandableComposite; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; +import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection; +import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; + +/** + * @author pplitzner + * @date 29.08.2013 + * + */ +public class DerivedUnitDetailsElementController extends AbstractCdmDetailElement { + + private DerivedUnitDetailsElement derivedUnitDetailsElement; + + private TextFieldController barCode; + private TextFieldController catalogNumber; +// private ComboDefinedTermController preservationMethod; + private EntitySelectionFieldController storedUnder; + private TextFieldController exsiccatum; + + private SourceCollectionDetailSection section_source; + + + public DerivedUnitDetailsElementController(DerivedUnitDetailsElement derivedUnitDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) { + super(formFactory, formElement); + this.derivedUnitDetailsElement = derivedUnitDetailsElement; + setPropertyChangeListeners(formFactory.getPropertyChangeListeners()); + formFactory.addPropertyChangeListener(this); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement, java.lang.Object, int) + */ + @Override + protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { + barCode = new TextFieldController(derivedUnitDetailsElement.getTextBarcode(), getFormFactory(), formElement, entity.getBarcode(), null); + catalogNumber = new TextFieldController(derivedUnitDetailsElement.getTextCatalogNumber(), getFormFactory(), formElement, entity.getCatalogNumber(), null); + PreservationMethod entityPreservationMethod; + try { + entityPreservationMethod = entity.getPreservationMethod(); + } catch (MethodNotSupportedByDerivedUnitTypeException e) { + // we ignore this + AbstractUtility.info(e.getMessage()); + entityPreservationMethod = null; + } +// preservationMethod = new ComboDefinedTermController(derivedUnitDetailsElement.getComboPreservationMethod(), getFormFactory(), formElement, PreservationMethod.class, entityPreservationMethod, style); + storedUnder = new EntitySelectionFieldController(derivedUnitDetailsElement.getStoredUnderSelectionField(), getFormFactory(), getConversationHolder(), formElement, TaxonNameBase.class, entity.getStoredUnder(), EntitySelectionElement.ALL); + String entitiyExsiccatum; + try { + entitiyExsiccatum = entity.getExsiccatum(); + } catch (MethodNotSupportedByDerivedUnitTypeException e) { + // we ignore this + AbstractUtility.info(e.getMessage()); + entitiyExsiccatum = null; + } + exsiccatum = new TextFieldController(derivedUnitDetailsElement.getTxtExsiccatum(), getFormFactory(), formElement, entitiyExsiccatum, null); + + section_source = formFactory.createSourceCollectionDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); + section_source.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); + section_source.setEntity(entity); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + if (eventSource == barCode) { + getEntity().setBarcode(barCode.getText()); + } else if (eventSource == catalogNumber) { + getEntity().setCatalogNumber(catalogNumber.getText()); +// } else if (eventSource == preservationMethod) { +// try { +// getEntity().setPreservationMethod(preservationMethod.getSelection()); +// } catch (MethodNotSupportedByDerivedUnitTypeException e) { +// AbstractUtility.errorDialog("MethodNotSupportedByDerivedUnitTypeException", this, "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", e); +// } + } else if (eventSource == storedUnder) { + getEntity().setStoredUnder(storedUnder.getEntity()); + } else if (eventSource == exsiccatum) { + try { + getEntity().setExsiccatum(exsiccatum.getText()); + } catch (Exception e) { + AbstractUtility.error(this.getClass(), e); + } + } + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java new file mode 100644 index 000000000..db2f504a2 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java @@ -0,0 +1,48 @@ +// $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.campanula.detailViews.specimen; + +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; +import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; + +/** + * @author pplitzner + * @date 29.08.2013 + * + */ +public class DerivedUnitDetailsSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection { + + public DerivedUnitDetailsSection(CdmFormFactory formFactory, ConversationHolder conversation, + ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + } + + /** {@inheritDoc} */ + @Override + public String getHeading() { + return "Derived Unit Details"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createDerivedUnitDetailsElementController(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java new file mode 100644 index 000000000..bcd543288 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java @@ -0,0 +1,104 @@ +// $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.campanula.detailViews.specimen; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; +import org.eclipse.wb.swt.SWTResourceManager; + +/** + * @author pplitzner + * @date 29.08.2013 + * + */ +public class SpecimenDetailsElement extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private Text text_IndividualEcology; + private Text text_PlantDesriptionDetails; + private Text text_IndividualFieldNotes; + private Combo comboLiveStage; + private Combo combo_Sex; + + /** + * Create the composite. + * @param parent + * @param style + */ + public SpecimenDetailsElement(Composite parent, int style) { + super(parent, style); + setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE)); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.numColumns = 2; + setLayout(tableWrapLayout); + } + + Label lblNewLabel = formToolkit.createLabel(this, "Individual Ecology", SWT.NONE); + + text_IndividualEcology = formToolkit.createText(this, "New Text", SWT.NONE); + text_IndividualEcology.setText(""); + text_IndividualEcology.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblPlantDescriptionDetails = formToolkit.createLabel(this, "Plant Description Details", SWT.NONE); + + text_PlantDesriptionDetails = formToolkit.createText(this, "New Text", SWT.NONE); + text_PlantDesriptionDetails.setText(""); + text_PlantDesriptionDetails.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblIndividualFieldNotes = formToolkit.createLabel(this, "Individual Field Notes", SWT.NONE); + + text_IndividualFieldNotes = formToolkit.createText(this, "New Text", SWT.NONE); + text_IndividualFieldNotes.setText(""); + text_IndividualFieldNotes.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblLiveStage = formToolkit.createLabel(this, "Live Stage", SWT.NONE); + + comboLiveStage = new Combo(this, SWT.NONE); + comboLiveStage.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(comboLiveStage); + formToolkit.paintBordersFor(comboLiveStage); + + Label lblSex = formToolkit.createLabel(this, "Sex", SWT.NONE); + + combo_Sex = new Combo(this, SWT.NONE); + combo_Sex.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(combo_Sex); + formToolkit.paintBordersFor(combo_Sex); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + public Text getText_IndividualEcology() { + return text_IndividualEcology; + } + public Text getText_PlantDesriptionDetails() { + return text_PlantDesriptionDetails; + } + public Text getText_IndividualFieldNotes() { + return text_IndividualFieldNotes; + } + public Combo getComboLiveStage() { + return comboLiveStage; + } + public Combo getCombo_Sex() { + return combo_Sex; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java new file mode 100644 index 000000000..404148750 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java @@ -0,0 +1,75 @@ +// $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.campanula.detailViews.specimen; + +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.cdm.model.common.DefinedTerm; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ComboDefinedTermController; +import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 29.08.2013 + * + */ +public class SpecimenDetailsElementController extends AbstractCdmDetailElement { + + private SpecimenDetailsElement specimenDetailsElement; + private TextFieldController individualEcology; + private TextFieldController plantDescriptionDetails; + private TextFieldController individualFieldNotes; + private ComboDefinedTermController liveStage; + private ComboDefinedTermController sex; + + + public SpecimenDetailsElementController(SpecimenDetailsElement specimenDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) { + super(formFactory, formElement); + this.specimenDetailsElement = specimenDetailsElement; + setPropertyChangeListeners(formFactory.getPropertyChangeListeners()); + formFactory.addPropertyChangeListener(this); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement, java.lang.Object, int) + */ + @Override + protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { + individualEcology = new TextFieldController(specimenDetailsElement.getText_IndividualEcology(), getFormFactory(), formElement, entity.getEcology(), null); + plantDescriptionDetails = new TextFieldController(specimenDetailsElement.getText_PlantDesriptionDetails(), getFormFactory(), formElement, entity.getPlantDescription(), null); + plantDescriptionDetails = new TextFieldController(specimenDetailsElement.getText_IndividualFieldNotes(), getFormFactory(), formElement, entity.getFieldNotes(), null); + liveStage = new ComboDefinedTermController(specimenDetailsElement.getComboLiveStage(), getFormFactory(), formElement, DefinedTerm.class, entity.getLifeStage(), style); + sex = new ComboDefinedTermController(specimenDetailsElement.getCombo_Sex(), getFormFactory(), formElement, DefinedTerm.class, entity.getSex(), style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + if(eventSource == individualEcology){ + getEntity().setEcology(individualEcology.getText()); + } + else if(eventSource == plantDescriptionDetails){ + getEntity().setPlantDescription(plantDescriptionDetails.getText()); + } + else if(eventSource == individualFieldNotes){ + getEntity().setFieldNotes(individualFieldNotes.getText()); + } + else if(eventSource == liveStage){ + getEntity().setLifeStage(liveStage.getSelection()); + } + else if(eventSource == sex){ + getEntity().setSex(sex.getSelection()); + } + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java new file mode 100644 index 000000000..4854f72c9 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java @@ -0,0 +1,48 @@ +// $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.campanula.detailViews.specimen; + +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; +import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; + +/** + * @author pplitzner + * @date 29.08.2013 + * + */ +public class SpecimenDetailsSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection { + + public SpecimenDetailsSection(CdmFormFactory formFactory, ConversationHolder conversation, + ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + } + + /** {@inheritDoc} */ + @Override + public String getHeading() { + return "Specimen Details"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createSpecimenDetailsElementController(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralSection.java new file mode 100644 index 000000000..e20e81932 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralSection.java @@ -0,0 +1,48 @@ +// $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.campanula.detailViews.specimen; + +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; +import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; + +/** + * @author pplitzner + * @date 16.08.2013 + * + */ +public class SpecimenGeneralSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + public SpecimenGeneralSection(CdmFormFactory formFactory, ConversationHolder conversation, + ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + } + + /** {@inheritDoc} */ + @Override + public String getHeading() { + return "Specimen"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createSpecimenGeneralElementController(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchComposite.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchComposite.java new file mode 100644 index 000000000..0680214ca --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchComposite.java @@ -0,0 +1,135 @@ +// $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.campanula.specimenSearch; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.eclipse.ui.forms.widgets.TableWrapData; +import org.eclipse.ui.forms.widgets.TableWrapLayout; + +/** + * @author pplitzner + * @date 03.09.2013 + * + */ +public class SpecimenSearchComposite extends Composite { + private final FormToolkit formToolkit = new FormToolkit(Display.getDefault()); + private Text textTaxonName; + private Text textCollector; + private Text textCollectorNumber; + private Text textAccessionNumber; + private Text textLocality; + private Text textHerbarium; + private Text textCountry; + + /** + * Create the composite. + * @param parent + * @param style + */ + public SpecimenSearchComposite(Composite parent, int style) { + super(parent, style); + setBackgroundMode(SWT.INHERIT_DEFAULT); + { + TableWrapLayout tableWrapLayout = new TableWrapLayout(); + tableWrapLayout.numColumns = 2; + setLayout(tableWrapLayout); + } + + Label lblTaxonName = formToolkit.createLabel(this, "Taxon Name", SWT.NONE); + + textTaxonName = new Text(this, SWT.BORDER); + textTaxonName.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(textTaxonName, true, true); + + Label lblCollectors = new Label(this, SWT.NONE); + formToolkit.adapt(lblCollectors, true, true); + lblCollectors.setText("Collector(s)"); + + textCollector = new Text(this, SWT.BORDER); + textCollector.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(textCollector, true, true); + + Label lblCollectorsNumber = new Label(this, SWT.NONE); + formToolkit.adapt(lblCollectorsNumber, true, true); + lblCollectorsNumber.setText("Collector(s) Number"); + + textCollectorNumber = new Text(this, SWT.BORDER); + textCollectorNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(textCollectorNumber, true, true); + + Label lblAccessionNumber = new Label(this, SWT.NONE); + formToolkit.adapt(lblAccessionNumber, true, true); + lblAccessionNumber.setText("Accession Number"); + + textAccessionNumber = new Text(this, SWT.BORDER); + textAccessionNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(textAccessionNumber, true, true); + + Label lblHerbarium = new Label(this, SWT.NONE); + formToolkit.adapt(lblHerbarium, true, true); + lblHerbarium.setText("Herbarium"); + + textHerbarium = new Text(this, SWT.NONE); + textHerbarium.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblCountry = new Label(this, SWT.NONE); + formToolkit.adapt(lblCountry, true, true); + lblCountry.setText("Country"); + + textCountry = new Text(this, SWT.NONE); + textCountry.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + + Label lblLocality = new Label(this, SWT.NONE); + formToolkit.adapt(lblLocality, true, true); + lblLocality.setText("Locality"); + + textLocality = new Text(this, SWT.BORDER); + textLocality.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1)); + formToolkit.adapt(textLocality, true, true); + + Label lblCollectionDate = new Label(this, SWT.NONE); + formToolkit.adapt(lblCollectionDate, true, true); + lblCollectionDate.setText("Collection Date"); + new Label(this, SWT.NONE); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + public Text getTextTaxonName() { + return textTaxonName; + } + public Text getTextCollector() { + return textCollector; + } + public Text getTextCollectorNumber() { + return textCollectorNumber; + } + public Text getTextAccessionNumber() { + return textAccessionNumber; + } + public Text getTextHerbarium() { + return textHerbarium; + } + public Text getTextCountry() { + return textCountry; + } + public Text getTextLocality() { + return textLocality; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchController.java new file mode 100644 index 000000000..295bc26a9 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchController.java @@ -0,0 +1,105 @@ +// $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.campanula.specimenSearch; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; + +/** + * Controller class for handling a {@link SpecimenSearchComposite}. + * @author pplitzner + * @date 03.09.2013 + * + */ +public class SpecimenSearchController { + + private final SpecimenSearchComposite specimenSearchComposite; + + /** + * @param specimenSearchComposite + */ + public SpecimenSearchController(Composite parent) { + this.specimenSearchComposite = new SpecimenSearchComposite(parent, SWT.NONE); + } + + /** + * Returns the {@link Composite} handled by this controller + * @return + */ + public Composite getComposite() { + return specimenSearchComposite; + } + + /** + * Returns the taxon name entered in the search view + * @return the taxon name as a {@link String} + * @see eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchComposite#getTextTaxonName() + */ + public String getTaxonName() { + return specimenSearchComposite.getTextTaxonName().getText(); + } + + /** + * Returns the collector entered in the search view + * @return the collector as a {@link String} + * @see eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchComposite#getTextCollector() + */ + public String getCollector() { + return specimenSearchComposite.getTextCollector().getText(); + } + + /** + * Returns the collecting number entered in the search view + * @return the collecting as a {@link String} + * @see eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchComposite#getTextCollectorNumber() + */ + public String getCollectorNumber() { + return specimenSearchComposite.getTextCollectorNumber().getText(); + } + + /** + * Returns the accession number entered in the search view + * @return the accession number as a {@link String} + * @see eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchComposite#getTextAccessionNumber() + */ + public String getAccessionNumber() { + return specimenSearchComposite.getTextAccessionNumber().getText(); + } + + /** + * Returns the herbarium entered in the search view + * @return the herbarium as a {@link String} + * @see eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchComposite#getComboHerbarium() + */ + public String getHerbarium() { + return specimenSearchComposite.getTextHerbarium().getText(); +// return specimenSearchComposite.getComboHerbarium().getItem(specimenSearchComposite.getComboHerbarium().getSelectionIndex()); + } + + /** + * Returns the country entered in the search view + * @return the country as a {@link String} + * @see eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchComposite#getComboCountry() + */ + public String getCountry() { + return specimenSearchComposite.getTextCountry().getText(); +// return specimenSearchComposite.getComboCountry().getItem(specimenSearchComposite.getComboCountry().getSelectionIndex()); + } + + /** + * Returns the locality entered in the search view + * @return the locality as a {@link String} + * @see eu.etaxonomy.taxeditor.ui.campanula.specimenSearch.SpecimenSearchComposite#getTextLocality() + */ + public String getLocality() { + return specimenSearchComposite.getTextLocality().getText(); + } + +} \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java index 04f64ab05..05df291ba 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java @@ -32,10 +32,10 @@ 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java index 77400dbe3..f05cbe1c4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java @@ -27,10 +27,10 @@ import eu.etaxonomy.taxeditor.preference.Resources; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; import eu.etaxonomy.taxeditor.store.TermManager; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java index 171df7231..5e3e5c1ee 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java @@ -1,9 +1,9 @@ // $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. */ @@ -66,14 +66,14 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog> model; private final Set transientCdmObjects = new HashSet(); private final String settings; - + protected T cdmBaseToBeFiltered; - + /** *

Constructor for AbstractFilteredCdmResourceSelectionDialog.

* * @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. @@ -85,29 +85,29 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetSelectionFromDialog

* @@ -140,18 +140,18 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog TYPE getSelectionFromDialog(AbstractFilteredCdmResourceSelectionDialog 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. @@ -167,7 +167,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetPersistentObject

* @@ -204,16 +204,16 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoginitModel

*/ @@ -243,7 +243,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog element : model){ contentProvider.add(element, itemsFilter); @@ -355,7 +355,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog() { @Override - public int compare(UuidAndTitleCache entity1, + public int compare(UuidAndTitleCache entity1, UuidAndTitleCache entity2) { Collator collator = Collator.getInstance(); return collator.compare(entity1.getTitleCache(), entity2.getTitleCache()); @@ -371,7 +371,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetSelectedUuidAndTitleCache

* @@ -381,7 +381,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialogGetter for the field settings.

* @@ -393,9 +393,9 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetNewWizardLinkText

* * @return a {@link java.lang.String} object. */ protected abstract String getNewWizardLinkText(); - + /** *

getNewEntityWizard

- * @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) @@ -457,10 +457,10 @@ public abstract class AbstractFilteredCdmResourceSelectionDialoggetConversationHolder

* * @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 * (cdmBaseToBeFiltered) * 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); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmEntityWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmEntityWizardPage.java index e04928fa8..825619ba8 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmEntityWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmEntityWizardPage.java @@ -22,6 +22,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; import eu.etaxonomy.cdm.model.common.IIdentifiableEntity; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java index 6d71b98a8..0aeb323c4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java @@ -17,6 +17,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.ui.forms.widgets.Section; import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

Abstract AbstractCdmFormElement class.

@@ -63,12 +64,8 @@ public abstract class AbstractCdmFormElement implements ICdmFormElement { // addControl(layoutComposite); } - /** - *

Getter for the field formFactory.

- * - * @return a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. - */ - public CdmFormFactory getFormFactory() { + @Override + public CdmFormFactory getFormFactory() { return formFactory; } @@ -237,6 +234,7 @@ public abstract class AbstractCdmFormElement implements ICdmFormElement { /** {@inheritDoc} */ @Override public void firePropertyChangeEvent(CdmPropertyChangeEvent event) { + //TODO: replace propertyChangeListeners with formFactory.getPropertyChangeListeners() and remove member propertyChangeListeners from AbstractCdmFormElement Assert.isNotNull(propertyChangeListeners, "Property change listeners are not present"); try{ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElementWithErrors.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElementWithErrors.java index 3138191d3..b95402ed0 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElementWithErrors.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElementWithErrors.java @@ -13,6 +13,8 @@ package eu.etaxonomy.taxeditor.ui.element; import java.util.ArrayList; import java.util.List; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; + /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractFormSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractFormSection.java index cece9928b..80392ad97 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractFormSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractFormSection.java @@ -34,6 +34,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

@@ -49,9 +50,7 @@ import eu.etaxonomy.taxeditor.model.AbstractUtility; * @param */ //TODO shouldn't ENTITY be bound with super class ICdmBase for example (AbstractFormSection)? -public abstract class AbstractFormSection extends Section implements - ISelectionChangedListener, IEntityElement, - IConversationEnabled { +public abstract class AbstractFormSection extends Section implements ISelectionChangedListener, IEntityElement, IConversationEnabled { private ISelectionProvider selectionProvider; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/BrowserElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/BrowserElement.java index 3664ed528..f2e4b1604 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/BrowserElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/BrowserElement.java @@ -12,6 +12,8 @@ import org.eclipse.swt.events.ControlListener; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.ui.forms.widgets.TableWrapData; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; + /** *

BrowserElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java index abfe38db9..b9be2541d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java @@ -84,6 +84,7 @@ import eu.etaxonomy.cdm.model.media.Media; import eu.etaxonomy.cdm.model.media.MediaRepresentation; import eu.etaxonomy.cdm.model.media.MediaRepresentationPart; import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.molecular.Amplification; import eu.etaxonomy.cdm.model.name.NameRelationship; import eu.etaxonomy.cdm.model.name.NameTypeDesignation; import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; @@ -95,6 +96,23 @@ import eu.etaxonomy.cdm.model.taxon.Taxon; 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.SpecimenGeneralSection; import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection.UnitType; @@ -190,6 +208,10 @@ import eu.etaxonomy.taxeditor.ui.section.name.ProtologueElement; import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection; import eu.etaxonomy.taxeditor.ui.section.name.SpecimenTypeDesignationElement; import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.AmplificationCollectionSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.AmplificationDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.ArtworkGeneralDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.ArtworkGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.CurrentDeterminationDetailSection; @@ -203,16 +225,33 @@ 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.DnaSampleGeneralDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.DnaSampleGeneralDetailSection; 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.LivingPlantPhotoGeneralDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.LivingPlantPhotoGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.NamedAreaDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenCurrentDeterminationDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenDeterminationDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenDeterminationDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenDeterminationHistoryDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenGeneralDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenGeneralDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenSourceCollectionDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailElement; import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenScanGeneralDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenScanGeneralDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.TissueSampleGeneralDetailElement; +import eu.etaxonomy.taxeditor.ui.section.occurrence.TissueSampleGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement; import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection; import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement; @@ -268,372 +307,372 @@ import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement; */ 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 selectionListenerList = new HashSet(); - private final List propertyChangeListeners = new ArrayList(); + private final List propertyChangeListeners = new ArrayList(); - private final int orientation = Window.getDefaultOrientation(); - private ISelectionProvider selectionProvider; + private final int orientation = Window.getDefaultOrientation(); + private ISelectionProvider selectionProvider; - /** Constant EMPTY_SELECTION */ - public static ISelection EMPTY_SELECTION = new ISelection() { - @Override - public boolean isEmpty() { - return true; - } - }; + /** Constant EMPTY_SELECTION */ + 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); - } - } + } + } - /** - *

- * Constructor for CdmFormFactory. - *

- * - * @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(); - } + /** + *

+ * Constructor for CdmFormFactory. + *

+ * + * @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(); + } - /** - *

- * Constructor for CdmFormFactory. - *

- * - * @param display - * a {@link org.eclipse.swt.widgets.Display} object. - */ - public CdmFormFactory(Display display) { - super(display); - init(); - } + /** + *

+ * Constructor for CdmFormFactory. + *

+ * + * @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; + } - /** - *

- * destroySelectionArbitrator - *

- * - * @param selectionArbitrator + /** + *

+ * destroySelectionArbitrator + *

+ * + * @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); - } + } + } - /** - *

+ /** + *

* Adapts the {@link AbstractCdmFormElement}:
* - sets the {@link IPropertyChangeListener}s handled by this class - *

- * - * @param formElement - * a - * {@link eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement} - * object. - */ - public void adapt(AbstractCdmFormElement formElement) { - formElement.setPropertyChangeListeners(propertyChangeListeners); - } + *

+ * + * @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); + } - /** - *

- * destroyElement - *

- * - * @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); + } + + /** + *

+ * destroyElement + *

+ * + * @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; + } + } + } - /** - *

- * createEmptyCell - *

- * - * @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); - } + /** + *

+ * createEmptyCell + *

+ * + * @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); + } - /** - *

- * createMultilineTextWithLabel - *

- * - * @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. - */ + /** + *

+ * createMultilineTextWithLabel + *

+ * + * @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; + } - /** - *

- * createMultiLanguageTextElement - *

- * - * @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. - */ + /** + *

+ * createMultiLanguageTextElement + *

+ * + * @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 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; + } - /** - *

- * createTextWithLabelElement - *

- * - * @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. - */ + /** + *

+ * createTextWithLabelElement + *

+ * + * @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; + } - /** - *

- * createIntegerTextWithLabelElement - *

- * - * @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. + /** + *

+ * createIntegerTextWithLabelElement + *

+ * + * @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) { @@ -644,141 +683,140 @@ public class CdmFormFactory extends FormToolkit { return element; } - - /** - *

- * createLanguageStringWithLabelElement - *

- * - * @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. - */ + /** + *

+ * createLanguageStringWithLabelElement + *

+ * + * @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; - } + adapt(element); + parentElement.addElement(element); + return element; + } - /** - *

- * createLanguageStringWithLabelElement - *

- * - * @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. - */ + /** + *

+ * createLanguageStringWithLabelElement + *

+ * + * @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; + } - /** - *

- * createTextElement - *

- * - * @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. - */ + /** + *

+ * createTextElement + *

+ * + * @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; - } - - /** - *

- * createKeyValueViewerElement - *

- * - * @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 map) { - KeyValueViewerElement element = new KeyValueViewerElement(this, parentElement, keyHeading, valueHeading, map); - adapt(element); - parentElement.addElement(element); - return element; - } - - /** - *

- * createTermComboElement - *

- * - * @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. - */ + adapt(element); + parentElement.addElement(element); + return element; + } + + /** + *

+ * createKeyValueViewerElement + *

+ * + * @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 map) { + KeyValueViewerElement element = new KeyValueViewerElement(this, parentElement, keyHeading, valueHeading, map); + adapt(element); + parentElement.addElement(element); + return element; + } + + /** + *

+ * createTermComboElement + *

+ * + * @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 TermComboElement createTermComboElement(Class termComboType, ICdmFormElement parentElement, String labelString, T selection, int style) { TermComboElement element = new TermComboElement(this, parentElement, termComboType, labelString, selection, style); - adapt(element); - parentElement.addElement(element); - return element; - } + adapt(element); + parentElement.addElement(element); + return element; + } /** *

@@ -815,245 +853,245 @@ public class CdmFormFactory extends FormToolkit { return element; } - /** - *

- * createEnumComboElement - *

- * - * @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. - */ + /** + *

+ * createEnumComboElement + *

+ * + * @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 > EnumComboElement createEnumComboElement( Class enumComboType, ICdmFormElement parentElement, int style) { - EnumComboElement element = new EnumComboElement(this, parentElement, enumComboType, style); - adapt(element); - parentElement.addElement(element); - return element; - } + EnumComboElement element = new EnumComboElement(this, parentElement, enumComboType, style); + adapt(element); + parentElement.addElement(element); + return element; + } - /** - *

- * createBrowserElement - *

- * - * @param imageUri - * a {@link java.net.URI} object. - * @param style - * a int. - * @param parentElement - * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} - * object. + /** + *

+ * createBrowserElement + *

+ * + * @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; + } - /** - *

- * createImageElement - *

- * - * @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. - */ + /** + *

+ * createImageElement + *

+ * + * @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; + } - /** - *

- * createTextActionElement - *

- * - * @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. - */ + /** + *

+ * createTextActionElement + *

+ * + * @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; + } - /** - *

- * createCheckbox - *

- * - * @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. + /** + *

+ * createCheckbox + *

+ * + * @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; + } + } + } - /** - *

- * createToggleableTextField - *

- * - * @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. - */ + /** + *

+ * createToggleableTextField + *

+ * + * @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; + } - /** - *

- * createTimePeriodElement - *

- * - * @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. - */ + /** + *

+ * createTimePeriodElement + *

+ * + * @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; + } /** *

@@ -1089,46 +1127,46 @@ public class CdmFormFactory extends FormToolkit { return element; } - /** - *

- * createPointElement - *

- * - * @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. - */ + /** + *

+ * createPointElement + *

+ * + * @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; + } - /** - *

- * createDateDetailSection - *

- * - * @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. - */ + /** + *

+ * createDateDetailSection + *

+ * + * @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; + } /** *

@@ -1150,238 +1188,244 @@ public class CdmFormFactory extends FormToolkit { return section; } - /** - *

- * createPartialElement - *

- * - * @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. + /** + *

+ * createPartialElement + *

+ * + * @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; + } - /** - *

- * addSelectionListener - *

- * - * @param listener - * a {@link org.eclipse.swt.events.SelectionListener} object. - */ - public void addSelectionListener(SelectionListener listener) { - selectionListenerList.add(listener); - } + /** + *

+ * addSelectionListener + *

+ * + * @param listener + * a {@link org.eclipse.swt.events.SelectionListener} object. + */ + public void addSelectionListener(SelectionListener listener) { + selectionListenerList.add(listener); + } - /** - *

- * removeSelectionListener - *

- * - * @param listener - * a {@link org.eclipse.swt.events.SelectionListener} object. - */ - public void removeSelectionListener(SelectionListener listener) { - if (listener == null) { + /** + *

+ * removeSelectionListener + *

+ * + * @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); + } + } - /** - *

- * addPropertyChangeListener - *

- * - * @param listener - * a {@link org.eclipse.jface.util.IPropertyChangeListener} - * object. - */ - public void addPropertyChangeListener(IPropertyChangeListener listener) { - if(propertyChangeListeners.contains(listener)){ - return; - } - propertyChangeListeners.add(0, listener); - } + /** + *

+ * addPropertyChangeListener + *

+ * + * @param listener + * a {@link org.eclipse.jface.util.IPropertyChangeListener} + * object. + */ + public void addPropertyChangeListener(IPropertyChangeListener listener) { + if (propertyChangeListeners.contains(listener)) { + return; + } + propertyChangeListeners.add(0, listener); + } - /** - *

- * removePropertyChangeListener - *

- * - * @param listener - * a {@link org.eclipse.jface.util.IPropertyChangeListener} - * object. - */ - public void removePropertyChangeListener(IPropertyChangeListener listener) { - propertyChangeListeners.remove(listener); - } + /** + *

+ * removePropertyChangeListener + *

+ * + * @param listener + * a {@link org.eclipse.jface.util.IPropertyChangeListener} + * object. + */ + public void removePropertyChangeListener(IPropertyChangeListener listener) { + propertyChangeListeners.remove(listener); + } - /** - *

- * createHorizontalSeparator - *

- * - * @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 getPropertyChangeListeners() { + return propertyChangeListeners; + } + + /** + *

+ * createHorizontalSeparator + *

+ * + * @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; + } - /** - *

- * createVersionElement - *

- * - * @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. - */ + /** + *

+ * createVersionElement + *

+ * + * @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; + } - /** - *

- * createVersionSection - *

- * - * @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. - */ + /** + *

+ * createVersionSection + *

+ * + * @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; + } - /** - *

- * createEmptyElement - *

- * - * @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) { + /** + *

+ * createEmptyElement + *

+ * + * @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; + } - /** - *

- * createHeadlineSection - *

- * - * @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) { + /** + *

+ * createHeadlineSection + *

+ * + * @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; + } - /** - *

- * createParsingMessageElement - *

- * - * @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. - */ + /** + *

+ * createParsingMessageElement + *

+ * + * @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) { @@ -1389,11 +1433,11 @@ public class CdmFormFactory extends FormToolkit { 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 @@ -1576,6 +1620,42 @@ public class CdmFormFactory extends FormToolkit { return section; } + public PreservedSpecimenGeneralDetailSection createPreservedSpecimenGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + PreservedSpecimenGeneralDetailSection section = new PreservedSpecimenGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public TissueSampleGeneralDetailSection createTissueSampleGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + TissueSampleGeneralDetailSection section = new TissueSampleGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public DnaSampleGeneralDetailSection createDnaSampleGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + DnaSampleGeneralDetailSection section = new DnaSampleGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public SpecimenScanGeneralDetailSection createSpecimenScanGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + SpecimenScanGeneralDetailSection section = new SpecimenScanGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public LivingPlantPhotoGeneralDetailSection createLivingPlantPhotoGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + LivingPlantPhotoGeneralDetailSection section = new LivingPlantPhotoGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public ArtworkGeneralDetailSection createArtworkGeneralDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + ArtworkGeneralDetailSection section = new ArtworkGeneralDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + public HybridDetailSection createHybridDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ HybridDetailSection section = new HybridDetailSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); @@ -1594,8 +1674,14 @@ public class CdmFormFactory extends FormToolkit { return section; } - public DeterminationDetailSection createDeterminationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ - DeterminationDetailSection section = new DeterminationDetailSection(this, conversation, parentElement, selectionProvider, style); + public DeterminationDetailSection createDeterminationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + DeterminationDetailSection section = new DeterminationDetailSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + + public PreservedSpecimenDeterminationDetailSection createPreservedSpecimenDeterminationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){ + PreservedSpecimenDeterminationDetailSection section = new PreservedSpecimenDeterminationDetailSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); return section; } @@ -1618,6 +1704,11 @@ public class CdmFormFactory extends FormToolkit { 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); @@ -1631,28 +1722,10 @@ public class CdmFormFactory extends FormToolkit { 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------------ @@ -1843,34 +1916,84 @@ public class CdmFormFactory extends FormToolkit { return element; } + public PreservedSpecimenGeneralDetailElement createPreservedSpecimenGeneralDetailElement(ICdmFormElement parentElement){ + PreservedSpecimenGeneralDetailElement element = new PreservedSpecimenGeneralDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + + public TissueSampleGeneralDetailElement createTissueSampleGeneralDetailElement(ICdmFormElement parentElement){ + TissueSampleGeneralDetailElement element = new TissueSampleGeneralDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + + public DnaSampleGeneralDetailElement createDnaSampleGeneralDetailElement(ICdmFormElement parentElement){ + DnaSampleGeneralDetailElement element = new DnaSampleGeneralDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + + public SpecimenScanGeneralDetailElement createSpecimenScanGeneralDetailElement(ICdmFormElement parentElement){ + SpecimenScanGeneralDetailElement element = new SpecimenScanGeneralDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + + public LivingPlantPhotoGeneralDetailElement createLivingPlantPhotoGeneralDetailElement(ICdmFormElement parentElement){ + LivingPlantPhotoGeneralDetailElement element = new LivingPlantPhotoGeneralDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + + public ArtworkGeneralDetailElement createArtworkGeneralDetailElement(ICdmFormElement parentElement){ + ArtworkGeneralDetailElement element = new ArtworkGeneralDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + + public GatheringEventDetailElement createGatheringEventDetailElement(ICdmFormElement parentElement) { GatheringEventDetailElement element = new GatheringEventDetailElement(this, parentElement); addAndAdaptElement(parentElement, element); return element; - } + } 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 PreservedSpecimenDetailElement createPreservedSpecimenDetailElement(ICdmFormElement parentElement) { + PreservedSpecimenDetailElement element = new PreservedSpecimenDetailElement(this, parentElement); + addAndAdaptElement(parentElement, element); + return element; + } + + public PreservedSpecimenDeterminationDetailElement createPreservedSpecimenDeterminationDetailElement(ICdmFormElement parentElement) { + PreservedSpecimenDeterminationDetailElement element = new PreservedSpecimenDeterminationDetailElement(this, parentElement); + addAndAdaptElement(parentElement, 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); @@ -2021,24 +2144,48 @@ public class CdmFormFactory extends FormToolkit { return section; } + public PreservedSpecimenCurrentDeterminationDetailSection createPreservedSpecimenCurrentDeterminationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + PreservedSpecimenCurrentDeterminationDetailSection section = new PreservedSpecimenCurrentDeterminationDetailSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + public DeterminationHistoryDetailSection createDeterminationHistoryDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ DeterminationHistoryDetailSection section = new DeterminationHistoryDetailSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); return section; } + public PreservedSpecimenDeterminationHistoryDetailSection createPreservedSpecimenDeterminationHistoryDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + PreservedSpecimenDeterminationHistoryDetailSection section = new PreservedSpecimenDeterminationHistoryDetailSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + public SpecimenCollectionDetailSection createSpecimenCollectionDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ SpecimenCollectionDetailSection section = new SpecimenCollectionDetailSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); return section; } + public PreservedSpecimenSourceCollectionDetailSection createPreservedSpecimenSourceCollectionDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + PreservedSpecimenSourceCollectionDetailSection section = new PreservedSpecimenSourceCollectionDetailSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + public SourceCollectionDetailSection createSourceCollectionDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ SourceCollectionDetailSection section = new SourceCollectionDetailSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); return section; } + public AmplificationCollectionSection createAmplificationCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ + AmplificationCollectionSection section = new AmplificationCollectionSection(this, conversation, parentElement, style); + addAndAdaptSection(parentElement, section); + return section; + } + public GeographicalScopeDetailSection createGeographicalScopeDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){ GeographicalScopeDetailSection section = new GeographicalScopeDetailSection(this, conversation, parentElement, style); addAndAdaptSection(parentElement, section); @@ -2067,71 +2214,71 @@ public class CdmFormFactory extends FormToolkit { 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; + } - /** - *

- * createEntityCollectionElement - *

- * - * @param removeListener - * a {@link org.eclipse.swt.events.SelectionListener} object. - * @param style - * a int. - * @param parentElement + /** + *

+ * createEntityCollectionElement + *

+ * + * @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) { @@ -2156,24 +2303,24 @@ public class CdmFormFactory extends FormToolkit { 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: @@ -2191,202 +2338,317 @@ public class CdmFormFactory extends FormToolkit { 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); - } - } + } + } else if (entity instanceof Amplification) { + element = new AmplificationDetailElement(this, parentElement, (Amplification) entity, 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; + } - /** - *

- * Creates a selection element for the given type T. - *

- *

- * Selection elements not handled by this method: - *

    + 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); + } + + /** + *

    + * Creates a selection element for the given type T. + *

    + *

    + * Selection elements not handled by this method: + *

      *
    • {@link TaxonNodeSelectionElement} see * {@link #createTaxonNodeSelectionElement(ConversationHolder, ICdmFormElement, String, TaxonNode, int, int)} *
    • *
    • {@link NomenclaturalAuthorTeamSelectionElement} see * {@link #createNomenclaturalAuthorTeamSelectionElement(ConversationHolder, ICdmFormElement, String, Team, int, int)} *
    • - *
    - *

    - * - * @param clazz + *
+ *

+ * + * @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 EntitySelectionElement createSelectionElement(Class clazz, ConversationHolder conversation, ICdmFormElement parentElement, String labelString, T selection, int mode, int style) { EntitySelectionElement element = new EntitySelectionElement(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; + } - /** - *

- * Getter for the field selectionProvider. - *

- * - * @return a {@link org.eclipse.jface.viewers.ISelectionProvider} object. - */ - public ISelectionProvider getSelectionProvider() { - return selectionProvider; - } + /** + *

+ * Getter for the field selectionProvider. + *

+ * + * @return a {@link org.eclipse.jface.viewers.ISelectionProvider} object. + */ + public ISelectionProvider getSelectionProvider() { + return selectionProvider; + } - /** - *

- * createDetailedDescriptionDetailElement - *

- * - * @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( + /** + *

+ * createDetailedDescriptionDetailElement + *

+ * + * @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 PreservedSpecimenDetailSection createPreservedSpecimenDetailsSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) { + PreservedSpecimenDetailSection section = new PreservedSpecimenDetailSection(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; + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CheckboxElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CheckboxElement.java index 7863f78fd..fdb7b36d4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CheckboxElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CheckboxElement.java @@ -18,6 +18,7 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Label; import eu.etaxonomy.taxeditor.preference.Resources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

CheckboxElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/DateDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/DateDetailSection.java index 992c3127d..01dba2a9c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/DateDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/DateDetailSection.java @@ -17,6 +17,7 @@ import org.joda.time.Partial; import eu.etaxonomy.cdm.common.CdmUtils; import eu.etaxonomy.cdm.model.common.TimePeriod; import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/GatheringEventUnitElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/GatheringEventUnitElement.java index 5e1651d29..7e8e97bad 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/GatheringEventUnitElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/GatheringEventUnitElement.java @@ -16,6 +16,7 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.ui.forms.widgets.Section; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/IEntityElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/IEntityElement.java index 212b18d3f..f5a2eef88 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/IEntityElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/IEntityElement.java @@ -10,6 +10,7 @@ package eu.etaxonomy.taxeditor.ui.element; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ImageElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ImageElement.java index 92944ecea..6cd7677b4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ImageElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ImageElement.java @@ -33,6 +33,7 @@ import org.eclipse.ui.forms.widgets.TableWrapData; import eu.etaxonomy.cdm.common.UriUtils; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

ImageElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyStatementElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyStatementElement.java index f6f088ccd..44aa533d5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyStatementElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyStatementElement.java @@ -13,6 +13,7 @@ package eu.etaxonomy.taxeditor.ui.element; import org.eclipse.jface.util.PropertyChangeEvent; import eu.etaxonomy.cdm.model.description.KeyStatement; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** * @author n.hoffmann diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyValueViewerElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyValueViewerElement.java index ec76a288c..2fcfbdbed 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyValueViewerElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyValueViewerElement.java @@ -16,6 +16,8 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Table; import org.eclipse.ui.forms.widgets.TableWrapData; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; + /** *

KeyValueViewerElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LabelElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LabelElement.java index 1405ece32..7f8b769e1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LabelElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LabelElement.java @@ -14,6 +14,7 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Label; import eu.etaxonomy.cdm.common.CdmUtils; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

LabelElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LanguageStringWithLabelElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LanguageStringWithLabelElement.java index a9f326ccb..49328ded8 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LanguageStringWithLabelElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LanguageStringWithLabelElement.java @@ -14,6 +14,7 @@ import org.eclipse.swt.events.ModifyEvent; import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

LanguageStringWithLabelElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java index 7f4582fde..723b795c4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java @@ -13,6 +13,7 @@ package eu.etaxonomy.taxeditor.ui.element; import org.eclipse.jface.util.PropertyChangeEvent; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

@@ -72,7 +73,6 @@ public class MinMaxTextSection extends AbstractFormSection { text_freeText = formFactory.createTextWithLabelElement(this, "Freetext : ", getFreetext(), style); - formFactory.addPropertyChangeListener(this); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java index b7ab20c35..2d3006012 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java @@ -32,6 +32,7 @@ import eu.etaxonomy.taxeditor.model.DefaultTermComparator; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.translation.TranslationWizard; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java index b8c8ed1d0..4a9e649cb 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java @@ -1,9 +1,9 @@ // $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. */ @@ -15,6 +15,7 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.widgets.Display; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

NumberWithLabelElement class.

@@ -27,7 +28,7 @@ public class NumberWithLabelElement extends TextWithLabelElement { private Float start; private Float end; - + private NumberFormatException exception; /** @@ -45,8 +46,8 @@ public class NumberWithLabelElement extends TextWithLabelElement { super(toolkit, parentElement, labelString, null, null, style); setNumber(initialNumber); } - - + + /** *

setNumber

* @@ -55,7 +56,7 @@ public class NumberWithLabelElement extends TextWithLabelElement { public void setNumber(Number number) { super.setText(getStringRepresentation(number)); } - + /** *

getInteger

* @@ -65,7 +66,7 @@ public class NumberWithLabelElement extends TextWithLabelElement { String text = super.getText().trim(); return text.equals("") ? 0 : new Integer(text); } - + /** *

getFloat

* @@ -75,7 +76,7 @@ public class NumberWithLabelElement extends TextWithLabelElement { String text = super.getText(); return new Float(text); } - + /** *

getDouble

* @@ -89,10 +90,10 @@ public class NumberWithLabelElement extends TextWithLabelElement { 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) */ @@ -104,28 +105,28 @@ public class NumberWithLabelElement extends TextWithLabelElement { 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); } - + /** *

setLimits

* @@ -136,7 +137,7 @@ public class NumberWithLabelElement extends TextWithLabelElement { public void setLimits(int numberOfDigits, Integer start, Integer end){ setLimits(numberOfDigits, start.floatValue(), end.floatValue()); } - + /** *

setLimits

* @@ -149,7 +150,7 @@ public class NumberWithLabelElement extends TextWithLabelElement { this.start = start; this.end = end; } - + /** *

Getter for the field exception.

* diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java index 72b26fcfc..852018d0a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java @@ -16,6 +16,7 @@ import org.eclipse.swt.widgets.Label; import org.joda.time.Partial; import eu.etaxonomy.cdm.model.common.TimePeriod; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

PartialElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java index 109cbafb5..30a9ce77d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java @@ -17,6 +17,7 @@ import org.eclipse.jface.util.PropertyChangeEvent; import eu.etaxonomy.cdm.model.location.Point; import eu.etaxonomy.cdm.model.location.ReferenceSystem; import eu.etaxonomy.taxeditor.preference.Resources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RootElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RootElement.java index 9ac347446..c7c8d1143 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RootElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RootElement.java @@ -13,6 +13,8 @@ package eu.etaxonomy.taxeditor.ui.element; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Composite; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; + /** *

RootElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/SelectionArbitrator.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/SelectionArbitrator.java index 3c2c784ee..8644a166f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/SelectionArbitrator.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/SelectionArbitrator.java @@ -26,6 +26,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Widget; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextActionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextActionElement.java index aadf8713e..d2d84cc0e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextActionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextActionElement.java @@ -14,6 +14,7 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import eu.etaxonomy.cdm.common.CdmUtils; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

TextActionElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java index 878788b31..11bd12de6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java @@ -17,6 +17,7 @@ import org.eclipse.ui.forms.widgets.TableWrapData; import eu.etaxonomy.cdm.common.CdmUtils; import eu.etaxonomy.taxeditor.preference.Resources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TimePeriodElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TimePeriodElement.java index 9f9cc5071..f27d59112 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TimePeriodElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TimePeriodElement.java @@ -16,6 +16,7 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.ui.forms.widgets.Section; import eu.etaxonomy.cdm.model.common.TimePeriod; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; /** *

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java index e2b2fadb9..e74e40ba3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java @@ -29,6 +29,7 @@ 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. diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/UriWithLabelElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/UriWithLabelElement.java index f4307ea87..47e9b9135 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/UriWithLabelElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/UriWithLabelElement.java @@ -13,6 +13,8 @@ package eu.etaxonomy.taxeditor.ui.element; import java.net.URI; import java.net.URISyntaxException; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; + /** * @author n.hoffmann diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CRUDOperationChooser.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CRUDOperationChooser.java index 638dda420..e1cab9bef 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CRUDOperationChooser.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CRUDOperationChooser.java @@ -8,21 +8,20 @@ */ 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. diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityComposite.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityComposite.java index cc4210f13..08a0faeaa 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityComposite.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityComposite.java @@ -10,25 +10,23 @@ package eu.etaxonomy.taxeditor.ui.group.grantedauthority; 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 diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityCompositeViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityCompositeViewer.java index 10e025b77..cb910b32c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityCompositeViewer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityCompositeViewer.java @@ -23,12 +23,12 @@ import org.eclipse.swt.widgets.Control; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityRow.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityRow.java index 9d545f0e9..16068ddbf 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityRow.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityRow.java @@ -8,25 +8,23 @@ */ 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 diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityTableHeader.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityTableHeader.java index a47133bc4..ee844900a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityTableHeader.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grantedauthority/CdmAuthorityTableHeader.java @@ -8,16 +8,16 @@ */ 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} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java index c508919a6..b9056d46d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java @@ -20,9 +20,9 @@ import org.eclipse.swt.widgets.Label; import eu.etaxonomy.cdm.model.reference.Reference; 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/EditPasswordElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/EditPasswordElement.java index 2f91f4a5b..b3a720b6a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/EditPasswordElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/EditPasswordElement.java @@ -21,9 +21,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; import eu.etaxonomy.cdm.model.common.User; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; +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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizardPage.java index 1fa087abd..1cb65f111 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizardPage.java @@ -21,9 +21,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.service.IUserService; import eu.etaxonomy.cdm.model.common.User; import eu.etaxonomy.taxeditor.store.CdmStore; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java index 4704d2b24..751f2f2c4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java @@ -22,12 +22,11 @@ import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; import eu.etaxonomy.taxeditor.model.AbstractUtility; +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.IEntityElement; /** *

@@ -38,7 +37,7 @@ import eu.etaxonomy.taxeditor.ui.element.IEntityElement; * @created Feb 26, 2010 * @version 1.0 */ -public abstract class AbstractCdmDetailElement extends AbstractCdmFormElement implements IEntityElement, IEnableableFormElement, IConversationEnabled { +public abstract class AbstractCdmDetailElement extends AbstractCdmFormElement implements ICdmDetailElement { private T entity; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java index ee222adad..3d7efb919 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java @@ -22,9 +22,9 @@ import org.eclipse.ui.forms.widgets.TableWrapLayout; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.IdentifiableEntity; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement; import eu.etaxonomy.taxeditor.ui.element.ISelectableElement; @@ -39,7 +39,7 @@ import eu.etaxonomy.taxeditor.ui.element.ISelectableElement; */ public abstract class AbstractCdmDetailSection extends AbstractFormSection implements IEnableableFormElement, IExpansionListener { - private AbstractCdmDetailElement detailElement; + protected ICdmDetailElement detailElement; /** *

@@ -123,9 +123,9 @@ public abstract class AbstractCdmDetailSection extends AbstractFormSecti createControlsByType(formElement, null, style); } - protected abstract AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style); + protected abstract ICdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style); - protected AbstractCdmDetailElement createCdmDetailElementByType(AbstractCdmDetailSection parentElement, Class entityClass, int style){ + protected ICdmDetailElement createCdmDetailElementByType(AbstractCdmDetailSection parentElement, Class entityClass, int style){ return createCdmDetailElement(parentElement, style); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java index ca1353b2c..b6e1a416b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java @@ -1,9 +1,9 @@ // $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. */ @@ -24,10 +24,10 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; import eu.etaxonomy.taxeditor.model.ImageResources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.IEntityElement; import eu.etaxonomy.taxeditor.ui.element.ISelectable; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; @@ -36,7 +36,7 @@ import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; *

* Abstract AbstractEntityCollectionElement class. *

- * + * * @author n.hoffmann * @created Nov 16, 2009 * @version 1.0 @@ -47,9 +47,9 @@ public abstract class AbstractEntityCollectionElement extends protected ENTITY entity; - private Composite container; + private final Composite container; - private Composite box; + private final Composite box; private Button button_remove; @@ -59,7 +59,7 @@ public abstract class AbstractEntityCollectionElement extends *

* Constructor for AbstractEntityCollectionElement. *

- * + * * @param style * a int. * @param formFactory @@ -129,7 +129,7 @@ public abstract class AbstractEntityCollectionElement extends /** * Init gets executed before any other setup of the section takes place - * + * * Implement this if you want to configure the section */ public void init() { @@ -140,7 +140,7 @@ public abstract class AbstractEntityCollectionElement extends *

* Setter for the field entity. *

- * + * * @param entity * a ENTITY object. */ @@ -150,10 +150,11 @@ public abstract class AbstractEntityCollectionElement extends *

* Getter for the field entity. *

- * + * * @return a ENTITY object. */ - public ENTITY getEntity() { + @Override + public ENTITY getEntity() { return entity; } @@ -161,7 +162,7 @@ public abstract class AbstractEntityCollectionElement extends *

* createControls *

- * + * * @param element * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} * object. @@ -173,7 +174,8 @@ public abstract class AbstractEntityCollectionElement extends /** * Mark this element as selected. */ - public void setSelected(boolean selected) { + @Override + public void setSelected(boolean selected) { for (ICdmFormElement element : getElements()) { if (element instanceof ISelectable) { @@ -185,7 +187,7 @@ public abstract class AbstractEntityCollectionElement extends /* * (non-Javadoc) - * + * * @see * eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#propertyChange(org * .eclipse.jface.util.PropertyChangeEvent) @@ -206,14 +208,15 @@ public abstract class AbstractEntityCollectionElement extends *

* handleEvent *

- * + * * @param eventSource * a {@link java.lang.Object} object. */ public abstract void handleEvent(Object eventSource); /** {@inheritDoc} */ - public void setBackground(Color color) { + @Override + public void setBackground(Color color) { backgroundColor = color; super.setBackground(color); box.setBackground(color); @@ -222,15 +225,17 @@ public abstract class AbstractEntityCollectionElement extends /** * {@inheritDoc} - * + * * React when selection occurs */ - public void widgetSelected(SelectionEvent e) { + @Override + public void widgetSelected(SelectionEvent e) { } /** {@inheritDoc} */ - public void widgetDefaultSelected(SelectionEvent e) { + @Override + public void widgetDefaultSelected(SelectionEvent e) { } /** {@inheritDoc} */ @@ -243,7 +248,7 @@ public abstract class AbstractEntityCollectionElement extends *

* Getter for the field backgroundColor. *

- * + * * @return the backgroundColor */ public Color getBackgroundColor() { @@ -254,11 +259,12 @@ public abstract class AbstractEntityCollectionElement extends *

* getConversationHolder *

- * + * * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} * object. */ - public ConversationHolder getConversationHolder() { + @Override + public ConversationHolder getConversationHolder() { if (getParentElement() instanceof IConversationEnabled) { return ((IConversationEnabled) getParentElement()) .getConversationHolder(); @@ -268,6 +274,7 @@ public abstract class AbstractEntityCollectionElement extends } /** {@inheritDoc} */ - public void update(CdmDataChangeMap changeEvents) { + @Override + public void update(CdmDataChangeMap changeEvents) { } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java index ecc7c9107..ac94a5a83 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java @@ -29,9 +29,9 @@ import eu.etaxonomy.taxeditor.model.ImageResources; import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.preference.Resources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; /** * This class visualizes an CDM entity of type ENTITY and additionally provides the functionality to add @@ -279,6 +279,16 @@ public abstract class AbstractEntityCollectionSection extends A return PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOULD_EXPAND_SECTION_WHEN_DATA_AVAILABLE); } + /** + * Remove an element from the entities collection and update the section + * + * @param element a ELEMENT object. + */ + public void removeElementAndUpdate(ELEMENT element) { + removeElement(element); + internalUpdateSection(true); + } + /** * Get the specific collection of this entity * diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java index 838fd1c77..0ef043a6b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java @@ -6,8 +6,8 @@ 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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java index e06c2bc57..5cb1ecad3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java @@ -14,9 +14,9 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Label; import eu.etaxonomy.cdm.model.common.VersionableEntity; +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.ICdmFormElement; /** *

EmptyElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/ICdmDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/ICdmDetailElement.java new file mode 100644 index 000000000..20110e35a --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/ICdmDetailElement.java @@ -0,0 +1,25 @@ +// $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; + +import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement; +import eu.etaxonomy.taxeditor.ui.element.IEntityElement; + +/** + * @author pplitzner + * @date 30.07.2013 + * + */ +public interface ICdmDetailElement extends IEntityElement, IEnableableFormElement, IConversationEnabled{ + + public abstract void setEntity(T entity); + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java index 22dd62211..433c53ee7 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java @@ -11,8 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.agent; import eu.etaxonomy.cdm.model.agent.Institution; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java index 11e4a2d99..1aebcdbb1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.agent.Institution; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java index 5f4933cba..9e9dca42a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java @@ -12,9 +12,9 @@ package eu.etaxonomy.taxeditor.ui.section.agent; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.agent.Institution; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java index 5199df5fc..210798158 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java @@ -16,9 +16,9 @@ import java.util.Collection; import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.model.agent.Person; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; 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.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java index 7821e7a02..0337478c0 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.agent.Person; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java index 51ab6ad03..6979936a7 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java @@ -14,9 +14,9 @@ import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.agent.Person; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java index f338bc217..a56cee9b9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java @@ -15,9 +15,9 @@ import java.util.Arrays; import org.eclipse.ui.forms.widgets.ExpandableComposite; import eu.etaxonomy.cdm.model.agent.Team; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; 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.LayoutConstants; import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java index bacd6b548..f8b96bf4b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.agent.Team; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java index 103870d0e..a14bd862e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java @@ -14,10 +14,10 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.agent.Person; import eu.etaxonomy.cdm.model.agent.Team; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java index 5cc7743d8..2b4e51eee 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java @@ -15,8 +15,8 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.agent.Person; import eu.etaxonomy.cdm.model.agent.Team; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java index 578d220b2..73cd503df 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java @@ -17,8 +17,8 @@ import eu.etaxonomy.cdm.model.agent.Person; import eu.etaxonomy.cdm.model.agent.Team; import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java index 9016f92c6..8097bfc96 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java @@ -14,9 +14,9 @@ import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.agent.Team; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java index b13cc94fc..1f5a0a1b6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java @@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.cdm.model.taxon.Classification; import eu.etaxonomy.taxeditor.store.CdmStore; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java index 83eb7ee15..32fa82b68 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.taxon.Classification; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java index 292916ba5..c383b99cc 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java @@ -12,9 +12,9 @@ package eu.etaxonomy.taxeditor.ui.section.classification; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.taxon.Classification; +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.element.ICdmFormElement; /** *

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java index a2555b03d..a7a8261a0 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java @@ -1,9 +1,9 @@ // $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. */ @@ -19,9 +19,9 @@ import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonNode; import eu.etaxonomy.taxeditor.parser.ParseHandler; +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.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; @@ -31,7 +31,7 @@ import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement; *

* TaxonNodeDetailElement class. *

- * + * * @author n.hoffmann * @created Sep 27, 2010 * @version 1.0 @@ -64,7 +64,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement * Constructor for TaxonNodeDetailElement. *

- * + * * @param formFactory * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} * object. @@ -79,7 +79,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement * Getter for the field classification. *

- * + * * @return the classification */ public Classification getClassification() { @@ -169,7 +169,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement * isOpenInEditor *

- * + * * @return the openInEditor */ public boolean isOpenInEditor() { @@ -180,7 +180,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement * Getter for the field parentTreeNode. *

- * + * * @return a {@link eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode} object. */ public ITaxonTreeNode getParentTreeNode() { @@ -191,7 +191,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement * Getter for the field taxon. *

- * + * * @return the taxon */ public Taxon getTaxon() { @@ -226,7 +226,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement * isComplete *

- * + * * @return the complete */ public boolean isComplete() { diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java index 0508372da..4693709ef 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.taxon.TaxonNode; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java index d78900f3b..54e48f30a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java @@ -15,9 +15,9 @@ import org.eclipse.jface.util.PropertyChangeEvent; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; import eu.etaxonomy.cdm.model.taxon.Taxon; +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.element.ICdmFormElement; /** *

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferenceEntityDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferenceEntityDetailElement.java index 8649289c4..b4fb2a30c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferenceEntityDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferenceEntityDetailElement.java @@ -11,8 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.common; import eu.etaxonomy.cdm.model.common.ReferencedEntityBase; import eu.etaxonomy.cdm.model.reference.Reference; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferencedEntityDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferencedEntityDetailSection.java index d9825324d..e138c2b19 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferencedEntityDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferencedEntityDetailSection.java @@ -13,8 +13,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.ReferencedEntityBase; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java index d1ccc47b6..c038a1862 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java @@ -14,9 +14,9 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java index 112927630..408b0bbe2 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java @@ -18,9 +18,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.TaxonDescription; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.DerivedUnitSelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java index 3b7ccac5e..d79ad1f4e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java @@ -14,8 +14,8 @@ import org.eclipse.swt.SWT; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java index 5cf40dc83..8f6c36817 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.DescriptionBase; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java index 5591416ff..84dc081d9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java @@ -11,8 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.description; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java index 2fe958839..6414310fd 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java @@ -21,8 +21,8 @@ import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.description.TextData; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; +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.description.operation.ChangeDescriptionElementType; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java index 10608b3b0..5045ce9b5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java @@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.description.Feature; 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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java index aff1fbea8..878a82a91 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java @@ -15,9 +15,9 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.description.DescriptionElementSource; import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.IEntityElement; import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractOriginalSourceElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java index 13da78115..14436683a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java @@ -5,15 +5,12 @@ package eu.etaxonomy.taxeditor.ui.section.description; import java.util.Collection; - import eu.etaxonomy.cdm.api.conversation.ConversationHolder; -import eu.etaxonomy.cdm.model.common.IdentifiableSource; import eu.etaxonomy.cdm.model.common.OriginalSourceType; -import eu.etaxonomy.cdm.model.description.DescriptionElementSource; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; -import eu.etaxonomy.taxeditor.ui.dialog.selection.OriginalSourceTypeSelectionDialog; +import eu.etaxonomy.cdm.model.description.DescriptionElementSource; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java index a25880201..937449fd3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java @@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.description; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.reference.Reference; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java index 7d3b5d613..1f3c1db1f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java @@ -16,9 +16,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.IdentifiableSource; import eu.etaxonomy.cdm.model.common.OriginalSourceType; import eu.etaxonomy.cdm.model.description.DescriptionBase; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.OriginalSourceTypeSelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java index 4485eb50b..46aa7c86a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java @@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.description; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java index b8a69e0ae..c46485065 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java @@ -15,8 +15,8 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.TaxonDescription; import eu.etaxonomy.cdm.model.location.NamedArea; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java index 04a0171b1..fc7330b48 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java @@ -16,8 +16,8 @@ import org.eclipse.ui.forms.widgets.TableWrapLayout; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; 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.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.media.MediaElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java index efcef95e0..bd583af51 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java @@ -12,12 +12,11 @@ package eu.etaxonomy.taxeditor.ui.section.description; import org.eclipse.swt.events.SelectionListener; - import eu.etaxonomy.cdm.model.common.DefinedTerm; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java index 686da6260..8a33c59a2 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java @@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.common.TermType; import eu.etaxonomy.cdm.model.description.IModifiable; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java index c010da5b1..5747110ba 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java @@ -26,8 +26,8 @@ import eu.etaxonomy.cdm.model.description.TextData; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; +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.LabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java index ee928e4e3..137a716ee 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.TaxonDescription; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java index db8e4ea2b..08173c72a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java @@ -13,10 +13,10 @@ package eu.etaxonomy.taxeditor.ui.section.description; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.common.DefinedTerm; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java index 271687dea..81bb68a37 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java @@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.common.TermType; import eu.etaxonomy.cdm.model.description.TaxonDescription; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java index 94ceb4e99..30a4c9808 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java @@ -17,10 +17,10 @@ import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.description.State; import eu.etaxonomy.cdm.model.description.StateData; 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.AbstractFormSection; 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.AbstractEntityCollectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java index 71a182699..30e543531 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java @@ -15,8 +15,8 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.CategoricalData; import eu.etaxonomy.cdm.model.description.StateData; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java index 012b60180..4e879088b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java @@ -15,10 +15,10 @@ import org.eclipse.ui.forms.widgets.ExpandableComposite; import eu.etaxonomy.cdm.model.description.StatisticalMeasure; import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.NumberWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java index 81fef0b58..cef5b828b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java @@ -15,8 +15,8 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.QuantitativeData; import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java index 85c1461bb..bbbdd768c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java @@ -1,9 +1,9 @@ // $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. */ @@ -11,8 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; +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; /** @@ -23,7 +23,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; * @version 1.0 */ public abstract class AbstractDetailedDescriptionDetailElement extends AbstractCdmDetailElement{ - + /** *

Constructor for AbstractDetailedDescriptionDetailElement.

* diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java index 9f6ceb849..7f333ff83 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java @@ -6,9 +6,9 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail; import org.eclipse.ui.forms.widgets.ExpandableComposite; import eu.etaxonomy.cdm.model.description.CategoricalData; +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.LayoutConstants; import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java index 2cf643d51..63c815467 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java @@ -15,9 +15,9 @@ import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.model.common.Language; import eu.etaxonomy.cdm.model.description.CommonTaxonName; import eu.etaxonomy.cdm.model.location.NamedArea; +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.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java index a4cb75343..00b5ca0f5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java @@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail; import eu.etaxonomy.cdm.model.description.Distribution; import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; import eu.etaxonomy.cdm.model.location.NamedArea; +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.selection.EntitySelectionElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java index 0a3090c48..236e046e5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java @@ -18,8 +18,8 @@ import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.description.IndividualsAssociation; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.taxeditor.store.CdmStore; +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.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java index 1315a206d..d0e0016aa 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java @@ -7,9 +7,9 @@ import org.eclipse.ui.forms.widgets.ExpandableComposite; import eu.etaxonomy.cdm.model.description.MeasurementUnit; import eu.etaxonomy.cdm.model.description.QuantitativeData; +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.section.description.StatisticalMeasurementValueSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java index 95221da5e..b54d55833 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java @@ -15,8 +15,8 @@ import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.model.description.TaxonInteraction; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.taxeditor.store.CdmStore; +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.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java index 9e4fcbac7..913677a4b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java @@ -13,8 +13,8 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail; import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.model.description.TextData; +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.MultilanguageTextElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/operation/ChangeDescriptionElementType.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/operation/ChangeDescriptionElementType.java index e1110fb32..df7a426c6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/operation/ChangeDescriptionElementType.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/operation/ChangeDescriptionElementType.java @@ -25,7 +25,7 @@ import eu.etaxonomy.cdm.model.description.IndividualsAssociation; import eu.etaxonomy.cdm.model.description.QuantitativeData; import eu.etaxonomy.cdm.model.description.TaxonInteraction; import eu.etaxonomy.cdm.model.description.TextData; -import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; /** @@ -35,7 +35,7 @@ import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; * @date 25.05.2010 * @version $Id: $ */ -public class ChangeDescriptionElementType extends AbstractPostOperation { +public class ChangeDescriptionElementType extends AbstractPostTaxonOperation { private DescriptionElementBase sourceElement; private DescriptionElementBase destinationElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java index 6c2bd5bbd..97e317ea4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java @@ -28,9 +28,9 @@ import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.BrowserElement; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java index 456fc997f..968a959f1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.Feature; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityCollectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityCollectionElement.java index e0a6ffcab..7efac85a8 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityCollectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityCollectionElement.java @@ -11,13 +11,11 @@ package eu.etaxonomy.taxeditor.ui.section.grantedAuthority; import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Color; import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl; -import eu.etaxonomy.cdm.model.common.Group; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailElement.java index e443d388c..4ed8b9002 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailElement.java @@ -11,8 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.grantedAuthority; import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailSection.java index da87734a8..6612eb656 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailSection.java @@ -16,10 +16,9 @@ import org.springframework.security.core.GrantedAuthority; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.Group; -import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.GrantedAuthoritySelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailWizardPage.java index 3fd5b3887..e61f7f09b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailWizardPage.java @@ -11,9 +11,9 @@ package eu.etaxonomy.taxeditor.ui.section.grantedAuthority; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java index 02db4e698..4aa117867 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java @@ -11,8 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.group; import eu.etaxonomy.cdm.model.common.Group; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java index e5543bd34..8b10edbc5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.Group; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java index 15c4f4910..bf9a702c9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java @@ -12,9 +12,9 @@ package eu.etaxonomy.taxeditor.ui.section.group; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.Group; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupSelectionElement.java index 58a263032..3f673cdd1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupSelectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupSelectionElement.java @@ -11,8 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.group; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.Group; +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.selection.EntitySelectionElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java index 1a828cb19..99dbd19e6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java @@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.group; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.common.User; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java index da46215e4..90268b85f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java @@ -15,9 +15,9 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.Group; import eu.etaxonomy.cdm.model.common.User; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.UserSelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java index 13e903510..95a29a4a5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java @@ -8,8 +8,8 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.IIdentificationKey; import eu.etaxonomy.cdm.model.location.NamedArea; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java index 39aa11e69..c87d90c01 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java @@ -6,9 +6,9 @@ package eu.etaxonomy.taxeditor.ui.section.key; import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.model.description.PolytomousKey; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; 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.section.AbstractIdentifiableEntityDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java index 68a5db7d8..f8634c4aa 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java @@ -7,8 +7,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.PolytomousKey; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java index 97525567a..717c2894a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java @@ -7,8 +7,8 @@ import eu.etaxonomy.cdm.model.description.Feature; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java index 65c4d636c..bbc6c651c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java @@ -7,8 +7,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java index a0c12f1ae..12131c8ec 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java @@ -9,8 +9,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.common.TermType; import eu.etaxonomy.cdm.model.description.PolytomousKey; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java index bd732e883..29c5d089f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java @@ -15,9 +15,9 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.PolytomousKey; import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonBaseSelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java index 098620fd7..352468884 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java @@ -21,10 +21,10 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.common.media.ImageInfo; import eu.etaxonomy.cdm.model.media.ImageFile; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.ImageElement; import eu.etaxonomy.taxeditor.ui.element.KeyValueViewerElement; import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java index 299bd27b4..2def50a26 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java @@ -11,9 +11,9 @@ import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.media.Media; import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java index ae2bbb7ba..1f6e5b5e5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java @@ -22,9 +22,9 @@ import eu.etaxonomy.cdm.model.media.ImageFile; import eu.etaxonomy.cdm.model.media.MediaRepresentation; import eu.etaxonomy.cdm.model.media.MediaRepresentationPart; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.AbstractEntityCollectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java index a5ef67341..2f0908a60 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java @@ -17,9 +17,9 @@ import org.apache.commons.lang.StringUtils; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.media.MediaRepresentationPart; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.LabelElement; import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement; import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java index e191040b9..e336f4f54 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java @@ -9,9 +9,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.media.ImageFile; import eu.etaxonomy.cdm.model.media.MediaRepresentation; import eu.etaxonomy.cdm.model.media.MediaRepresentationPart; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; 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.section.AbstractEntityCollectionSection; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java index 33587e9f6..852bf0c58 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java @@ -15,8 +15,8 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.media.Media; import eu.etaxonomy.cdm.model.media.MediaRepresentation; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java index ab7011da4..a2ba19fa7 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java @@ -5,12 +5,11 @@ package eu.etaxonomy.taxeditor.ui.section.media; import java.util.Collection; - import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity; 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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java index 99506c563..2a397b9b1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java @@ -13,10 +13,10 @@ package eu.etaxonomy.taxeditor.ui.section.name; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.name.TypeDesignationBase; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.section.supplemental.AbstractReferencedEntityElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java index aa03fae0b..e1693f05f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java @@ -13,12 +13,11 @@ package eu.etaxonomy.taxeditor.ui.section.name; import java.util.Arrays; import eu.etaxonomy.cdm.model.agent.INomenclaturalAuthor; -import eu.etaxonomy.cdm.model.agent.Team; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.taxeditor.model.AuthorHelper; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; 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.section.AbstractIdentifiableEntityDetailElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java index 66c071ced..0a7ef1750 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java @@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.NonViralName; 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java index 1dfab3c0f..4b9d7a746 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java @@ -11,9 +11,9 @@ package eu.etaxonomy.taxeditor.ui.section.name; import eu.etaxonomy.cdm.model.name.NonViralName; +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.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java index ae1812feb..897f5a838 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java @@ -17,8 +17,8 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.TaxonNameBase; 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java index d13534adb..99279ca67 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java @@ -21,10 +21,10 @@ import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.Rank; import eu.etaxonomy.cdm.model.name.ZoologicalName; import eu.etaxonomy.cdm.strategy.parser.ParserProblem; +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.CheckboxElement; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement; import eu.etaxonomy.taxeditor.ui.element.ISelectableElement; import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java index 32315ed8d..eaa0a774b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java @@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.NonViralName; 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java index c0e1988f1..2d40fd43e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java @@ -17,10 +17,10 @@ import org.eclipse.swt.graphics.Color; import eu.etaxonomy.cdm.model.name.NameRelationship; import eu.etaxonomy.cdm.model.name.NameRelationshipType; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.LabelElement; import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractReferencedEntityElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java index d28f45adc..d67a379fc 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java @@ -22,8 +22,8 @@ import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.taxeditor.store.StoreUtil; +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.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java index 6d4c33854..e63a41aa6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java @@ -16,11 +16,11 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.NameTypeDesignation; import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.selection.EntitySelectionElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java index 937f08a90..438f90da4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java @@ -14,10 +14,10 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.IEntityElement; import eu.etaxonomy.taxeditor.ui.element.ISelectableElement; import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java index 643804afb..80b5cc3cb 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java @@ -18,8 +18,8 @@ import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.TaxonNameBase; 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java index d4e17a472..245e5e01d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java @@ -16,9 +16,9 @@ import org.eclipse.ui.forms.widgets.ExpandableComposite; import eu.etaxonomy.cdm.model.name.NomenclaturalCode; import eu.etaxonomy.cdm.model.name.NonViralName; +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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java index 654a025e4..2ee3b7241 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java @@ -22,9 +22,9 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.taxon.TaxonBase; 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.CdmPropertyChangeEvent; -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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java index de04f7c59..e38066267 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java @@ -12,9 +12,9 @@ package eu.etaxonomy.taxeditor.ui.section.name; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.name.NonViralName; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java index ed29e2f45..43a1a348a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java @@ -23,10 +23,10 @@ import eu.etaxonomy.cdm.model.media.MediaRepresentationPart; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.ISelectableElement; import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator; import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java index f9401eeee..d7cfc0601 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java @@ -23,8 +23,8 @@ import eu.etaxonomy.cdm.model.description.TextData; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.TaxonNameBase; 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java index 1376e0ba6..ed46ae652 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java @@ -17,10 +17,10 @@ import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation; import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java index 7d280ec95..aa9a7ebf3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java @@ -25,8 +25,8 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; +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.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java index 7fc940542..ede380e34 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java @@ -1,9 +1,9 @@ // $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. */ @@ -13,8 +13,8 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java index 589764a84..e10f28e27 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java @@ -14,9 +14,9 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.agent.AgentBase; import eu.etaxonomy.cdm.model.common.EventBase; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.element.TimePeriodElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AmplificationCollectionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AmplificationCollectionSection.java new file mode 100644 index 000000000..599c67a8c --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AmplificationCollectionSection.java @@ -0,0 +1,88 @@ +// $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 java.util.Collection; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.molecular.Amplification; +import eu.etaxonomy.cdm.model.molecular.DnaSample; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; + +/** + * @author pplitzner + * @date 17.12.2013 + * + */ +public class AmplificationCollectionSection extends +AbstractEntityCollectionSection { + + public AmplificationCollectionSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, int style) { + super(formFactory, conversation, parentElement, "Amplifications", style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object) + */ + /** {@inheritDoc} */ + @Override + public Collection getCollection(DnaSample entity) { + return entity.getAmplifications(); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement() + */ + /** {@inheritDoc} */ + @Override + public Amplification createNewElement() { + return Amplification.NewInstance(getEntity()); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity) + */ + /** {@inheritDoc} */ + @Override + public void addElement(Amplification element) { + getEntity().addAmplification(element); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity) + */ + /** {@inheritDoc} */ + @Override + public void removeElement(Amplification element) { + getEntity().removeAmplification(element); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString() + */ + /** {@inheritDoc} */ + @Override + public String getEmptyString() { + return "No amplifications yet."; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString() + */ + /** {@inheritDoc} */ + @Override + protected String getTooltipString() { + return "Add amplification"; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AmplificationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AmplificationDetailElement.java new file mode 100644 index 000000000..ac22ff096 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AmplificationDetailElement.java @@ -0,0 +1,79 @@ +// $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 org.eclipse.swt.events.SelectionListener; + +import eu.etaxonomy.cdm.model.common.DefinedTerm; +import eu.etaxonomy.cdm.model.molecular.Amplification; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; +import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; + +/** + * + * @author pplitzner + * @date 17.12.2013 + * + */ +public class AmplificationDetailElement extends AbstractEntityCollectionElement { + + private TermComboElement comboDnaMarker; + + public AmplificationDetailElement(CdmFormFactory formFactory, + AbstractFormSection section, Amplification entity, + SelectionListener removeListener, int style) { + super(formFactory, section, entity, removeListener, null, style); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity + * (eu.etaxonomy.cdm.model.common.IVersionableEntity) + */ + /** {@inheritDoc} */ + @Override + public void setEntity(Amplification entity) { + this.entity = entity; + comboDnaMarker.setSelection(entity.getDnaMarker()); + } + + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls + * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int) + */ + /** {@inheritDoc} */ + @Override + public void createControls(ICdmFormElement element, int style) { + comboDnaMarker = formFactory.createTermComboElement(DefinedTerm.class, + element, "DNA Marker", null, style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + if (eventSource == comboDnaMarker) { + getEntity().setDnaMarker(comboDnaMarker.getSelection()); + } + + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/ArtworkGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/ArtworkGeneralDetailElement.java new file mode 100644 index 000000000..eaa0ac895 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/ArtworkGeneralDetailElement.java @@ -0,0 +1,54 @@ +// $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.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 16.12.2013 + * + */ +public class ArtworkGeneralDetailElement extends AbstractCdmDetailElement { + + /** + * @param formFactory + * @param formElement + */ + public ArtworkGeneralDetailElement(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) { + + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java + * .lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/ArtworkGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/ArtworkGeneralDetailSection.java new file mode 100644 index 000000000..1939bcaa9 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/ArtworkGeneralDetailSection.java @@ -0,0 +1,57 @@ +// $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 12.12.2013 + * + */ +public class ArtworkGeneralDetailSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public ArtworkGeneralDetailSection(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 createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createArtworkGeneralDetailElement(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java index d1fc2a0ff..aa30aea54 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java @@ -1,9 +1,9 @@ // $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. */ @@ -12,23 +12,27 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import java.util.Collection; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Color; + import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.NamedAreaSelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; /** - *

CollectingAreasDetailSection class.

+ *

+ * CollectingAreasDetailSection class. + *

* * @author n.hoffmann * @created Oct 14, 2010 * @version 1.0 */ -public class CollectingAreasDetailSection extends - AbstractEntityCollectionSection { +public class CollectingAreasDetailSection extends AbstractEntityCollectionSection { /** *

Constructor for CollectingAreasDetailSection.

@@ -59,7 +63,7 @@ public class CollectingAreasDetailSection extends @Override public NamedArea createNewElement() { NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null); - + return selection; } @@ -99,4 +103,12 @@ public class CollectingAreasDetailSection extends return "Add a collecting area"; } + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createElementComposite(java.lang.Object, org.eclipse.swt.events.SelectionListener, org.eclipse.swt.graphics.Color) + */ + @Override + protected void createElementComposite(NamedArea element, SelectionListener removeListener, Color backgroundColor) { + formFactory.createNamedAreaFieldController(this, element, removeListener); + } + } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java index 1e7acca7c..f8d5e4b77 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java @@ -12,8 +12,8 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import eu.etaxonomy.cdm.model.agent.Institution; import eu.etaxonomy.cdm.model.occurrence.Collection; +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.element.ToggleableTextElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java index ba24188ba..bcdb62be9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java @@ -12,9 +12,9 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.occurrence.Collection; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java index 34f1cbbcc..d2463cc2a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java @@ -24,8 +24,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; import eu.etaxonomy.taxeditor.model.ImageResources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; /** * @author n.hoffmann diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java index 9778af4d9..4abbb14a7 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java @@ -19,9 +19,9 @@ 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java index 4f7448432..6a7640334 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java @@ -14,8 +14,8 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java index 69b53eb65..d3e0e8104 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java @@ -12,9 +12,9 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java new file mode 100644 index 000000000..40c3e3ea5 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java @@ -0,0 +1,63 @@ +// $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.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsElementController; +import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 02.09.2013 + * + */ +public class DerivedUnitDetailsWizardPage extends AbstractCdmEntityWizardPage { + + /** + * @param formFactory + * @param conversation + * @param entity + */ + public DerivedUnitDetailsWizardPage(CdmFormFactory formFactory, ConversationHolder conversation, DerivedUnitFacade entity) { + super(formFactory, conversation, entity); + setTitle("Derived Unit Details"); + } + + /* + * (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 createElement(ICdmFormElement rootElement) { + DerivedUnitDetailsElementController detailElement = formFactory.createDerivedUnitDetailsElementController(rootElement); + detailElement.setEntity(getEntity()); + checkComplete(); + return detailElement; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java index 39fb47ea3..aa939d85e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java @@ -17,8 +17,8 @@ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeConfigurator; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java index 57713fb84..ad497f841 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java @@ -14,8 +14,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java index 2044fba39..281918f9c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java @@ -16,10 +16,9 @@ import eu.etaxonomy.cdm.model.common.LanguageString; 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; @@ -28,7 +27,6 @@ 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; -import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection; /** * @author n.hoffmann diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailSection.java index 6b48d0796..0d4c60bdb 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailSection.java @@ -14,8 +14,8 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralWizardPage.java similarity index 86% rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralWizardPage.java index b79fe9a9d..efb69f82d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralWizardPage.java @@ -12,9 +12,9 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** @@ -22,14 +22,14 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; * @created Dec 17, 2010 * @version 1.0 */ -public class GeneralWizardPage extends AbstractCdmEntityWizardPage { +public class DerivedUnitGeneralWizardPage extends AbstractCdmEntityWizardPage { /** * @param formFactory * @param conversation * @param entity */ - public GeneralWizardPage(CdmFormFactory formFactory, + public DerivedUnitGeneralWizardPage(CdmFormFactory formFactory, ConversationHolder conversation, DerivedUnitFacade entity) { super(formFactory, conversation, entity); setTitle("General Specimen Data"); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java index ea4d184a0..76c33b926 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java @@ -13,8 +13,8 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import org.eclipse.ui.forms.widgets.ExpandableComposite; 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.element.LayoutConstants; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java index c2ae96f52..b235f3b71 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java @@ -14,8 +14,8 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java index 0b624b6c8..73be3ccee 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java @@ -12,15 +12,14 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import org.eclipse.swt.events.SelectionListener; - import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; import eu.etaxonomy.cdm.model.taxon.TaxonBase; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.selection.EntitySelectionElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java index 89a0d0bde..f8f75e673 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java @@ -15,8 +15,8 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; /** * @author n.hoffmann diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DnaSampleGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DnaSampleGeneralDetailElement.java new file mode 100644 index 000000000..9bfd7e990 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DnaSampleGeneralDetailElement.java @@ -0,0 +1,62 @@ +// $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.ui.forms.widgets.ExpandableComposite; + +import eu.etaxonomy.cdm.model.molecular.DnaSample; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 16.12.2013 + * + */ +public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement { + + private AmplificationCollectionSection amplificationCollectionSection; + + /** + * @param formFactory + * @param formElement + */ + public DnaSampleGeneralDetailElement(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, DnaSample entity, int style) { + + amplificationCollectionSection = formFactory.createAmplificationCollectionSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); + amplificationCollectionSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); + amplificationCollectionSection.setEntity(entity); + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java + * .lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DnaSampleGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DnaSampleGeneralDetailSection.java new file mode 100644 index 000000000..585437b08 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DnaSampleGeneralDetailSection.java @@ -0,0 +1,57 @@ +// $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.model.molecular.DnaSample; +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 12.12.2013 + * + */ +public class DnaSampleGeneralDetailSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public DnaSampleGeneralDetailSection(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 DNA"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createDnaSampleGeneralDetailElement(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailsWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailsWizardPage.java new file mode 100644 index 000000000..b327ee373 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailsWizardPage.java @@ -0,0 +1,58 @@ +// $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.campanula.detailViews.fieldObservation.FieldObservationDetailsElementController; +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 FieldObservationDetailsWizardPage extends AbstractCdmEntityWizardPage { + + /** + * @param formFactory + * @param conversation + * @param entity + */ + public FieldObservationDetailsWizardPage(CdmFormFactory formFactory, + ConversationHolder conversation, DerivedUnitFacade entity) { + super(formFactory, conversation, entity); + setTitle("Field Observation 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 createElement(ICdmFormElement rootElement) { + FieldObservationDetailsElementController detailElement = formFactory.createFieldObservationDetailsElementController(rootElement); + detailElement.setEntity(getEntity()); + return detailElement; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationGeneralWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationGeneralWizardPage.java new file mode 100644 index 000000000..271c4fb63 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationGeneralWizardPage.java @@ -0,0 +1,58 @@ +// $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.campanula.detailViews.fieldObservation.FieldObservationGeneralElementController; +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 17, 2010 + * @version 1.0 + */ +public class FieldObservationGeneralWizardPage extends AbstractCdmEntityWizardPage { + + /** + * @param formFactory + * @param conversation + * @param entity + */ + public FieldObservationGeneralWizardPage(CdmFormFactory formFactory, + ConversationHolder conversation, DerivedUnitFacade entity) { + super(formFactory, conversation, entity); + setTitle("Field Observation"); + } + + /* (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 createElement(ICdmFormElement rootElement) { + FieldObservationGeneralElementController detailElement = formFactory.createFieldObservationGeneralElementControllerWizard(rootElement); + detailElement.setEntity(getEntity()); + checkComplete(); + return detailElement; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailElement.java index faa92f9b7..6ee963ea1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailElement.java @@ -14,9 +14,9 @@ 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailSection.java index f1f43d42b..cfe0c3e28 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailSection.java @@ -14,8 +14,8 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailElement.java index 21d3d1e68..e2049f531 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailElement.java @@ -14,9 +14,9 @@ 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement; import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement; import eu.etaxonomy.taxeditor.ui.element.PointElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailSection.java index 589f2cfc3..9c9782f49 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailSection.java @@ -13,8 +13,8 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralWizardPage.java index 780f94bcc..e0844d083 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralWizardPage.java @@ -11,9 +11,9 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitWizardPage.java index 5d2624b7a..a36c9975b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitWizardPage.java @@ -12,9 +12,9 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java index ec26283ec..1b9cf9b88 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java @@ -13,14 +13,11 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import org.eclipse.ui.forms.widgets.ExpandableComposite; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; -import eu.etaxonomy.taxeditor.model.AbstractUtility; -import eu.etaxonomy.taxeditor.preference.Resources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; 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.LayoutConstants; import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection; -import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement; import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java index 44c86337c..d82747e29 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java @@ -14,8 +14,8 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java new file mode 100644 index 000000000..536f82b3e --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java @@ -0,0 +1,58 @@ +// $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.campanula.detailViews.fieldObservation.GatheringEventDetailsElementController; +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 GatheringEventDetailsWizardPage extends AbstractCdmEntityWizardPage { + + /** + * @param formFactory + * @param conversation + * @param entity + */ + public GatheringEventDetailsWizardPage(CdmFormFactory formFactory, + ConversationHolder conversation, DerivedUnitFacade entity) { + super(formFactory, conversation, entity); + setTitle("Gathering Event 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 createElement(ICdmFormElement rootElement) { + GatheringEventDetailsElementController detailElement = formFactory.createGatheringEventDetailsElementController(rootElement); + detailElement.setEntity(getEntity()); + return detailElement; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java index bcfd178d4..bacd432b9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java @@ -12,9 +12,9 @@ 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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/LivingPlantPhotoGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/LivingPlantPhotoGeneralDetailElement.java new file mode 100644 index 000000000..135a99c6d --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/LivingPlantPhotoGeneralDetailElement.java @@ -0,0 +1,55 @@ +// $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.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 16.12.2013 + * + */ +public class LivingPlantPhotoGeneralDetailElement extends AbstractCdmDetailElement { + + /** + * @param formFactory + * @param formElement + */ + public LivingPlantPhotoGeneralDetailElement(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) { + + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java + * .lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/LivingPlantPhotoGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/LivingPlantPhotoGeneralDetailSection.java new file mode 100644 index 000000000..005898ee8 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/LivingPlantPhotoGeneralDetailSection.java @@ -0,0 +1,57 @@ +// $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 12.12.2013 + * + */ +public class LivingPlantPhotoGeneralDetailSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public LivingPlantPhotoGeneralDetailSection(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 createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createLivingPlantPhotoGeneralDetailElement(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java index 021e68273..7a4458512 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java @@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenAbstractDeterminationEventDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenAbstractDeterminationEventDetailSection.java new file mode 100644 index 000000000..77eb4cd6f --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenAbstractDeterminationEventDetailSection.java @@ -0,0 +1,81 @@ +// $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.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; + +/** + *

DeterminationEventDetailSection class.

+ * + * @author n.hoffmann + * @created Oct 13, 2010 + * @version 1.0 + */ +public abstract class PreservedSpecimenAbstractDeterminationEventDetailSection extends + AbstractEntityCollectionSection { + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param title + * @param style + */ + public PreservedSpecimenAbstractDeterminationEventDetailSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, + String title, int style) { + super(formFactory, conversation, parentElement, title, style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement() + */ + /** {@inheritDoc} */ + @Override + public DeterminationEvent createNewElement() { + DeterminationEvent instance = DeterminationEvent.NewInstance(); + instance.setIdentifiedUnit(getEntity()); + return instance; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity) + */ + /** {@inheritDoc} */ + @Override + public void addElement(DeterminationEvent determination) { + getEntity().addDetermination(determination); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity) + */ + /** {@inheritDoc} */ + @Override + public void removeElement(DeterminationEvent determination) { + getEntity().removeDetermination(determination); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString() + */ + /** {@inheritDoc} */ + @Override + public String getEmptyString() { + return "No determinations yet."; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenCurrentDeterminationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenCurrentDeterminationDetailSection.java new file mode 100644 index 000000000..04d8a9da1 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenCurrentDeterminationDetailSection.java @@ -0,0 +1,135 @@ +// $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 java.util.Arrays; +import java.util.Collection; +import java.util.Set; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ToolBarManager; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.ImageData; +import org.eclipse.swt.widgets.Control; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; +import eu.etaxonomy.taxeditor.model.ImageResources; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; + +/** + * @author n.hoffmann + * @created May 11, 2011 + * @version 1.0 + */ +public class PreservedSpecimenCurrentDeterminationDetailSection extends + PreservedSpecimenAbstractDeterminationEventDetailSection { + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param style + */ + public PreservedSpecimenCurrentDeterminationDetailSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, + int style) { + super(formFactory, conversation, parentElement, "Current Determination", style); + } + + @Override + protected Control createToolbar() { + ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); + + Action addAction = new Action("add", Action.AS_PUSH_BUTTON){ + /* (non-Javadoc) + * @see org.eclipse.jface.action.Action#run() + */ + @Override + public void run() { + DeterminationEvent element = createNewElement(); + + // set as preferred determination + Set events = getEntity().getDeterminations(); + for (DeterminationEvent event : events){ + if (event.getPreferredFlag() == true){ + event.setPreferredFlag(false); + } + } + element.setPreferredFlag(true); + events.add(element); + + if(element != null){ + if(! getSection().isExpanded()) { + getSection().setExpanded(true); + } + internalUpdateSection(true); + } + } + }; + addAction.setImageDescriptor(new ImageDescriptor() { + + @Override + public ImageData getImageData() { + return ImageResources.getImage(ImageResources.ADD_ICON).getImageData(); + } + }); + addAction.setToolTipText(getTooltipString()); + + toolBarManager.add(addAction); + + return toolBarManager.createControl(this); + } + + @Override + public void refresh() { + internalUpdateSection(false); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#getCollection(java.lang.Object) + */ + @Override + public Collection getCollection(DerivedUnit entity) { + DeterminationEvent preferredDetermination = null; + Set events = entity.getDeterminations(); + for (DeterminationEvent event : events){ + if (event.getPreferredFlag() == true){ + preferredDetermination = event; + } + } + return preferredDetermination != null ? Arrays.asList(new DeterminationEvent[]{preferredDetermination}) : null; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.occurrence.AbstractDeterminationEventDetailSection#createNewElement() + */ + @Override + public DeterminationEvent createNewElement() { + DeterminationEvent newElement = super.createNewElement(); + newElement.setPreferredFlag(true); + return newElement; + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString() + */ + /** {@inheritDoc} */ + @Override + protected String getTooltipString() { + return "Create new current determination event"; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDetailElement.java new file mode 100644 index 000000000..b080fa10c --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDetailElement.java @@ -0,0 +1,130 @@ +// $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 org.eclipse.ui.forms.widgets.ExpandableComposite; + +import eu.etaxonomy.cdm.model.common.DefinedTerm; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +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.LayoutConstants; +import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; +import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; + +/** + *

+ * DerivedUnitBaseDetailElement class. + *

+ * + * @author n.hoffmann + * @created Jun 24, 2010 + * @version 1.0 + */ +public class PreservedSpecimenDetailElement extends + AbstractCdmDetailElement { + + private TextWithLabelElement text_derivedUnitDefinitions; + + private TextWithLabelElement text_barcode; + + private TextWithLabelElement text_catalogNumber; + + private EntitySelectionElement selection_storedUnder; + + private TextWithLabelElement text_exsicatum; + + private TermComboElement combo_preservationMethod; + + private SpecimenCollectionDetailSection section_duplicates; + + private PreservedSpecimenSourceCollectionDetailSection section_source; + + /** + *

+ * Constructor for DerivedUnitBaseDetailElement. + *

+ * + * @param formFactory + * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} + * object. + * @param formElement + * a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} + * object. + */ + public PreservedSpecimenDetailElement(CdmFormFactory formFactory, + ICdmFormElement formElement) { + super(formFactory, formElement); + } + + /** {@inheritDoc} */ + @Override + protected void createControls(ICdmFormElement formElement, DerivedUnit entity, int style) { + // Disable for now + // text_derivedUnitDefinitions = + // formFactory.createTextWithLabelElement(formElement, + // "Specimen Definition", + // facade.getDerivedUnitDefinition(CdmStore.getDefaultLanguage()), + // style); + text_barcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style); + text_catalogNumber = formFactory.createTextWithLabelElement(formElement, "Catalog Number", entity.getCatalogNumber(), style); + + + PreservationMethod preservationMethod = entity.getPreservation(); + combo_preservationMethod = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Preservation Method", preservationMethod==null?null:preservationMethod.getDefinedMaterialOrMethod(), style); + selection_storedUnder = formFactory.createSelectionElement(TaxonNameBase.class, getConversationHolder(), formElement, "Stored Under", entity.getStoredUnder(), EntitySelectionElement.ALL, style); + + text_exsicatum = formFactory.createTextWithLabelElement(formElement, "Exsiccatum", entity.getExsiccatum(), style); + +// section_duplicates = (SpecimenCollectionDetailSection) formFactory +// .createEntityDetailSection( +// EntityDetailType.SPECIMEN_COLLECTION, +// getConversationHolder(), formElement, Section.TWISTIE); +// section_duplicates +// .setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); +// section_duplicates.setEntity(entity); + + section_source = formFactory.createPreservedSpecimenSourceCollectionDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); + section_source.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); + section_source.setEntity(entity); + } + + /** {@inheritDoc} */ + @Override + public void handleEvent(Object eventSource) { + if (eventSource == text_derivedUnitDefinitions) { + getEntity().putDefinition(CdmStore.getDefaultLanguage(), text_derivedUnitDefinitions.getText()); + } 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) { + PreservationMethod preservationMethod = getEntity().getPreservation(); + if(preservationMethod!=null){ + preservationMethod.setDefinedMaterialOrMethod(combo_preservationMethod.getSelection()); + } + } 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); + } + } + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDetailSection.java new file mode 100644 index 000000000..3fa09b367 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDetailSection.java @@ -0,0 +1,62 @@ +// $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 org.eclipse.jface.viewers.ISelectionProvider; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +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; + +/** + *

DerivedUnitBaseDetailSection class.

+ * + * @author n.hoffmann + * @created Jun 24, 2010 + * @version 1.0 + */ +public class PreservedSpecimenDetailSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + *

Constructor for DerivedUnitBaseDetailSection.

+ * + * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object. + * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. + * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object. + * @param style a int. + */ + public PreservedSpecimenDetailSection(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() + */ + /** {@inheritDoc} */ + @Override + public String getHeading() { + return "Specimen Details"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createPreservedSpecimenDetailElement(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationDetailElement.java new file mode 100644 index 000000000..a0ff20cfc --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationDetailElement.java @@ -0,0 +1,68 @@ +// $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 org.eclipse.ui.forms.widgets.ExpandableComposite; + +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author n.hoffmann + * @created May 11, 2011 + * @version 1.0 + */ +public class PreservedSpecimenDeterminationDetailElement extends AbstractCdmDetailElement { + + private PreservedSpecimenCurrentDeterminationDetailSection section_currentDetermination; + + private PreservedSpecimenDeterminationHistoryDetailSection section_determinationHistory; + + /** + * @param formFactory + * @param formElement + */ + public PreservedSpecimenDeterminationDetailElement(CdmFormFactory formFactory, + ICdmFormElement formElement) { + super(formFactory, formElement); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, java.lang.Object, int) + */ + @Override + protected void createControls(ICdmFormElement formElement, + DerivedUnit entity, int style) { + + section_currentDetermination = formFactory.createPreservedSpecimenCurrentDeterminationDetailSection(getConversationHolder(), formElement, ExpandableComposite.EXPANDED); + section_currentDetermination.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); + section_currentDetermination.setEntity(entity); + + section_determinationHistory = formFactory.createPreservedSpecimenDeterminationHistoryDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); + section_determinationHistory.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); + section_determinationHistory.setEntity(entity); + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + if(eventSource == section_currentDetermination){ + section_determinationHistory.refresh(); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationDetailSection.java new file mode 100644 index 000000000..7097f99e7 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationDetailSection.java @@ -0,0 +1,58 @@ +// $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 org.eclipse.jface.viewers.ISelectionProvider; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +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 n.hoffmann + * @created May 11, 2011 + * @version 1.0 + */ +public class PreservedSpecimenDeterminationDetailSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection { + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public PreservedSpecimenDeterminationDetailSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading() + */ + @Override + public String getHeading() { + return "Determinations"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createPreservedSpecimenDeterminationDetailElement(parentElement); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationHistoryDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationHistoryDetailSection.java new file mode 100644 index 000000000..9090761d3 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenDeterminationHistoryDetailSection.java @@ -0,0 +1,76 @@ +// $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 java.util.Collection; +import java.util.HashSet; +import java.util.Set; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; + +/** + * @author n.hoffmann + * @created May 11, 2011 + * @version 1.0 + */ +public class PreservedSpecimenDeterminationHistoryDetailSection extends +PreservedSpecimenAbstractDeterminationEventDetailSection { + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param style + */ + public PreservedSpecimenDeterminationHistoryDetailSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, + int style) { + super(formFactory, conversation, parentElement, "Determination History", style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#getCollection(java.lang.Object) + */ + @Override + public Collection getCollection(DerivedUnit entity) { + if(entity!=null){ + Set events = entity.getDeterminations(); + Set result = new HashSet(); + for (DeterminationEvent event : events){ + if (event.getPreferredFlag() != true){ + result.add(event); + } + } + return result; + } + return null; + } + + @Override + public void refresh() { + internalUpdateSection(false); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString() + */ + /** {@inheritDoc} */ + @Override + protected String getTooltipString() { + return "Add a determination event to the history"; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenGeneralDetailElement.java new file mode 100644 index 000000000..ba7f00ff6 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenGeneralDetailElement.java @@ -0,0 +1,87 @@ +// $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.model.occurrence.Collection; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; +import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; +import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; + +/** + * @author pplitzner + * @date 17.12.2013 + * + */ +public class PreservedSpecimenGeneralDetailElement extends AbstractCdmDetailElement { + + private ToggleableTextElement toggleableText_titleCache; + private EntitySelectionElement selection_collection; + private TextWithLabelElement text_accessionNumber; + + + /** + * @param formFactory + * @param formElement + */ + public PreservedSpecimenGeneralDetailElement(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, + DerivedUnit entity, int style) { + toggleableText_titleCache = formFactory.createToggleableTextField( + formElement, "Title Cache", entity.getTitleCache(), + entity.isProtectedTitleCache(), style); + selection_collection = formFactory + .createSelectionElement(Collection.class, + getConversationHolder(), formElement, "Collection", + entity.getCollection(), + EntitySelectionElement.ALL, style); + text_accessionNumber = formFactory.createTextWithLabelElement( + formElement, "Accession Number", entity.getAccessionNumber(), + 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_collection) { + getEntity().setCollection(selection_collection.getSelection()); + } else if (eventSource == text_accessionNumber) { + getEntity().setAccessionNumber(text_accessionNumber.getText()); + } + if (eventSource != toggleableText_titleCache) { + toggleableText_titleCache.setText(getEntity().getTitleCache()); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenGeneralDetailSection.java new file mode 100644 index 000000000..d541569c4 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenGeneralDetailSection.java @@ -0,0 +1,57 @@ +// $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.model.occurrence.DerivedUnit; +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 17.12.2013 + * + */ +public class PreservedSpecimenGeneralDetailSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public PreservedSpecimenGeneralDetailSection(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 Specimen"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int) + */ + @Override + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createPreservedSpecimenGeneralDetailElement(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenSourceCollectionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenSourceCollectionDetailSection.java new file mode 100644 index 000000000..ccfe46fd6 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/PreservedSpecimenSourceCollectionDetailSection.java @@ -0,0 +1,100 @@ +// $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 java.util.Collection; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.common.IdentifiableSource; +import eu.etaxonomy.cdm.model.common.OriginalSourceType; +import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; + +/** + *

SourceCollectionDetailSection class.

+ * + * @author n.hoffmann + * @created Oct 15, 2010 + * @version 1.0 + */ +public class PreservedSpecimenSourceCollectionDetailSection extends + AbstractEntityCollectionSection { + + /** + *

Constructor for SourceCollectionDetailSection.

+ * + * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object. + * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object. + * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. + * @param style a int. + */ + public PreservedSpecimenSourceCollectionDetailSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, int style) { + super(formFactory, conversation, parentElement, "Sources", style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object) + */ + /** {@inheritDoc} */ + @Override + public Collection getCollection(DerivedUnit entity) { + return entity.getSources(); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement() + */ + /** {@inheritDoc} */ + @Override + public IdentifiableSource createNewElement() { + return IdentifiableSource.NewInstance(OriginalSourceType.PrimaryTaxonomicSource); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity) + */ + /** {@inheritDoc} */ + @Override + public void addElement(IdentifiableSource element) { + getEntity().addSource(element); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity) + */ + /** {@inheritDoc} */ + @Override + public void removeElement(IdentifiableSource element) { + getEntity().removeSource(element); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString() + */ + /** {@inheritDoc} */ + @Override + public String getEmptyString() { + return "No sources yet."; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString() + */ + /** {@inheritDoc} */ + @Override + protected String getTooltipString() { + return "Add source"; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java index 501d000ba..c74cc9adc 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java @@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.model.common.IdentifiableSource; import eu.etaxonomy.cdm.model.common.OriginalSourceType; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java index d98870644..d78132b9a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java @@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java index 7caf8bd4c..aee551083 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java @@ -16,8 +16,8 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java new file mode 100644 index 000000000..1dcd7c7cc --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java @@ -0,0 +1,56 @@ +// $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.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenDetailsElementController; +import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 30.08.2013 + * + */ +public class SpecimenDetailsWizardPage extends AbstractCdmEntityWizardPage { + + /** + * @param formFactory + * @param conversation + * @param entity + */ + public SpecimenDetailsWizardPage(CdmFormFactory formFactory, + ConversationHolder conversation, DerivedUnitFacade entity) { + super(formFactory, conversation, entity); + setTitle("Specimen 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 createElement(ICdmFormElement rootElement) { + SpecimenDetailsElementController detailElement = formFactory.createSpecimenDetailsElementController(rootElement); + detailElement.setEntity(getEntity()); + return detailElement; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java new file mode 100644 index 000000000..c33b78420 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java @@ -0,0 +1,56 @@ +// $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.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralElementController; +import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 02.09.2013 + * + */ +public class SpecimenGeneralWizardPage extends AbstractCdmEntityWizardPage { + + /** + * @param formFactory + * @param conversation + * @param entity + */ + public SpecimenGeneralWizardPage(CdmFormFactory formFactory, + ConversationHolder conversation, DerivedUnitFacade entity) { + super(formFactory, conversation, entity); + setTitle("Specimen"); + } + + /* (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 createElement(ICdmFormElement rootElement) { + FieldObservationGeneralElementController detailElement = formFactory.createSpecimenGeneralElementControllerWizard(rootElement); + detailElement.setEntity(getEntity()); + checkComplete(); + return detailElement; + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenScanGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenScanGeneralDetailElement.java new file mode 100644 index 000000000..c936190a3 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenScanGeneralDetailElement.java @@ -0,0 +1,55 @@ +// $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.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 16.12.2013 + * + */ +public class SpecimenScanGeneralDetailElement extends AbstractCdmDetailElement { + + /** + * @param formFactory + * @param formElement + */ + public SpecimenScanGeneralDetailElement(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) { + + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java + * .lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenScanGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenScanGeneralDetailSection.java new file mode 100644 index 000000000..211a9a5da --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenScanGeneralDetailSection.java @@ -0,0 +1,57 @@ +// $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 12.12.2013 + * + */ +public class SpecimenScanGeneralDetailSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public SpecimenScanGeneralDetailSection(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 createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createSpecimenScanGeneralDetailElement(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/TissueSampleGeneralDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/TissueSampleGeneralDetailElement.java new file mode 100644 index 000000000..cec0f5a45 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/TissueSampleGeneralDetailElement.java @@ -0,0 +1,55 @@ +// $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.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; + +/** + * @author pplitzner + * @date 16.12.2013 + * + */ +public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement { + + /** + * @param formFactory + * @param formElement + */ + public TissueSampleGeneralDetailElement(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) { + + } + + /* + * (non-Javadoc) + * + * @see + * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java + * .lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/TissueSampleGeneralDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/TissueSampleGeneralDetailSection.java new file mode 100644 index 000000000..c5450b424 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/TissueSampleGeneralDetailSection.java @@ -0,0 +1,59 @@ +// $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 12.12.2013 + * + */ +public class TissueSampleGeneralDetailSection extends AbstractCdmDetailSection implements + IDerivedUnitFacadeDetailSection { + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public TissueSampleGeneralDetailSection(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 createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createTissueSampleGeneralDetailElement(parentElement); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java index 977e56d64..b97620569 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java @@ -12,8 +12,8 @@ package eu.etaxonomy.taxeditor.ui.section.reference; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.reference.Reference; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java index 33cd1e7b9..d7756a1ee 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java @@ -17,8 +17,8 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.reference.INomenclaturalReference; 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java index 5706de506..c468b2f43 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java @@ -25,10 +25,10 @@ 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.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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java index 6a8f53dbb..9f0522b85 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java @@ -18,8 +18,8 @@ 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.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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java index a8bdfe4d0..3c34ff42d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java @@ -14,10 +14,10 @@ import org.eclipse.swt.SWT; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.reference.Reference; +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.element.CdmPropertyChangeEvent; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.IExceptionHandler; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java index 97d86685e..1d6c70e03 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java @@ -1,9 +1,9 @@ // $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. */ @@ -14,11 +14,10 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.common.OriginalSourceBase; import eu.etaxonomy.cdm.model.common.OriginalSourceType; -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.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; /** @@ -49,20 +48,20 @@ public abstract class AbstractOriginalSourceElementHeadlineSection class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java index 4c381f8f6..8d0bcd706 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java @@ -6,10 +6,9 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.common.IdentifiableSource; -import eu.etaxonomy.cdm.model.common.OriginalSourceType; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; /** *

IdentifiableSourceElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java index 62b04b7e8..aa50c31ea 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java @@ -7,11 +7,11 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.common.Marker; import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.section.AbstractEntityCollectionElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java index 3906eb368..ffc3f10a2 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java @@ -5,12 +5,11 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental; import java.util.Collection; - import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.AnnotatableEntity; import eu.etaxonomy.cdm.model.common.Marker; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java index e748ba816..49617ee1b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java @@ -8,10 +8,10 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.agent.AgentBase; import eu.etaxonomy.cdm.model.media.Rights; import eu.etaxonomy.cdm.model.media.RightsType; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; 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.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java index 02d1b4eba..98601a485 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java @@ -8,8 +8,8 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.IdentifiableEntity; import eu.etaxonomy.cdm.model.media.Rights; +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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java index 8e644d609..6b573f3c2 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java @@ -10,8 +10,8 @@ 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; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java index 353a1dae3..7dce82ea4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java @@ -17,12 +17,11 @@ import eu.etaxonomy.cdm.common.CdmUtils; import eu.etaxonomy.cdm.model.common.User; import eu.etaxonomy.cdm.model.common.VersionableEntity; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; +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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.IEntityElement; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; -import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; /** *

VersionElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java index 6e51fbe79..c41b22ae1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java @@ -11,9 +11,9 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental; import eu.etaxonomy.cdm.model.common.VersionableEntity; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; /** *

VersionSection class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java index ae5aa3514..0647ab1cc 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java @@ -19,9 +19,9 @@ import org.eclipse.swt.widgets.Label; import eu.etaxonomy.cdm.strategy.parser.ParserProblem; import eu.etaxonomy.taxeditor.store.CdmStore; +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.ICdmFormElement; /** *

ParsingMessageElement class.

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java index bf989c41c..ab8400bcb 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java @@ -19,8 +19,8 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.strategy.parser.ParserProblem; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java index 525d3ba3f..61da0e801 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java @@ -18,9 +18,9 @@ import org.eclipse.swt.SWT; 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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java index e0a5d92eb..db4259714 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java @@ -15,8 +15,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; 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.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java index b28944f2a..4331ba49b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java @@ -13,9 +13,9 @@ package eu.etaxonomy.taxeditor.ui.section.taxon; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java index 7b04da49e..ddb0bf790 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java @@ -15,10 +15,10 @@ import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer; import eu.etaxonomy.taxeditor.store.StoreUtil; +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.CdmPropertyChangeEvent; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailSection.java index c787ad00d..22fbdff0d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailSection.java @@ -13,8 +13,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java index f611e6bb9..479527670 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java @@ -3,9 +3,9 @@ package eu.etaxonomy.taxeditor.ui.section.user; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.common.Group; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java index 75f83615a..7846a03d6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java @@ -8,9 +8,9 @@ import java.util.Collection; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.Group; import eu.etaxonomy.cdm.model.common.User; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.GroupSelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java index ad14db124..438c860e4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java @@ -6,9 +6,9 @@ package eu.etaxonomy.taxeditor.ui.section.user; import eu.etaxonomy.cdm.model.agent.Person; import eu.etaxonomy.cdm.model.common.User; import eu.etaxonomy.taxeditor.store.CdmStore; +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.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java index a80b492c0..ca02496c0 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java @@ -10,8 +10,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.User; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java index 972b92dc6..3f358d271 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java @@ -5,9 +5,9 @@ package eu.etaxonomy.taxeditor.ui.section.user; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.User; +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.element.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailElement.java index 9217a71d8..d3e0f7fcb 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailElement.java @@ -1,8 +1,8 @@ /** * Copyright (C) 2011 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. */ @@ -14,6 +14,7 @@ import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.Set; + import org.apache.log4j.Logger; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; @@ -28,16 +29,16 @@ import eu.etaxonomy.cdm.model.description.StateData; import eu.etaxonomy.taxeditor.editor.UsageTermCollection; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.TermStore; +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.section.AbstractCdmDetailElement; - + /** * The context manager mediates context start/stop and workbench shutdowns to all registered listeners. * - * @author a.theys + * @author a.theys * @created mar 13, 2012 * @version 1.0 */ @@ -72,14 +73,14 @@ public class UseRecordDetailElement extends combo_HumanGroup.addSelectionListener(this); combo_EthnicGroup = formFactory.createTermComboElement(DefinedTerm.class, this, UsageTermCollection.ethnicGroupLabel, null, style); combo_Country = formFactory.createTermComboElement(DefinedTerm.class, this, UsageTermCollection.countryLabel, null, style); - + List termsUseCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false)); combo_UseCategory.setTerms(termsUseCategory); combo_UseCategory.setSelection(stateSelection(UsageTermCollection.useCategoryVocabularyLabel)); - + List termsSubCategory = setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false), combo_UseCategory.getSelection()); - + if (termsSubCategory != null) { combo_UseSubCategory.setTerms(termsSubCategory); combo_UseSubCategory.setSelection(stateSelection(UsageTermCollection.useSubCategoryVocabularyLabel)); @@ -88,19 +89,19 @@ public class UseRecordDetailElement extends else { combo_UseSubCategory.setEnabled(false); } - + List plantPartsToAdd = setModifierComboTerms(TermStore.getTerms(DefinedTerm.class, null, false), UsageTermCollection.plantPartLabel); combo_PlantPart.setTerms(plantPartsToAdd); combo_PlantPart.setSelection(modifierSelection(UsageTermCollection.plantPartLabel)); - + List countriesToAdd = setModifierComboTerms(TermStore.getTerms(DefinedTerm.class, null, false), UsageTermCollection.countryLabel); combo_Country.setTerms(countriesToAdd); combo_Country.setSelection(modifierSelection(UsageTermCollection.countryLabel)); - + List humanGroupToAdd = setModifierComboTerms(TermStore.getTerms(DefinedTerm.class, null, false), UsageTermCollection.humanGroupLabel); combo_HumanGroup.setTerms(humanGroupToAdd); combo_HumanGroup.setSelection(modifierSelection(UsageTermCollection.humanGroupLabel)); - + List ethnicGroupToAdd = setEthnicGroupComboTerms(TermStore.getTerms(DefinedTerm.class, null, false), combo_HumanGroup.getSelection()); if (ethnicGroupToAdd != null) { combo_EthnicGroup.setTerms(ethnicGroupToAdd); @@ -128,9 +129,9 @@ public class UseRecordDetailElement extends return null; } return null; - + } - + /** * Returns the selected state * @param comboCategory @@ -146,16 +147,16 @@ public class UseRecordDetailElement extends return statedata.getState(); } } - } + } } } else { return null; } return null; - + } - + /** * This function sets the combo terms (Besides EthnicGroup * @param listOfTerms @@ -173,10 +174,10 @@ public class UseRecordDetailElement extends termsToAdd.add(term); } } - + return termsToAdd; } - + /** * This function sets the Use Category combo term @@ -208,7 +209,7 @@ public class UseRecordDetailElement extends State selectedUseCategory) { List termsToAdd = new ArrayList(); if (combo_UseCategory.getSelection() != null) { - + for (State term : listOfTerms) { if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(selectedUseCategory.getTitleCache()))) { termsToAdd.add(term); @@ -216,7 +217,7 @@ public class UseRecordDetailElement extends else if ((term.getVocabulary() !=null) && (term.getVocabulary().getTitleCache().equals(selectedUseCategory.getTitleCache()))) { termsToAdd.add(term); } - + } } else if (!getEntity().getStateData().isEmpty()) { @@ -230,21 +231,21 @@ public class UseRecordDetailElement extends termsToAdd.add(term); } } - + } } } - + } - + else { return null; } return termsToAdd; } - - + + /** * This function sets the EthnicGroup combo term * @param listOfTerms @@ -256,7 +257,7 @@ public class UseRecordDetailElement extends List termsToAdd = new ArrayList(); if (combo_HumanGroup.getSelection() != null) { for (DefinedTerm term : listOfTerms) { - + if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(selectedHumangroup.getTitleCache()))) { termsToAdd.add(term); } @@ -277,7 +278,7 @@ public class UseRecordDetailElement extends termsToAdd.add(modifier); } } - + } } } @@ -285,11 +286,11 @@ public class UseRecordDetailElement extends } else { return null; } - + return termsToAdd; } - + /** {@inheritDoc} */ @Override public void handleEvent(Object eventSource) { @@ -304,7 +305,7 @@ public class UseRecordDetailElement extends if(!useCategoryStateDataCheck.getState().getTitleCache().equals(combo_UseCategory.getSelection().getTitleCache())) { isUseCategoryChanged = true; } - + } } ListIterator itrExistingStates = getEntity().getStateData().listIterator(); @@ -321,7 +322,7 @@ public class UseRecordDetailElement extends stateData.setState(combo_UseCategory.getSelection()); stateData.putModifyingText(CdmStore.getDefaultLanguage(),UsageTermCollection.useCategoryVocabularyLabel); itrExistingStates.add(stateData); - + } } else if (modifyingText.get(CdmStore.getDefaultLanguage()).getText().equals(UsageTermCollection.useSubCategoryVocabularyLabel) && isUseCategoryChanged == true) { itrExistingStates.remove(); @@ -329,8 +330,8 @@ public class UseRecordDetailElement extends } } } - - + + if (isChanged == false) { StateData stateData = StateData .NewInstance(combo_UseCategory.getSelection()); @@ -338,9 +339,9 @@ public class UseRecordDetailElement extends stateData.putModifyingText(CdmStore.getDefaultLanguage(), UsageTermCollection.useCategoryVocabularyLabel); getEntity().addStateData(stateData); } - + combo_UseSubCategory.setEnabled(true); - + } else { if (!getEntity().getStateData().isEmpty()) { @@ -357,7 +358,7 @@ public class UseRecordDetailElement extends } } } - + if (eventSource == combo_UseSubCategory) { if (combo_UseSubCategory.getSelection() != null) { boolean isChanged = false; @@ -381,7 +382,7 @@ public class UseRecordDetailElement extends } } } - + if (isChanged == false){ StateData stateData = StateData .NewInstance(combo_UseSubCategory.getSelection()); @@ -389,7 +390,7 @@ public class UseRecordDetailElement extends stateData.putModifyingText(CdmStore.getDefaultLanguage(), UsageTermCollection.useSubCategoryVocabularyLabel); getEntity().addStateData(stateData); } - + } else { if (!getEntity().getStateData().isEmpty()) { Iterator itrStateData = getEntity().getStateData().iterator(); @@ -415,8 +416,8 @@ public class UseRecordDetailElement extends if(GetVocabularyType(modifier, UsageTermCollection.plantPartLabel)) { itrExistingModifiers.remove(); } - - } + + } DefinedTerm plantPart = combo_PlantPart.getSelection(); getEntity().addModifier(plantPart); } else { @@ -430,7 +431,7 @@ public class UseRecordDetailElement extends } } } - + } } if (eventSource == combo_Country) { @@ -441,7 +442,7 @@ public class UseRecordDetailElement extends if(GetVocabularyType(modifier, UsageTermCollection.countryLabel)) { itrExistingModifiers.remove(); } - + } DefinedTerm country = combo_Country.getSelection(); getEntity().addModifier(country); @@ -465,8 +466,8 @@ public class UseRecordDetailElement extends if(modToCheck.equals(combo_HumanGroup.getSelection()) && (GetVocabularyType(modToCheck, UsageTermCollection.humanGroupLabel))) { isHumanGroupChanged = false; } - - + + } Iterator itrExistingModifiers = getEntity().getModifiers().iterator(); while (itrExistingModifiers.hasNext()) { @@ -474,8 +475,8 @@ public class UseRecordDetailElement extends if((GetVocabularyType(modifier, UsageTermCollection.humanGroupLabel) || GetVocabularyType(modifier, UsageTermCollection.ethnicGroupLabel)) && isHumanGroupChanged) { itrExistingModifiers.remove(); } - - } + + } if(isHumanGroupChanged){ DefinedTerm humanGroup = combo_HumanGroup.getSelection(); getEntity().addModifier(humanGroup); @@ -496,12 +497,12 @@ public class UseRecordDetailElement extends // DefinedTerm emptyMod = DefinedTerm.NewInstance(); DefinedTerm emptyMod = null; - - + + emptyListToResetComboBox.add(emptyMod); combo_EthnicGroup.setTerms(emptyListToResetComboBox); combo_EthnicGroup.setEnabled(false); - + } } if (eventSource == combo_EthnicGroup) { @@ -512,14 +513,14 @@ public class UseRecordDetailElement extends if(GetVocabularyType(modifier, combo_HumanGroup.getSelection().getTitleCache())) { itrExistingModifiers.remove(); } - - } + + } DefinedTerm ethnicGroup = combo_EthnicGroup.getSelection(); getEntity().addModifier(ethnicGroup); } else { Set modifiers = getEntity().getModifiers(); if(!modifiers.isEmpty()) { - + Iterator itr = modifiers.iterator(); while (itr.hasNext()) { DefinedTerm currentMod = itr.next(); @@ -527,13 +528,13 @@ public class UseRecordDetailElement extends itr.remove(); } } - + } } } } - - + + /** * This function Checks the vocabulary type @@ -553,8 +554,8 @@ public class UseRecordDetailElement extends } return false; } - - + + /** {@inheritDoc} */ @Override @@ -571,11 +572,11 @@ public class UseRecordDetailElement extends State selectedUseCategory = combo_UseCategory.getSelection(); if (selectedUseCategory != null) { combo_UseSubCategory.setTerms(setUseCategoryComboTerms(TermStore.getTerms(State.class, null, false),selectedUseCategory)); - + if (!getEntity().getStateData().isEmpty()) { Iterator itrExistingState = getEntity().getStateData().iterator(); while(itrExistingState.hasNext()) { - StateData existingStateData = (StateData) itrExistingState.next(); + StateData existingStateData = itrExistingState.next(); Map modifyingText = existingStateData.getModifyingText(); if (modifyingText.get(CdmStore.getDefaultLanguage()) != null) { if (modifyingText.get(CdmStore.getDefaultLanguage()) @@ -602,7 +603,7 @@ public class UseRecordDetailElement extends } } } - + } } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailSection.java index 01b8ce6e5..fc6bd3960 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailSection.java @@ -13,8 +13,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.taxeditor.store.CdmStore; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java index 04428ca91..66df36da8 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java @@ -14,8 +14,8 @@ import eu.etaxonomy.cdm.model.common.TermBase; import eu.etaxonomy.cdm.model.common.TermVocabulary; import eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester; import eu.etaxonomy.taxeditor.store.CdmStore; +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.element.UriWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java index f6b7aeda6..7878c6796 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java @@ -11,8 +11,8 @@ package eu.etaxonomy.taxeditor.ui.section.vocabulary; import eu.etaxonomy.cdm.model.common.DefinedTermBase; import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; /** * @author l.morris diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java index b7e482e60..f8006d17e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java @@ -13,8 +13,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.DefinedTermBase; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java index 441cd85b2..78c0d19c3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java @@ -10,9 +10,9 @@ package eu.etaxonomy.taxeditor.ui.section.vocabulary; import eu.etaxonomy.cdm.model.description.Feature; +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; /** * @author l.morris diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java index 20eb28864..d95886b74 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java @@ -12,13 +12,12 @@ package eu.etaxonomy.taxeditor.ui.section.vocabulary; import java.net.URISyntaxException; import eu.etaxonomy.cdm.model.common.Language; -import eu.etaxonomy.cdm.model.common.Representation; import eu.etaxonomy.cdm.model.location.NamedArea; import eu.etaxonomy.cdm.model.location.NamedAreaLevel; import eu.etaxonomy.cdm.model.location.NamedAreaType; +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.TimePeriodElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java index 86082a690..45a21807c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java @@ -13,8 +13,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.location.NamedArea; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java index 69daf2ba7..d1d015c0a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java @@ -13,8 +13,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.location.NamedAreaLevel; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java index de79af502..17ecf9c12 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java @@ -13,8 +13,8 @@ import java.net.URISyntaxException; import eu.etaxonomy.cdm.model.common.TermVocabulary; import eu.etaxonomy.taxeditor.store.StoreUtil; +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.UriWithLabelElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java index 767ffb8fe..a5c2a370c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java @@ -13,8 +13,8 @@ import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.common.TermVocabulary; +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; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java index c0ed01d69..a6c48e0b6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java @@ -1,9 +1,9 @@ // $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. */ @@ -40,7 +40,7 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionWizardPage; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage; 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.occurrence.DerivedUnitGeneralWizardPage; import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceWizardPage; import eu.etaxonomy.taxeditor.ui.section.user.UserDetailWizardPage; @@ -48,7 +48,7 @@ import eu.etaxonomy.taxeditor.ui.section.user.UserDetailWizardPage; *

* EditFromSelectionWizard class. *

- * + * * @author n.hoffmann * @created Jun 1, 2010 * @version 1.0 @@ -62,7 +62,7 @@ public class EditFromSelectionWizard extends Wizard implements *

* Constructor for EditFromSelectionWizard. *

- * + * * @param selectionElement * a * {@link eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement} @@ -107,7 +107,7 @@ public class EditFromSelectionWizard extends Wizard implements throw new IllegalStateException(); } - addPage(new GeneralWizardPage(formFactory, + addPage(new DerivedUnitGeneralWizardPage(formFactory, selectionElement.getConversationHolder(), facade)); addPage(new GatheringEventWizardPage(formFactory, selectionElement.getConversationHolder(), facade)); @@ -124,19 +124,19 @@ public class EditFromSelectionWizard extends Wizard implements 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} */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java index ac75ba86b..aeb94bafd 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java @@ -1,5 +1,5 @@ /** - * + * */ package eu.etaxonomy.taxeditor.ui.selection; @@ -26,15 +26,14 @@ import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; 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; import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory; 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.IEntityElement; import eu.etaxonomy.taxeditor.ui.element.ILabeledElement; -import eu.etaxonomy.taxeditor.ui.element.ISelectable; import eu.etaxonomy.taxeditor.ui.element.ISelectableElement; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator; @@ -43,16 +42,14 @@ import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator; *

* Abstract AbstractSelectionElement class. *

- * + * * @author n.hoffmann * @created Nov 17, 2009 * @version 1.0 * @param */ public class EntitySelectionElement extends - AbstractCdmFormElement implements SelectionListener, - IEnableableFormElement, ISelectableElement, IEntityElement, - ILabeledElement, IConversationEnabled, ISelectable { + AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement, ILabeledElement, IConversationEnabled { /** * Bitmask for configuring functionality of selection element @@ -90,7 +87,7 @@ public class EntitySelectionElement extends *

* Constructor for AbstractSelectionElement. *

- * + * * @param formFactory * a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} * object. @@ -122,7 +119,7 @@ public class EntitySelectionElement extends this.isEditable = (mode & EDITABLE) == EDITABLE; this.isDeletable = (mode & DELETABLE) == DELETABLE; boolean isSelectable = (mode & SELECTABLE) == SELECTABLE; - + this.labelString = labelString; this.conversation = conversation; @@ -135,7 +132,7 @@ public class EntitySelectionElement extends setEntity(entity); } - + public EntitySelectionElement(CdmFormFactory formFactory, ConversationHolder conversation, ICdmFormElement parentElement, Class clazz, String labelString, T entity, int mode, int style) { @@ -177,7 +174,7 @@ public class EntitySelectionElement extends button_selection.setImage(ImageResources .getImage(ImageResources.BROWSE_ICON)); button_selection.setToolTipText("Browse existing"); - + addControl(button_selection); button_selection.addSelectionListener(this); @@ -202,14 +199,15 @@ public class EntitySelectionElement extends } } - public void widgetSelected(SelectionEvent e) { + @Override + public void widgetSelected(SelectionEvent e) { T selection = SelectionDialogFactory.getSelectionFromDialog(clazz, getShell(), getConversationHolder(), getEntity()); setSelectionInternal(selection); } - + /** * Return the selected object - * + * * @return a T object. */ public T getSelection() { @@ -218,7 +216,7 @@ public class EntitySelectionElement extends /* * (non-Javadoc) - * + * * @see * eu.etaxonomy.taxeditor.forms.IEnableableFormElement#setEnabled(boolean) */ @@ -235,7 +233,7 @@ public class EntitySelectionElement extends *

* setSelectionInternal *

- * + * * @param selection * a T object. */ @@ -250,7 +248,7 @@ public class EntitySelectionElement extends *

* Setter for the field entity. *

- * + * * @param selection * a T object. */ @@ -273,12 +271,7 @@ public class EntitySelectionElement extends } } - /** - *

- * updateFromWizard - *

- */ - protected void updateFromWizard() { + public void updateFromWizard() { updateElement(); firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null)); } @@ -287,7 +280,7 @@ public class EntitySelectionElement extends *

* getTitle *

- * + * * @return a {@link java.lang.String} object. */ protected String getTitle() { @@ -311,14 +304,14 @@ public class EntitySelectionElement extends /* * (non-Javadoc) - * + * * @see eu.etaxonomy.taxeditor.forms.IEntityElement#getEntity() */ /** *

* Getter for the field entity. *

- * + * * @return a T object. */ @Override @@ -328,7 +321,7 @@ public class EntitySelectionElement extends /* * (non-Javadoc) - * + * * @see eu.etaxonomy.taxeditor.forms.section.cdmdetail.ISelectableElement# * getSelectionArbitrator() */ @@ -336,7 +329,7 @@ public class EntitySelectionElement extends *

* Getter for the field selectionArbitrator. *

- * + * * @return a {@link eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator} * object. */ @@ -347,10 +340,10 @@ public class EntitySelectionElement extends /** * Convenient access to current shell - * + * * @return a {@link org.eclipse.swt.widgets.Shell} object. */ - protected Shell getShell() { + public Shell getShell() { return getLayoutComposite().getShell(); } @@ -409,7 +402,7 @@ public class EntitySelectionElement extends *

* getConversationHolder *

- * + * * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} * object. */ @@ -436,7 +429,7 @@ public class EntitySelectionElement extends *

* Getter for the field label. *

- * + * * @return a {@link java.lang.String} object. */ @Override diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java index ca90432a5..d516eaef4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java @@ -14,9 +14,9 @@ import org.eclipse.swt.events.SelectionEvent; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.model.agent.Team; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.NomenclaturalAuthorTeamSelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; /** *

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java index 150ed77d1..8d8d15dfa 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java @@ -15,9 +15,9 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.common.CdmUtils; import eu.etaxonomy.cdm.model.taxon.Classification; import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionDialog; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; /** * @author n.hoffmann diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java index 0eb7c6c6e..2b89d6697 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java @@ -29,9 +29,9 @@ import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; +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.LanguageStringWithLabelElement; import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; import eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java index 4d20a88ed..9ab025086 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java @@ -86,10 +86,6 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection return selectionService.getSelection(); } - private void createViewerComposite(Composite parent) { - viewerComposite = new SashForm(parent, SWT.HORIZONTAL); - } - /** *

showEmptyPage

*/ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java index 2443ae63e..0e148ad68 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java @@ -1,9 +1,9 @@ // $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. */ @@ -18,12 +18,13 @@ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.taxeditor.model.IElementHasDetails; import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.StoreUtil; -import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; import eu.etaxonomy.taxeditor.ui.section.key.GeographicalScopeDetailSection; @@ -36,7 +37,7 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSect *

* CdmSectionPart class. *

- * + * * @author n.hoffmann * @created Feb 8, 2010 * @version 1.0 @@ -50,7 +51,7 @@ public class CdmSectionPart extends SectionPart implements *

* Constructor for CdmSectionPart. *

- * + * * @param section * a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection} * object. @@ -73,13 +74,17 @@ public class CdmSectionPart extends SectionPart implements if (input instanceof IElementHasDetails) { input = ((IElementHasDetails) input).getData(); } - if ((input instanceof TaxonBase) + if(input instanceof DerivedUnit && ((DerivedUnit) input).getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){ + // Do nothing! This is the case if the new DetailsViews are used that are based on + // the DerivedUnits themselves instead of the DerivedUnitFacade + } + else if ((input instanceof TaxonBase) && (formSection instanceof ITaxonBaseDetailSection)) { ((ITaxonBaseDetailSection) formSection) .setTaxonBase((TaxonBase) input); return true; } - if ((input instanceof DerivedUnit) + else if (input.getClass().equals(DerivedUnit.class) && (formSection instanceof IDerivedUnitFacadeDetailSection)) { try { @@ -89,27 +94,27 @@ public class CdmSectionPart extends SectionPart implements StoreUtil.error(getClass(), e); } } - if (input instanceof PolytomousKeyRelationship) { + else if (input instanceof PolytomousKeyRelationship) { input = ((PolytomousKeyRelationship) input).getDestination(); } - - if ((input instanceof PolytomousKeyNode) && - (formSection instanceof PolytomousKeyDetailSection || - formSection instanceof GeographicalScopeDetailSection || - formSection instanceof ScopeRestrictionSection || + + else if ((input instanceof PolytomousKeyNode) && + (formSection instanceof PolytomousKeyDetailSection || + formSection instanceof GeographicalScopeDetailSection || + formSection instanceof ScopeRestrictionSection || formSection instanceof TaxonomicScopeSection)) { input = ((PolytomousKeyNode)input).getKey(); } - - + + formSection.setEntity((T) input); - + return true; } /* * (non-Javadoc) - * + * * @see * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse * .jface.util.PropertyChangeEvent) @@ -119,14 +124,14 @@ public class CdmSectionPart extends SectionPart implements public void propertyChange(PropertyChangeEvent event) { if (event != null) { - Object eventSource = event.getSource(); - + Object eventSource = event.getSource(); + if (formSection.equals(eventSource)){ markDirty(); } if(( - (eventSource instanceof AbstractCdmFormElement) - && formSection.containsFormElement((AbstractCdmFormElement) eventSource)) + (eventSource instanceof ICdmFormElement) + && formSection.containsFormElement((ICdmFormElement) eventSource)) ) { markDirty(); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java index 6300a9538..e0aa10f80 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java @@ -36,7 +36,9 @@ import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.description.PolytomousKey; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; +import eu.etaxonomy.cdm.model.description.SpecimenDescription; import eu.etaxonomy.cdm.model.media.Media; +import eu.etaxonomy.cdm.model.molecular.DnaSample; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.cdm.model.occurrence.FieldUnit; @@ -77,12 +79,20 @@ import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection; import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection; import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection; import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.ArtworkGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.DnaSampleGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.LivingPlantPhotoGeneralDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenDeterminationDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.PreservedSpecimenGeneralDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenScanGeneralDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.TissueSampleGeneralDetailSection; import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection; import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection; import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection; @@ -139,13 +149,22 @@ public class DetailsViewer extends AbstractCdmDataViewer { */ @Override public void setInput(Object input) { - if (input instanceof DerivedUnit) { - try { - input = DerivedUnitFacade.NewInstance((DerivedUnit) input, - PreferencesUtil.getDerivedUnitConfigurator()); - } catch (DerivedUnitFacadeNotSupportedException e) { - AbstractUtility.error(getClass(), e); - } + if(input instanceof DnaSample){ + + } + else if (input instanceof DerivedUnit) { + if(((DerivedUnit) input).getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){ + // Do nothing! This is the case if the new DetailsViews are used that are based on + // the DerivedUnits themselves instead of the DerivedUnitFacade + } + else { + try { + input = DerivedUnitFacade.NewInstance((DerivedUnit) input, + PreferencesUtil.getDerivedUnitConfigurator()); + } catch (DerivedUnitFacadeNotSupportedException e) { + AbstractUtility.error(getClass(), e); + } + } } else if(input instanceof FieldUnit){ input = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit, (FieldUnit) input); @@ -202,24 +221,30 @@ public class DetailsViewer extends AbstractCdmDataViewer { createTeamOrPersonBaseDetailSection(rootElement); } else if (input instanceof DescriptionBase) { - Set descriptionMarkers = ((DescriptionBase) input).getMarkers(); - MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find( - UsageTermCollection.uuidUseMarkerType); - Boolean isUseDescription = false; - for (Marker marker : descriptionMarkers) { - if (marker.getMarkerType().equals(useMarkertype)) { - isUseDescription = true; - } - } - if (((DescriptionBase) input).isImageGallery()) { - createImageGallerySection(rootElement); - - } else if (isUseDescription) { - createUseDescriptionSection(rootElement); - } else { - createDescriptionSection(rootElement); - - } + if(input instanceof SpecimenDescription){ + //TODO: add more sections to DetailsView for SpecimenDescription + createSpecimenDescriptionSection(rootElement); + } + else{ + Set descriptionMarkers = ((DescriptionBase) input).getMarkers(); + MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find( + UsageTermCollection.uuidUseMarkerType); + Boolean isUseDescription = false; + for (Marker marker : descriptionMarkers) { + if (marker.getMarkerType().equals(useMarkertype)) { + isUseDescription = true; + } + } + if (((DescriptionBase) input).isImageGallery()) { + createImageGallerySection(rootElement); + + } else if (isUseDescription) { + createUseDescriptionSection(rootElement); + } else { + createDescriptionSection(rootElement); + + } + } } else if (input instanceof DescriptionElementBase) { Set descriptionMarkers = ((DescriptionElementBase) input).getInDescription().getMarkers(); MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find( @@ -244,14 +269,41 @@ public class DetailsViewer extends AbstractCdmDataViewer { if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.FieldUnit){ createFieldUnitSection(rootElement); } + else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.PreservedSpecimen){ + createDerivedUnitBaseElementSection(rootElement); + } + else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.TissueSample){ + createTissueSampleSection(rootElement); + } +// else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.DnaSample){ +// createDnaSampleSection(rootElement); +// } + //FIXME: change to specific SpecimenOrObservationType + else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.StillImage){ + createSpecimenScanSection(rootElement); + } + else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.StillImage){ + createLivingPlantPhotoSection(rootElement); + } + else if(((DerivedUnitFacade) input).getType()==SpecimenOrObservationType.StillImage){ + createArtworkSection(rootElement); + } else{ createDerivedUnitBaseElementSection(rootElement); } + } else if(input instanceof DnaSample){ + createDnaSampleSection(rootElement); } else if (input instanceof FieldUnit) { createFieldUnitSection(rootElement); - } else if (input instanceof FeatureNodeContainer) { + } else if (input instanceof DerivedUnit){ + SpecimenOrObservationType recordBasis = ((DerivedUnit) input).getRecordBasis(); + if(recordBasis==SpecimenOrObservationType.PreservedSpecimen){ + createPreservedSpecimenSpecimenSection(rootElement); + } + } + else if (input instanceof FeatureNodeContainer) { createFeatureDistributionSection(rootElement); } else if (input instanceof PolytomousKey) { @@ -514,6 +566,17 @@ public class DetailsViewer extends AbstractCdmDataViewer { addPart(scopeSection); } + /** + * createDescriptionSection + * + * @param parent + */ + private void createSpecimenDescriptionSection(RootElement parent) { + destroySections(); + DescriptionDetailSection descriptionDetailSection = formFactory.createDescriptionDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + addPart(descriptionDetailSection); + } + /** * Creates the use Description section * @@ -592,11 +655,6 @@ public class DetailsViewer extends AbstractCdmDataViewer { } - /** - * createDerivedUnitBaseElementSection - * - * @param parent - */ private void createFieldUnitSection(RootElement parent) { destroySections(); @@ -615,6 +673,72 @@ public class DetailsViewer extends AbstractCdmDataViewer { addPart(fieldUnitDetailSection); } + private void createPreservedSpecimenSpecimenSection(RootElement parent) { + destroySections(); + + PreservedSpecimenGeneralDetailSection section = formFactory.createPreservedSpecimenGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + PreservedSpecimenDetailSection derivedUnitBaseDetailSection = formFactory.createPreservedSpecimenDetailsSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); + + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + PreservedSpecimenDeterminationDetailSection determinationDetailSection = formFactory.createPreservedSpecimenDeterminationDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); + + addPart(section); + addPart(derivedUnitBaseDetailSection); + addPart(determinationDetailSection); + } + + private void createTissueSampleSection(RootElement parent) { + destroySections(); + + TissueSampleGeneralDetailSection section = formFactory.createTissueSampleGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + addPart(section); + } + + private void createDnaSampleSection(RootElement parent) { + destroySections(); + DnaSampleGeneralDetailSection section = formFactory.createDnaSampleGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + addPart(section); + } + + private void createSpecimenScanSection(RootElement parent) { + destroySections(); + SpecimenScanGeneralDetailSection section = formFactory.createSpecimenScanGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + addPart(section); + } + + private void createLivingPlantPhotoSection(RootElement parent) { + destroySections(); + LivingPlantPhotoGeneralDetailSection section = formFactory.createLivingPlantPhotoGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + addPart(section); + } + + private void createArtworkSection(RootElement parent) { + destroySections(); + ArtworkGeneralDetailSection section = formFactory.createArtworkGeneralDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + addPart(section); + } + + + /** * @param rootElement */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java index 18e07cb06..d64877ab3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java @@ -58,6 +58,10 @@ public class SupplementalDataViewPart extends AbstractCdmEditorViewPart { return; } + if(part == this){ + return; + } + if(!(selection instanceof IStructuredSelection)){ return; } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/ResourceManager.java b/eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/ResourceManager.java new file mode 100644 index 000000000..2f940d85d --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/ResourceManager.java @@ -0,0 +1,415 @@ +/******************************************************************************* + * Copyright (c) 2011 Google, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Google, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.wb.swt; + +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; + +/** + * Utility class for managing OS resources associated with SWT/JFace controls such as colors, fonts, images, + * etc. + * + * !!! IMPORTANT !!! Application code must explicitly invoke the dispose() 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. + *

+ * + * @author scheglov_ke + * @author Dan Rubel + */ +public class ResourceManager extends SWTResourceManager { + //////////////////////////////////////////////////////////////////////////// + // + // Image + // + //////////////////////////////////////////////////////////////////////////// + private static Map m_descriptorImageMap = new HashMap(); + /** + * 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>[] 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> cornerDecoratedImageMap = m_decoratedImageMap[corner]; + if (cornerDecoratedImageMap == null) { + cornerDecoratedImageMap = new HashMap>(); + m_decoratedImageMap[corner] = cornerDecoratedImageMap; + } + Map decoratedMap = cornerDecoratedImageMap.get(baseImage); + if (decoratedMap == null) { + decoratedMap = new HashMap(); + 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 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> cornerDecoratedImageMap = m_decoratedImageMap[i]; + if (cornerDecoratedImageMap != null) { + for (Map decoratedMap : cornerDecoratedImageMap.values()) { + for (Image image : decoratedMap.values()) { + image.dispose(); + } + decoratedMap.clear(); + } + cornerDecoratedImageMap.clear(); + } + } + // dispose plugin images + { + for (Iterator I = m_URLImageMap.values().iterator(); I.hasNext();) { + I.next().dispose(); + } + m_URLImageMap.clear(); + } + } + //////////////////////////////////////////////////////////////////////////// + // + // Plugin images support + // + //////////////////////////////////////////////////////////////////////////// + /** + * Maps URL to images. + */ + private static Map m_URLImageMap = new HashMap(); + /** + * 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(); + } +} \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/SWTResourceManager.java b/eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/SWTResourceManager.java new file mode 100644 index 000000000..429964e7b --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/SWTResourceManager.java @@ -0,0 +1,447 @@ +/******************************************************************************* + * Copyright (c) 2011 Google, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Google, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.wb.swt; + +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; + +/** + * Utility class for managing OS resources associated with SWT controls such as colors, fonts, images, etc. + *

+ * !!! IMPORTANT !!! Application code must explicitly invoke the dispose() 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. + *

+ * @author scheglov_ke + * @author Dan Rubel + */ +public class SWTResourceManager { + //////////////////////////////////////////////////////////////////////////// + // + // Color + // + //////////////////////////////////////////////////////////////////////////// + private static Map m_colorMap = new HashMap(); + /** + * 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 m_imageMap = new HashMap(); + /** + * 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 '/' + * @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>[] 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> cornerDecoratedImageMap = m_decoratedImageMap[corner]; + if (cornerDecoratedImageMap == null) { + cornerDecoratedImageMap = new HashMap>(); + m_decoratedImageMap[corner] = cornerDecoratedImageMap; + } + Map decoratedMap = cornerDecoratedImageMap.get(baseImage); + if (decoratedMap == null) { + decoratedMap = new HashMap(); + 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> cornerDecoratedImageMap = m_decoratedImageMap[i]; + if (cornerDecoratedImageMap != null) { + for (Map decoratedMap : cornerDecoratedImageMap.values()) { + for (Image image : decoratedMap.values()) { + image.dispose(); + } + decoratedMap.clear(); + } + cornerDecoratedImageMap.clear(); + } + } + } + //////////////////////////////////////////////////////////////////////////// + // + // Font + // + //////////////////////////////////////////////////////////////////////////// + /** + * Maps font names to fonts. + */ + private static Map m_fontMap = new HashMap(); + /** + * Maps fonts to their bold versions. + */ + private static Map m_fontToBoldFontMap = new HashMap(); + /** + * 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 m_idToCursorMap = new HashMap(); + /** + * 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(); + } +} \ No newline at end of file