merge-update from trunk
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 8 Oct 2013 12:41:32 +0000 (12:41 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 8 Oct 2013 12:41:32 +0000 (12:41 +0000)
295 files changed:
.gitattributes
eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.bulkeditor/plugin.xml
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/AnnotatedLineDocumentProvider.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorLineDisplay.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicNewObjectMenu.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditor.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportEditorLineDisplayStrategy.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportSpecimenEditorInput.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientAgentService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCdmRepository.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientClassificationService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCollectionService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientDescriptionService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientNameService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientOccurenceService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientReferenceService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTaxonService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientTermService.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizard.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/wizard/SpecimenSearchWizardPage.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.cdmlib/.classpath
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/build.properties
eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/plugin.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateLabelProvider.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/PolytomousKeyWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ComboDefinedTermController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntityCollectionElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionField.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionFieldController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/LanguageTextFieldController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NamedAreaFieldController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NumberFieldController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointField.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointFieldController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/TextFieldController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextField.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextFieldController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/ICdmFormElement.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ICdmFormElement.java with 86% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/IEntitySelectionElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsView.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchComposite.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/specimenSearch/SpecimenSearchController.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmEntityWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElementWithErrors.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractFormSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/BrowserElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CheckboxElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/DateDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/GatheringEventUnitElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/IEntityElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ImageElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyStatementElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/KeyValueViewerElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/LanguageStringWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RootElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/SelectionArbitrator.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextActionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TimePeriodElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/UriWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/openurl/OpenUrlSelectorElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/EditPasswordElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/EmptyElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/ICdmDetailElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamOrPersonBaseDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/ClassificationWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferenceEntityDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ReferencedEntityDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DerivedUnitElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescribedSpecimenSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementMediaSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/GeoScopeSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/NaturalLanguageSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CategoricalDataDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/IndividualsAssociationDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TaxonInteractionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/TextDataDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/feature/FeatureDistributionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityCollectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupDetailWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupSelectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AbstractTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/HybridDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractDeterminationEventDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/AbstractEventDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectingAreasDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CollectionWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/CurrentDeterminationDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationHistoryDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailsWizardPage.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationWizardPage.java with 74% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationGeneralWizardPage.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java with 72% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java with 75% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CdmBaseElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CdmBaseSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/CreditSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/ExtensionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/IdentifiableSourceElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/SourceSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/VersionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessageElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/ParsingMessagesSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/GroupsByUserDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/NomenclaturalAuthorTeamSelectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonNodeSelectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java
eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/ResourceManager.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/org/eclipse/wb/swt/SWTResourceManager.java [new file with mode: 0644]

index cadffbe930bd4d86374874229f36fa0b1d294250..3288a9212e64caf514f1262d658e27a5f6d2f6ef 100644 (file)
@@ -115,6 +115,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/DataImportSpecimenEditorInput.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
@@ -320,6 +335,7 @@ eu.etaxonomy.taxeditor.editor/icons/address-book-new.png -text
 eu.etaxonomy.taxeditor.editor/icons/camera-photo.png -text
 eu.etaxonomy.taxeditor.editor/icons/edit_16x16.gif -text
 eu.etaxonomy.taxeditor.editor/icons/emblem-photos.png -text
+eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png -text
 eu.etaxonomy.taxeditor.editor/icons/xper64.png -text
 eu.etaxonomy.taxeditor.editor/p2.inf -text
 eu.etaxonomy.taxeditor.editor/plugin.properties -text
@@ -450,6 +466,9 @@ 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/DerivateContentProvider.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateLabelProvider.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptionElementDragListener.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptionElementDropAdapter.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptionElementTransfer.java -text
@@ -1221,6 +1240,39 @@ 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/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
@@ -1260,7 +1312,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
@@ -1309,6 +1360,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
@@ -1419,6 +1471,7 @@ 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/DeterminationDetailElement.java -text
@@ -1427,18 +1480,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/DeterminationHistoryDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationWizardPage.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/GatheringEventDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/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/NamedAreaDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenDetailsWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenGeneralWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/NomenclaturalReferenceDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java -text
@@ -1519,6 +1574,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
index f0a21cf7f206e7f1e8402ee3eed167e6b10c2afb..61c72751cc72b36ce68409254b0675f6cd9f04e1 100644 (file)
@@ -5,7 +5,16 @@ Bundle-SymbolicName: eu.etaxonomy.taxeditor.bulkeditor;singleton:=true
 Bundle-Version: 3.3.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
 Bundle-Vendor: EDIT
-Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,eu.etaxonomy.taxeditor.annotatedlineeditor.handler,eu.etaxonomy.taxeditor.bulkeditor,eu.etaxonomy.taxeditor.bulkeditor.command,eu.etaxonomy.taxeditor.bulkeditor.handler,eu.etaxonomy.taxeditor.bulkeditor.input,eu.etaxonomy.taxeditor.bulkeditor.internal,eu.etaxonomy.taxeditor.bulkeditor.referencingobjects
+Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
+ eu.etaxonomy.taxeditor.annotatedlineeditor.handler,
+ eu.etaxonomy.taxeditor.bulkeditor,
+ eu.etaxonomy.taxeditor.bulkeditor.command,
+ eu.etaxonomy.taxeditor.bulkeditor.handler,
+ eu.etaxonomy.taxeditor.bulkeditor.input,
+ eu.etaxonomy.taxeditor.bulkeditor.internal,
+ eu.etaxonomy.taxeditor.bulkeditor.referencingobjects,
+ eu.etaxonomy.taxeditor.dataimport,
+ eu.etaxonomy.taxeditor.dataimport.wizard
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.ui.editors,
index eb3725ea16778b0d52083983a7bf147c19e86bec..8df35d12b1963c3ca040cb6c05ff8b56c99aabcf 100644 (file)
             id="nameeditor.editor"\r
             name="Name Editor">\r
       </editor>\r
+      <editor\r
+            class="eu.etaxonomy.taxeditor.dataimport.DataImportEditor"\r
+            default="false"\r
+            id="eu.etaxonomy.taxeditor.dataimport.DataImportEditor"\r
+            name="Data Import Editor">\r
+      </editor>\r
    </extension>\r
    <extension\r
          point="org.eclipse.ui.menus">\r
@@ -34,6 +40,9 @@
                id="bulkeditor.menus.openmenu"\r
                label="Bulk Editor">\r
          </menu>\r
+         <menu\r
+               label="Search Specimen">\r
+         </menu>\r
       </menuContribution>\r
       <menuContribution\r
             locationURI="menu:bulkeditor.menus.openmenu">\r
                style="push">\r
          </command>\r
       </menuContribution>\r
+      <menuContribution\r
+            allPopups="false"\r
+            locationURI="popup:eu.etaxonomy.taxeditor.editor.view.media">\r
+         <command\r
+               commandId="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
+               label="Add Derived Unit Media"\r
+               style="push">\r
+         </command>\r
+         <command\r
+               commandId="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addFieldObjectMedia"\r
+               label="Add Field Object Media"\r
+               style="push">\r
+         </command>\r
+      </menuContribution>\r
    </extension>\r
    <extension\r
          point="org.eclipse.ui.commands">\r
             id="bulkeditor.commands.removemergecandidate"\r
             name="Remove as Candidate for Group Merge">\r
       </command>\r
+      <command\r
+            defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.SetMarkerFlagHandler"\r
+            id="taxeditor-bulkeditor.command.setMarkerFlag"\r
+            name="Set Marker Flag">\r
+      </command>\r
+      <command\r
+            defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler.AddDerivedUnitMediaHandler"\r
+            id="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
+            name="Add Derived Unit Media">\r
+      </command>\r
+      <command\r
+            defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler.AddFieldObjectMediaHandler"\r
+            id="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addFieldObjectMedia"\r
+            name="Add Field Object Media">\r
+      </command>\r
       <!--command\r
             defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.NewEntityHandler"\r
             id="eu.etaxonomy.taxeditor.bulkeditor.command.new"\r
             type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">\r
       </propertyTester>\r
    </extension>\r
-   <extension\r
-         point="org.eclipse.ui.commands">\r
-      <command\r
-            defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.SetMarkerFlagHandler"\r
-            id="taxeditor-bulkeditor.command.setMarkerFlag"\r
-            name="Set Marker Flag">\r
-      </command>\r
-   </extension>\r
    <extension\r
          point="org.eclipse.ui.handlers">\r
       <handler\r
             name="Bulk Editor">\r
       </page>\r
    </extension>\r
-   <extension\r
-         point="org.eclipse.ui.menus">\r
-      <menuContribution\r
-            allPopups="false"\r
-            locationURI="popup:eu.etaxonomy.taxeditor.editor.view.media">\r
-         <command\r
-               commandId="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
-               label="Add Derived Unit Media"\r
-               style="push">\r
-         </command>\r
-         <command\r
-               commandId="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addFieldObjectMedia"\r
-               label="Add Field Object Media"\r
-               style="push">\r
-         </command>\r
-      </menuContribution>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.commands">\r
-      <command\r
-            defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler.AddDerivedUnitMediaHandler"\r
-            id="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
-            name="Add Derived Unit Media">\r
-      </command>\r
-      <command\r
-            defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler.AddFieldObjectMediaHandler"\r
-            id="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addFieldObjectMedia"\r
-            name="Add Field Object Media">\r
-      </command>\r
-   </extension>\r
    <extension\r
          point="org.eclipse.core.expressions.propertyTesters">\r
       <propertyTester\r
                id="eu.etaxonomy.taxeditor.view.detail">\r
          </showInPart>\r
       </perspectiveExtension>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.ui.importWizards">\r
+      <wizard\r
+            category="eu.etaxonomy.taxeditor.import.category.cdm"\r
+            class="eu.etaxonomy.taxeditor.dataimport.wizard.SpecimenSearchWizard"\r
+            id="eu.etaxonomy.taxeditor.dataimport.wizard.SpecimenSearchWizard"\r
+            name="Query BioCASE">\r
+      </wizard>\r
    </extension>
 <!-- start set marker -->\r
 \r
index 2bd124f21bf3a1739cc4428459b651ba34630e63..64df8cf93ea32ff427ddd024c36c4fcf91428a7b 100644 (file)
@@ -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.DataImportSpecimenEditorInput;
+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;
-       
+
        /**
         * <p>Constructor for AnnotatedLineDocumentProvider.</p>
         *
@@ -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;
        }
-       
-       
+
+
        /**
         * <p>updateLineFromAnnotation</p>
         *
         * @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 DataImportSpecimenEditorInput){
+                   return ((DataImportSpecimenEditorInput) 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;
        }
-       
+
        /**
         * <p>Getter for the field <code>entityCreator</code>.</p>
         *
@@ -300,9 +304,9 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider {
                        ILineDisplayStrategy lineDisplayStrategy, Object element) {
                if (element instanceof IEditorInput) {
                        this.lineDisplayStrategy = lineDisplayStrategy;
-               }       
+               }
        }
-       
+
        /**
         * <p>Getter for the field <code>lineDisplayStrategy</code>.</p>
         *
@@ -316,7 +320,7 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider {
                }
                return null;
        }
-       
+
        /**
         * <p>removeAnnotatedLine</p>
         *
@@ -326,7 +330,7 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider {
                LineAnnotation annotation = (LineAnnotation) annotationModel.getAnnotation(entity);
                removeAnnotatedLine(annotation);
        }
-       
+
        /**
         * <p>removeAnnotatedLine</p>
         *
@@ -337,7 +341,7 @@ public class AnnotatedLineDocumentProvider extends AbstractDocumentProvider {
                LineAnnotation annotation = (LineAnnotation) annotationModel.getAnnotationAtLine(lineno, document);
                removeAnnotatedLine(annotation);
        }
-       
+
        /**
         * <p>removeAnnotatedLine</p>
         *
@@ -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)
         */
index e0c5d808d1405944167d161b0819bdc6fff3a755..5048cf7fb8abebe0645afd1b0488653b7427b00d 100644 (file)
@@ -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;
@@ -46,6 +43,7 @@ import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
 import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
@@ -62,9 +60,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 +79,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 +113,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,32 +182,32 @@ 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();
-               if (!prefs.getBoolean(PreferencesUtil.HIDE_BULKEDITOR_INFO)) {
+               if (!prefs.getBoolean(IPreferenceKeys.HIDE_BULKEDITOR_INFO)) {
                        String msg = "The Bulk Editor allows you to edit objects used to reference other objects, such as names, references, and authors.\n\n" +
                                                        "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", 
-                                                                                                               false, null, PreferencesUtil.HIDE_BULKEDITOR_INFO);
-                       if (dialog.getReturnCode() == Window.OK) { 
-                               prefs.setValue(PreferencesUtil.HIDE_BULKEDITOR_INFO, dialog.getToggleState());
+                                                                                               (getSite().getShell(), "Bulk Editor", msg, "Do not show this message again",
+                                                                                                               false, null, IPreferenceKeys.HIDE_BULKEDITOR_INFO);
+                       if (dialog.getReturnCode() == Window.OK) {
+                               prefs.setValue(IPreferenceKeys.HIDE_BULKEDITOR_INFO, dialog.getToggleState());
                        }
                }
        }
-       
+
        /**
         * @param control
         */
@@ -229,14 +228,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 +247,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 +274,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);
index cd53d16cb07990ba7a0d70eae4a6bb8ba04f1016..a6ae0fd7787d87e75da2a5d5056b29e14984e8d6 100644 (file)
@@ -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<MarkerType, Boolean> editMarkerTypePreferences = PreferencesUtil.getEditMarkerTypePreferences();
-                       
+
                        String markerText = "";
                        List<String> markers = new ArrayList<String>();
                        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;
        }
 }
index cf09eda13ffeb7456c33c8083f8a648d47317747..d9bbfb0bdd8ed3de61bcfc20f96bacfe43284b4a 100644 (file)
@@ -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.bulkeditor.input.AbstractBulkEditorInput;
 public class DynamicNewObjectMenu extends CompoundContributionItem {
        private static final Logger logger = Logger
                        .getLogger(DynamicNewObjectMenu.class);
-       
+
        private IHandlerService handlerService = (IHandlerService) BulkEditorUtil.getService(IHandlerService.class);
        private Map<Object, String> classLabelPairs;
        /* (non-Javadoc)
@@ -51,15 +51,16 @@ public class DynamicNewObjectMenu extends CompoundContributionItem {
        /** {@inheritDoc} */
        @Override
        protected IContributionItem[] getContributionItems() {
-               
+
                classLabelPairs = getClassLabelPairs();
-               
+
                return new IContributionItem[] {
                                new ContributionItem() {
-                                       public void fill(Menu menu, int index){
+                                       @Override
+                    public void fill(Menu menu, int index){
                                                for(final Object key : classLabelPairs.keySet()){
                                                        createMenuItem(menu, key);
-                                               }                       
+                                               }
                                        }
                                }
                };
@@ -70,9 +71,11 @@ public class DynamicNewObjectMenu extends CompoundContributionItem {
                menuItem.setText(classLabelPairs.get(key));
                menuItem.addSelectionListener(new SelectionListener(){
 
-                       public void widgetDefaultSelected(SelectionEvent e) {}
+                       @Override
+            public void widgetDefaultSelected(SelectionEvent e) {}
 
-                       public void widgetSelected(SelectionEvent ev) {
+                       @Override
+            public void widgetSelected(SelectionEvent ev) {
                                Event event = new Event();
                                event.data = key;
                                event.text = classLabelPairs.get(key);
@@ -82,7 +85,7 @@ public class DynamicNewObjectMenu extends CompoundContributionItem {
                                        logger.error("Error executing command", e);
                                        throw new RuntimeException("Error executing command", e);
                                }
-                       }                               
+                       }
                });
                
                //FIXME:3.3MC Need corresponding Details Viewer section for FieldUnit
@@ -90,7 +93,7 @@ public class DynamicNewObjectMenu extends CompoundContributionItem {
                        menuItem.setEnabled(false);
                }
        }
-       
+
        /**
         * Get class label pairs from Annotated Line Editor's entity creator.
         * @return
@@ -99,13 +102,13 @@ public class DynamicNewObjectMenu extends CompoundContributionItem {
                IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
                if (editor != null){
                        IEditorInput input = editor.getEditorInput();
-                       
+
                        if(input instanceof AbstractBulkEditorInput){
                                IEntityCreator<?> entityCreator = ((AbstractBulkEditorInput) input).getEntityCreator();
                                return entityCreator.getKeyLabelPairs();
                        }
                }
-               
+
                return null;
-       }       
+       }
 }
index 8150e39aee0724e380a4e48e6784021d89a38e35..303373ac0f3c8755008d673ef7d097f18b64d5fd 100644 (file)
@@ -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;
 
 /**
  * <p>
  * OpenBulkEditorContributionItem class.
  * </p>
- * 
+ *
  * @author p.ciardelli
  * @created 19.08.2009
  * @version 1.0
  */
 public class OpenBulkEditorContributionItem extends CompoundContributionItem {
 
-       /**
-        * <p>
-        * Constructor for OpenBulkEditorContributionItem.
-        * </p>
-        */
-       public OpenBulkEditorContributionItem() {
-       }
+    /**
+     * <p>
+     * Constructor for OpenBulkEditorContributionItem.
+     * </p>
+     */
+    public OpenBulkEditorContributionItem() {
+    }
 
-       /**
-        * <p>
-        * Constructor for OpenBulkEditorContributionItem.
-        * </p>
-        * 
-        * @param id
-        *            a {@link java.lang.String} object.
-        */
-       public OpenBulkEditorContributionItem(String id) {
-               super(id);
-       }
+    /**
+     * <p>
+     * Constructor for OpenBulkEditorContributionItem.
+     * </p>
+     *
+     * @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<IContributionItem> contributionItems = new ArrayList<IContributionItem>();
+        List<IContributionItem> contributionItems = new ArrayList<IContributionItem>();
 
-               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<String, String> parameters = new HashMap<String, String>();
+        parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType);
+        parameter.parameters = parameters;
 
-               return new CommandContributionItem(parameter);
-       }
+        return new CommandContributionItem(parameter);
+    }
 }
index c929425671fa1658a72640a30a251f0c46ea4f71..9da689de70e7e73a5c931168b1bf59ca10d080f8 100644 (file)
@@ -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<T extends ICdmBase> implements IEditorInput, IEntityPersistenceService<T> {
 
        /**
-        * 
+        *
         */
        private static final long serialVersionUID = 416414530232743735L;
 
        private UUID entityUuid;
 
        private List<T> model;
-       
+
        private IEntityCreator<T> entityCreator;
-       
+
        /**
         * <p>NewInstance</p>
         *
@@ -66,7 +67,7 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> implements IEd
        static public AbstractBulkEditorInput NewInstance(BulkEditorInputType inputType) {
                return BulkEditorInputType.getInput(inputType);
        }
-       
+
        /**
         * <p>NewInstance</p>
         *
@@ -74,17 +75,17 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> 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;
        }
-       
+
        /**
         * <p>listEntities</p>
         *
@@ -92,7 +93,7 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> implements IEd
         * @return a {@link java.util.List} object.
         */
        protected abstract List<T> listEntities(IIdentifiableEntityServiceConfigurator configurator);
-               
+
        /**
         * <p>loadEntity</p>
         *
@@ -104,7 +105,7 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> implements IEd
        private void setEntityUuid(UUID entityUuid){
                this.entityUuid = entityUuid;
        }
-       
+
        /**
         * <p>Getter for the field <code>entityUuid</code>.</p>
         *
@@ -114,7 +115,7 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> implements IEd
                return entityUuid;
        }
 
-                       
+
        /* (non-Javadoc)
         * @see org.eclipse.ui.IEditorInput#exists()
         */
@@ -123,7 +124,8 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> 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<T extends ICdmBase> 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<T extends ICdmBase> 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<T extends ICdmBase> 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<T extends ICdmBase> implements IEd
         * @param bulkEditorQuery a {@link eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery} object.
         */
        public void performSearch(final BulkEditorQuery bulkEditorQuery) {
-               
+
                List<T> entityList = new ArrayList<T>();
-               
+
                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;
        }
-       
+
        /**
         * <p>isMergingEnabled</p>
         *
@@ -210,32 +214,34 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> 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<T> getEntityCreator(){
                if(entityCreator == null){
                        entityCreator = createEntityCreator();
@@ -254,9 +260,9 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> implements IEd
         */
        public List<IBulkEditorSortProvider<T>> getSortProviders(){
                List<IBulkEditorSortProvider<T>> sortProviders = new ArrayList<IBulkEditorSortProvider<T>>();
-               
+
                sortProviders.add(new CdmBaseSortProvider<T>());
-               
+
                return sortProviders;
        }
 
@@ -265,7 +271,7 @@ public abstract class AbstractBulkEditorInput<T extends ICdmBase> 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<T extends ICdmBase> 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
         */
index 6c7fc05d23d55c25f49de07491bc1db905cafb27..296a07090048a91c5faf8fe6909e1183c7db069e 100644 (file)
@@ -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.
 */
@@ -31,9 +31,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @version 1.0
  */
 public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObservationBase> {
-       
+
        /**
-        * 
+        *
         */
        private static final long serialVersionUID = 1014860873939989973L;
 
@@ -41,7 +41,7 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
        public static final String ID = "bulkeditor.input.occurrence";
 
        private static OccurrenceEditorInput instance;
-       
+
        /**
         * <p>Getter for the field <code>instance</code>.</p>
         *
@@ -53,7 +53,7 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                }
                return instance;
        }
-       
+
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#listEntities(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
         */
@@ -70,7 +70,7 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
        /** {@inheritDoc} */
        @Override
        protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
-               List<String> propertyPaths = Arrays.asList(new String[]{}); 
+               List<String> propertyPaths = Arrays.asList(new String[]{});
                return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
        }
 
@@ -82,7 +82,8 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
         *
         * @return a {@link java.lang.String} object.
         */
-       public String getName() {
+       @Override
+    public String getName() {
                return BulkEditorInputType.OCCURRENCE.label;
        }
 
@@ -94,10 +95,11 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
         *
         * @return a {@link java.lang.String} object.
         */
-       public String getToolTipText() {
+       @Override
+    public String getToolTipText() {
                return getName();
        }
-       
+
        /**
         * <p>getId</p>
         *
@@ -111,7 +113,8 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
         * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
         */
        /** {@inheritDoc} */
-       public boolean delete(SpecimenOrObservationBase entity) {
+       @Override
+    public boolean delete(SpecimenOrObservationBase entity) {
                return CdmStore.getService(IOccurrenceService.class).delete(entity) != null;
        }
 
@@ -119,10 +122,11 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
         * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#save(java.lang.Object)
         */
        /** {@inheritDoc} */
-       public boolean save(SpecimenOrObservationBase entity) {
+       @Override
+    public boolean save(SpecimenOrObservationBase entity) {
                return CdmStore.getService(IOccurrenceService.class).save(entity) != null;
        }
-       
+
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
@@ -138,9 +142,9 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
        @Override
        public List<IBulkEditorSortProvider<SpecimenOrObservationBase>> getSortProviders() {
                List<IBulkEditorSortProvider<SpecimenOrObservationBase>> sortProviders = super.getSortProviders();
-               
+
                sortProviders.add(0, new IdentifiableEntitySortProvider<SpecimenOrObservationBase>());
-               
+
                return sortProviders;
        }
 }
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 (file)
index 0000000..1f90559
--- /dev/null
@@ -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 <code>ID="bulkeditor.input.nameRelationship"</code> */
+    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 (file)
index 0000000..cf91f38
--- /dev/null
@@ -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/DataImportSpecimenEditorInput.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DataImportSpecimenEditorInput.java
new file mode 100644 (file)
index 0000000..4ef747b
--- /dev/null
@@ -0,0 +1,165 @@
+// $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.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 DataImportSpecimenEditorInput implements IEditorInput {
+
+    private static Logger logger = Logger.getLogger(DataImportSpecimenEditorInput.class);
+
+    private BioCaseQuery query;
+
+    /**
+     * @param results
+     */
+    public DataImportSpecimenEditorInput(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<SpecimenOrObservationBase> getResults() {
+        List<SpecimenOrObservationBase> results = null;
+        String errorMessage = "Could not execute query " + query;
+        try {
+            InputStream resultStream = new BioCaseQueryServiceWrapper().query(query);
+            Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
+            TransientCdmRepository repo = new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
+            configurator.setCdmAppController(repo);
+
+            CdmDefaultImport<Abcd206ImportConfigurator> importer = new CdmDefaultImport<Abcd206ImportConfigurator>();
+            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;
+        }
+        DataImportSpecimenEditorInput other = (DataImportSpecimenEditorInput) 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 (file)
index 0000000..4257245
--- /dev/null
@@ -0,0 +1,741 @@
+// $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.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<AuditEventRecord<AgentBase>> pageAuditEvents(AgentBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> 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<Annotation> getAnnotations(AgentBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Institution> 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<InstitutionalMembership> 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<String> 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<Person> 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<AgentBase> 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<Marker> getMarkers(AgentBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<? extends AgentBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<AgentBase> 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<Address> 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<AgentBase> 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<? extends AgentBase> 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<AgentBase> search(Class<? extends AgentBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<AuditEventRecord<AgentBase>> pageAuditEvents(Class<? extends AgentBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> 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) {
+        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<Object[]> groupMarkers(Class<? extends AgentBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> 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<AgentBase> find(Set<UUID> 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<IdentifiableSource> getSources(AgentBase t, Integer pageSize, Integer pageNumber, List<String> 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<UuidAndTitleCache<Person>> getPersonUuidAndTitleCache() {
+        return defaultAgentService.getPersonUuidAndTitleCache();
+    }
+
+    /**
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.IAgentService#getTeamUuidAndTitleCache()
+     */
+    @Override
+    public List<UuidAndTitleCache<Team>> 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<Rights> getRights(AgentBase t, Integer pageSize, Integer pageNumber, List<String> 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<? extends AgentBase> clazz, Boolean technical) {
+        return defaultAgentService.countMarkers(clazz, technical);
+    }
+
+    /**
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.IAgentService#getTeamUuidAndNomenclaturalTitle()
+     */
+    @Override
+    public List<UuidAndTitleCache<Team>> getTeamUuidAndNomenclaturalTitle() {
+        return defaultAgentService.getTeamUuidAndNomenclaturalTitle();
+    }
+
+    /**
+     * @param idSet
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.IService#findById(java.util.Set)
+     */
+    @Override
+    public List<AgentBase> findById(Set<Integer> idSet) {
+        return defaultAgentService.findById(idSet);
+    }
+
+    /**
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.IAgentService#getInstitutionUuidAndTitleCache()
+     */
+    @Override
+    public List<UuidAndTitleCache<Institution>> 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<UuidAndTitleCache<AgentBase>> 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<Object[]> group(Class<? extends AgentBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> 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<AgentBase> findByTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<AgentBase> list(Class<? extends AgentBase> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<AgentBase> findByTitle(IIdentifiableEntityServiceConfigurator<AgentBase> 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<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> 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<String> 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<AgentBase> 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<AgentBase> listByTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<AgentBase> page(Class<? extends AgentBase> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<AgentBase> listByReferenceTitle(Class<? extends AgentBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<AgentBase> 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<UUID, AgentBase> save(Collection<AgentBase> 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<UUID, AgentBase> saveOrUpdate(Collection<AgentBase> 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<AgentBase> list(AgentBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<? extends AgentBase> 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<AgentBase> findTitleCache(Class<? extends AgentBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> 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 (file)
index 0000000..3cc18f7
--- /dev/null
@@ -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<SpecimenOrObservationBase> 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<CdmBase> 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 (file)
index 0000000..c316e5e
--- /dev/null
@@ -0,0 +1,921 @@
+// $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.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<AuditEventRecord<Classification>> pageAuditEvents(Classification t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> 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<Annotation> getAnnotations(Classification annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Classification> listClassifications(Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<String> 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<String> 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<Classification> 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<Marker> getMarkers(Classification annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<? extends Classification> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<Classification> 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<String> 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<Classification> 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<TaxonNode> loadRankSpecificRootNodes(Classification classification, Rank rank, Integer limit, Integer start, List<String> 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<? extends Classification> 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<AuditEventRecord<Classification>> pageAuditEvents(Class<? extends Classification> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> 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) {
+        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<Object[]> groupMarkers(Class<? extends Classification> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> 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<Classification> find(Set<UUID> 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<IdentifiableSource> getSources(Classification t, Integer pageSize, Integer pageNumber, List<String> 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<TaxonNode> listRankSpecificRootNodes(Classification classification, Rank rank, Integer pageSize, Integer pageIndex, List<String> 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<Rights> getRights(Classification t, Integer pageSize, Integer pageNumber, List<String> 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<? extends Classification> 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<Classification> findById(Set<Integer> 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<TaxonNode> pageRankSpecificRootNodes(Classification classification, Rank rank, Integer pageSize, Integer pageIndex, List<String> 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<UuidAndTitleCache<Classification>> 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<Object[]> group(Class<? extends Classification> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> 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<Classification> findByTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<TaxonNode> loadTreeBranch(TaxonNode taxonNode, Rank baseRank, List<String> 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<Classification> list(Class<? extends Classification> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<TaxonNode> loadTreeBranchToTaxon(Taxon taxon, Classification classification, Rank baseRank, List<String> 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<Classification> findByTitle(IIdentifiableEntityServiceConfigurator<Classification> 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<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> 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<String> 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<Classification> 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<TaxonNode> loadChildNodesOfTaxon(Taxon taxon, Classification classification, List<String> 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<Classification> listByTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Classification> page(Class<? extends Classification> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<TaxonNode> loadChildNodesOfTaxonNode(TaxonNode taxonNode, List<String> 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<UuidAndTitleCache<TaxonNode>> 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<UUID, List<MediaRepresentation>> getAllMediaForChildNodes(Taxon taxon, Classification taxTree, List<String> 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<Classification> listByReferenceTitle(Class<? extends Classification> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<UUID, List<MediaRepresentation>> getAllMediaForChildNodes(TaxonNode taxonNode, List<String> 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<Classification> 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<UUID, Classification> save(Collection<Classification> 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<UUID, TaxonNode> saveTaxonNodeAll(Collection<TaxonNode> 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<Classification> search(Class<? extends Classification> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<UUID, Classification> saveOrUpdate(Collection<Classification> transientObjects) {
+        return null;
+    }
+
+    /**
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.IClassificationService#getAllNodes()
+     */
+    @Override
+    public List<TaxonNode> 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<Classification> list(Classification example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<? extends Classification> 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<Classification> findTitleCache(Class<? extends Classification> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> 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 (file)
index 0000000..33aa422
--- /dev/null
@@ -0,0 +1,659 @@
+// $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.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<Collection> search(Class<? extends Collection> clazz, String query, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<AuditEventRecord<Collection>> pageAuditEvents(Collection t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> 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<Annotation> getAnnotations(Collection annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<String> 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<Collection> getNextAuditEvent(Collection t) {
+        return defaultCollectionService.getNextAuditEvent(t);
+    }
+
+    /**
+     * @param code
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.ICollectionService#searchByCode(java.lang.String)
+     */
+    @Override
+    public List<Collection> 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<Marker> getMarkers(Collection annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<? extends Collection> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<Collection> 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<Collection> 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<? extends Collection> 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<AuditEventRecord<Collection>> pageAuditEvents(Class<? extends Collection> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> 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) {
+        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<Object[]> groupMarkers(Class<? extends Collection> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> 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<Collection> find(Set<UUID> 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<IdentifiableSource> getSources(Collection t, Integer pageSize, Integer pageNumber, List<String> 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<Rights> getRights(Collection t, Integer pageSize, Integer pageNumber, List<String> 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<? extends Collection> 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<Collection> findById(Set<Integer> 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<UuidAndTitleCache<Collection>> 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<Object[]> group(Class<? extends Collection> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> 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<Collection> findByTitle(Class<? extends Collection> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Collection> list(Class<? extends Collection> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<Collection> findByTitle(IIdentifiableEntityServiceConfigurator<Collection> 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<? extends Collection> clazz, String queryString, MatchMode matchmode, List<Criterion> 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<String> 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<Collection> 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<Collection> listByTitle(Class<? extends Collection> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Collection> page(Class<? extends Collection> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Collection> listByReferenceTitle(Class<? extends Collection> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Collection> 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<UUID, Collection> save(java.util.Collection<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<UUID, Collection> saveOrUpdate(java.util.Collection<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<Collection> list(Collection example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<? extends Collection> 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<Collection> findTitleCache(Class<? extends Collection> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> 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 (file)
index 0000000..d48ffe5
--- /dev/null
@@ -0,0 +1,1093 @@
+// $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.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<AuditEventRecord<DescriptionBase>> pageAuditEvents(DescriptionBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> 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<Annotation> getAnnotations(DescriptionBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<String> 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<DescriptionBase> getNextAuditEvent(DescriptionBase t) {
+        return defaultDescriptionService.getNextAuditEvent(t);
+    }
+
+    /**
+     * @return
+     * @deprecated
+     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDefaultFeatureVocabulary()
+     */
+    @Deprecated
+    @Override
+    public TermVocabulary<Feature> 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<Marker> getMarkers(DescriptionBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Feature> 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<? extends DescriptionBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<DescriptionBase> 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<DescriptionBase> 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<? extends DescriptionBase> 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<String> 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<AuditEventRecord<DescriptionBase>> pageAuditEvents(Class<? extends DescriptionBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> 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) {
+        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<Object[]> groupMarkers(Class<? extends DescriptionBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> 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<DescriptionBase> find(Set<UUID> uuidSet) {
+        return defaultDescriptionService.find(uuidSet);
+    }
+
+    /**
+     * @param descriptionElements
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#saveDescriptionElement(java.util.Collection)
+     */
+    @Override
+    public Map<UUID, DescriptionElementBase> saveDescriptionElement(Collection<DescriptionElementBase> 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<IdentifiableSource> getSources(DescriptionBase t, Integer pageSize, Integer pageNumber, List<String> 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<DescriptionBase> page(Class<? extends DescriptionBase> type, Boolean hasMedia, Boolean hasText, Set<Feature> feature, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Rights> getRights(DescriptionBase t, Integer pageSize, Integer pageNumber, List<String> 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<? extends DescriptionBase> 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<DescriptionBase> findById(Set<Integer> 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<UuidAndTitleCache<DescriptionBase>> 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<Object[]> group(Class<? extends DescriptionBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> 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<? extends DescriptionBase> type, Boolean hasImages, Boolean hasText, Set<Feature> 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<DescriptionBase> findByTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<DescriptionBase> list(Class<? extends DescriptionBase> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<DescriptionElementBase> getDescriptionElements(DescriptionBase description, Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> 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<DescriptionBase> findByTitle(IIdentifiableEntityServiceConfigurator<DescriptionBase> 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<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> 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<String> 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<DescriptionBase> 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<DescriptionElementBase> pageDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType, Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> 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<DescriptionBase> listByTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<DescriptionBase> page(Class<? extends DescriptionBase> type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<DescriptionBase> listByReferenceTitle(Class<? extends DescriptionBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<DescriptionElementBase> listDescriptionElements(DescriptionBase description, Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> 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<DescriptionBase> 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<UUID, DescriptionBase> save(Collection<DescriptionBase> 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<DescriptionBase> search(Class<? extends DescriptionBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<UUID, DescriptionBase> saveOrUpdate(Collection<DescriptionBase> 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<DescriptionElementBase> listDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType, Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> 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<DescriptionBase> list(DescriptionBase example, Set<String> includeProperties, Integer limit, Integer start, List<OrderHint> orderHints, List<String> 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<? extends DescriptionBase> 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<Annotation> getDescriptionElementAnnotations(DescriptionElementBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<DescriptionBase> findTitleCache(Class<? extends DescriptionBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> 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<TaxonDescription> pageTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Integer pageSize, Integer pageNumber, List<String> 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<TaxonDescription> pageTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> 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<TaxonDescription> listTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Integer pageSize, Integer pageNumber, List<String> 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<TaxonDescription> listTaxonDescriptions(Taxon taxon, Set<DefinedTerm> scopes, Set<NamedArea> geographicalScope, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> 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<Media> listTaxonDescriptionMedia(UUID taxonUuid, boolean limitToGalleries, Set<MarkerType> markerTypes, Integer pageSize, Integer pageNumber, List<String> 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<MarkerType> 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<TaxonNameDescription> getTaxonNameDescriptions(TaxonNameBase name, Integer pageSize, Integer pageNumber, List<String> 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<TaxonDescription> searchDescriptionByDistribution(Set<NamedArea> namedAreas, PresenceAbsenceTermBase presence, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<DescriptionElementBase> searchElements(Class<? extends DescriptionElementBase> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<Media> getMedia(DescriptionElementBase descriptionElement, Integer pageSize, Integer pageNumber, List<String> 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 <T extends DescriptionElementBase> List<T> getDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> 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 <T extends DescriptionElementBase> List<T> listDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> 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 <T extends DescriptionElementBase> Pager<T> pageDescriptionElementsForTaxon(Taxon taxon, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
+        return defaultDescriptionService.pageDescriptionElementsForTaxon(taxon, features, type, pageSize, pageNumber, propertyPaths);
+    }
+
+    /**
+     * @param taxonDescriptions
+     * @param levels
+     * @param propertyPaths
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getOrderedDistributions(java.util.Set, java.util.Set, java.util.List)
+     */
+    @Override
+    public DistributionTree getOrderedDistributions(Set<TaxonDescription> taxonDescriptions, Set<NamedAreaLevel> levels, List<String> propertyPaths) {
+        return defaultDescriptionService.getOrderedDistributions(taxonDescriptions, levels, 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<Language> 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<DescriptionElementBase> descriptionElements, DescriptionBase targetDescription, boolean isPaste) {
+        defaultDescriptionService.moveDescriptionElementsToDescription(descriptionElements, targetDescription, isPaste);
+    }
+
+
+}
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 (file)
index 0000000..420c293
--- /dev/null
@@ -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<AuditEventRecord<TaxonNameBase>> pageAuditEvents(TaxonNameBase t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List<String> 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<Annotation> getAnnotations(TaxonNameBase annotatedObj, MarkerType status, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<String> 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<TaxonNameBase> 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<Marker> getMarkers(TaxonNameBase annotatableEntity, Boolean technical, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<? extends TaxonNameBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TaxonNameBase> 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<TaxonNameBase> 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<? extends TaxonNameBase> 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<AuditEventRecord<TaxonNameBase>> pageAuditEvents(Class<? extends TaxonNameBase> clazz, AuditEvent from, AuditEvent to, List<AuditCriterion> criteria, Integer pageSize, Integer pageValue, AuditEventSort sort, List<String> 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) {
+        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<Object[]> groupMarkers(Class<? extends TaxonNameBase> clazz, Boolean technical, Integer pageSize, Integer pageNumber, List<String> 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<TaxonNameBase> find(Set<UUID> 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<IdentifiableSource> getSources(TaxonNameBase t, Integer pageSize, Integer pageNumber, List<String> 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<UUID, TypeDesignationBase> saveTypeDesignationAll(Collection<TypeDesignationBase> 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<UUID, ReferencedEntityBase> saveReferencedEntitiesAll(Collection<ReferencedEntityBase> referencedEntityCollection) {
+        return null;
+    }
+
+    /**
+     * @param homotypicalGroups
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.INameService#saveAllHomotypicalGroups(java.util.Collection)
+     */
+    @Override
+    public Map<UUID, HomotypicalGroup> saveAllHomotypicalGroups(Collection<HomotypicalGroup> 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<Rights> getRights(TaxonNameBase t, Integer pageSize, Integer pageNumber, List<String> 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<? extends TaxonNameBase> 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<NomenclaturalStatus> 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<TypeDesignationBase> 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<TaxonNameBase> findById(Set<Integer> idSet) {
+        return defaultNameService.findById(idSet);
+    }
+
+    /**
+     * @param name
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.INameService#getNamesByName(java.lang.String)
+     */
+    @Override
+    public List<TaxonNameBase> getNamesByName(String name) {
+        return defaultNameService.getNamesByName(name);
+    }
+
+    /**
+     * @param nameCache
+     * @return
+     * @see eu.etaxonomy.cdm.api.service.INameService#getNamesByNameCache(java.lang.String)
+     */
+    @Override
+    public List<NonViralName> 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<UuidAndTitleCache<TaxonNameBase>> 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<Object[]> group(Class<? extends TaxonNameBase> clazz, Integer limit, Integer start, List<Grouping> groups, List<String> 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<NonViralName> findNamesByTitleCache(String titleCache, MatchMode matchMode, List<String> 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<NonViralName> findNamesByNameCache(String nameCache, MatchMode matchMode, List<String> 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<TaxonNameBase> findByTitle(Class<? extends TaxonNameBase> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> 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<String> 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<SearchResult<TaxonNameBase>> findByNameFuzzySearch(String name, float accuracy, List<Language> languages, boolean highlightFragments, List<String> 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<TaxonNameBase> list(Class<? extends TaxonNameBase> type, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) {
+        return defaultNameService.list(type, limit, start, orderHints, propertyPaths);
+    }
+
+    /**
+     * @param configurator
+     * @return
+    &