merge master into develop
authorKatja Luther <k.luther@bgbm.org>
Wed, 6 Dec 2017 08:57:39 +0000 (09:57 +0100)
committerKatja Luther <k.luther@bgbm.org>
Wed, 6 Dec 2017 08:57:39 +0000 (09:57 +0100)
205 files changed:
eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.application/pom.xml
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/LifeCycleManager.java
eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.bulkeditor/pom.xml
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/handler/SetMergeCandidateHandlerE4.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java
eu.etaxonomy.taxeditor.cdmlib/.classpath
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/build.properties
eu.etaxonomy.taxeditor.cdmlib/pom.xml
eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin.properties
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_de.properties
eu.etaxonomy.taxeditor.editor/pom.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/handler/ChangeSynonymToAcceptedTaxonHandlerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/handler/MoveSynonymToAnotherAcceptedTaxonHandlerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/operation/MoveSynonymToAnotherAcceptedTaxonOperationE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditorInput.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/ChecklistDropdownSelectionListenerE4.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/ChecklistEditorE4.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditingSupportE4.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditorHelper.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/e4/handler/CreateConceptRelationHandlerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/AddExistingMediaHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchCompositeController.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/handler/MoveDescriptionElementsHandlerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/handler/MoveDescriptionToOtherTaxonHandlerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/MediaViewLabelProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/AddExistingMediaHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/CharacterEditor.java
eu.etaxonomy.taxeditor.feature.platform/feature.xml
eu.etaxonomy.taxeditor.feature.platform/pom.xml
eu.etaxonomy.taxeditor.feature/feature.xml
eu.etaxonomy.taxeditor.feature/pom.xml
eu.etaxonomy.taxeditor.help/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.help/pom.xml
eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.molecular.lib/pom.xml
eu.etaxonomy.taxeditor.molecular/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.molecular/pom.xml
eu.etaxonomy.taxeditor.navigation/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.navigation/pom.xml
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TaxonNavigatorLabelProviderE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/ChangeAcceptedTaxonToSynonymHandlerE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/MoveFactualDataHandlerE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/MoveTaxonHandlerE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/RemotingChangeAcceptedTaxonToSynonymHandlerE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/RemotingMoveFactualDataHandlerE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/RemotingMoveTaxonNodeHandlerE4.java
eu.etaxonomy.taxeditor.printpublisher/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.printpublisher/pom.xml
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties
eu.etaxonomy.taxeditor.store/fragment.e4xmi
eu.etaxonomy.taxeditor.store/icons/funnel-exclamation-icon.png [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/icons/funnel-icon.png [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/pom.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/ImportFromFileAndChooseVocIdWizardPageE4.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/abcd/ClassificationChooserWizardPageE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/excel/distribution/ExcelDistributionUpdateWizardE4.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/in/ris/RISImportWizardE4.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/cdmlight/CdmLightExportWizardE4.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/csv/print/CsvPrintExportWizardE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/CdmLightExportWizard.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ExcelDistributionUpdateWizard.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ImportFromFileAndChooseVocIdWizardOage.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/RISImportWizard.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/CloneClassificationDetailElement.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/dialog/selection/AbstractFilteredIdentifierSelectionDialog.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AgentSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AmplificationSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CdmFilteredItemsSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/ClassificationSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CollectionSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/DerivedUnitSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/ExtReferenceSelectionDialog.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FeatureSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FeatureTreeSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FieldUnitSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FilterDialog.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/GrantedAuthoritySelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/GroupSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/InstitutionSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/MediaSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NameSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NamedAreaSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NomenclaturalAuthorSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NomenclaturalAuthorTeamSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NomenclaturalPersonAuthorSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NomenclaturalReferenceSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/OriginalSourceTypeSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PersonSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PolytomousKeySelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PrimerSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/ReferenceSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/RightsSelectionDialog.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SearchDialog.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SelectionDialogFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SpecimenOrObservationBaseSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SpecimenOrObservationTypeSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonBaseSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonNodeSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonNodeSelectionNaturalOrderDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TeamSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/UserSelectionDialog.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/section/AbstractCdmDetailElement.java
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/TeamMemberElement.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/TaxonNodeAgentRelationCollectionElement.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/common/ReferenceEntityDetailElement.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/DescriptionElementSourceElement.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/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/TaxonInteractionDetailElement.java [changed mode: 0755->0644]
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/GrantedAuthorityDetailSection.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/PolytomousKeyNodeDetailElement.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/MediaMetaElement.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/NameTypeDesignationElement.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/SpecimenTypeDesignationElement.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/AbstractSpecimenOrObservationDetailElement.java [changed mode: 0755->0644]
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/DerivedUnitBaseDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.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/FieldUnitGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeoScopeDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeoScopePolyKeyDetailSection.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/SpecimenCollectionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/DerivedUnitTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/derivedUnit/PreservedSpecimenDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/derivedUnit/PreservedSpecimenGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationCloningDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationPrimerDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSamplePreparationPreservationDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/PrimerGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceReferenceCollectionDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SingleReadGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/TissueSampleGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/ReferenceDetailElement.java [changed mode: 0755->0644]
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/CreditElement.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/taxon/TaxonBaseDetailElement.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/TaxonDetailSection.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonOfRelationshipElement.java [changed mode: 0755->0644]
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/selection/ClassificationSelectionElement.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/EntitySelectionElementWithAbbreviatedTitle.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/view/dataimport/DataImportEditor.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/SpecimenImportView.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/TestSpecimenImportView.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/e4/SpecimenImportViewE4.java [changed mode: 0755->0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/e4/AbstractCdmEditorPartE4.java
eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.test/pom.xml
eu.etaxonomy.taxeditor.webapp/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.webapp/pom.xml
eu.etaxonomy.taxeditor.workbench/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.workbench/pom.xml
eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product
eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product.with.jre
eu.etaxonomy.taxeditor/pom.xml
eu.etaxonomy.taxeditor/rcp.target
pom.xml

index 605ce5b85d6f2af1c874479a26d8cd12453068b2..48e791bd4fc5cea8cca0df2bb9fcf7ee26fdf452 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Application
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.application;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
 Bundle-Vendor: EDIT
 Bundle-Localization: OSGI-INF/l10n/plugin
@@ -37,7 +37,9 @@ Require-Bundle: org.eclipse.ui,
  org.eclipse.e4.core.contexts,
  org.eclipse.e4.core.di,
  org.eclipse.e4.core.services,
- org.eclipse.e4.core.di.annotations
+ org.eclipse.e4.core.di.annotations,
+ eu.etaxonomy.taxeditor.cdmlib,
+ org.eclipse.osgi.services
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: eu.etaxonomy.cdm.database,
index 8e0e51fe285b04eb2e7c43383eeecb50ebd4767f..694e7c162a2a9d79a2f57b8bed7aefef7ed07c74 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index af9b282ef304c08a366a542bd0d12df30ce7eca7..8b8f12aafc958d81a64f0581568d20a12a411176 100644 (file)
 package eu.etaxonomy.taxeditor;
 
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 
 import javax.inject.Inject;
 
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.di.annotations.Optional;
+import org.eclipse.e4.ui.di.UIEventTopic;
 import org.eclipse.e4.ui.model.application.MApplication;
 import org.eclipse.e4.ui.model.application.ui.MElementContainer;
 import org.eclipse.e4.ui.model.application.ui.MUIElement;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.workbench.UIEvents;
 import org.eclipse.e4.ui.workbench.lifecycle.PostContextCreate;
 import org.eclipse.e4.ui.workbench.lifecycle.PreSave;
 import org.eclipse.e4.ui.workbench.lifecycle.ProcessAdditions;
 import org.eclipse.e4.ui.workbench.lifecycle.ProcessRemovals;
 import org.eclipse.e4.ui.workbench.modeling.EModelService;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.ui.IMemento;
+import org.osgi.service.event.Event;
 
 import eu.etaxonomy.taxeditor.model.IContextListener;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -66,6 +73,23 @@ public class LifeCycleManager implements IContextListener{
     private void preSave(){
     }
 
+    @Inject
+    @Optional
+    public void subscribeAppShutdownStarted(@UIEventTopic(UIEvents.UILifeCycle.APP_SHUTDOWN_STARTED) Event event,
+            MApplication application) {
+        IEclipseContext context = application.getContext();
+        EPartService partService = context.get(EPartService.class);
+        try {
+            Collection<MPart> dirtyParts = partService.getDirtyParts();
+            if(!dirtyParts.isEmpty()){
+                partService.saveAll(true);
+            }
+        } catch (IllegalStateException e) {
+            //FIXME E4
+            //exception is ignored as this is a temporary fix until full e4 migration
+        }
+    }
+
     private void hideParts() {
         List<MPart> elements = modelService.findElements(application, null, MPart.class, Arrays.asList(NON_RESTORE));
         for (MPart part : elements) {
index e2b1555cf27c7922f7be1cfd0220843c6a5e96d7..bdb2398a5e8cd447280b117ab886248e0c8b456b 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Bulkeditor Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.bulkeditor;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
index 481a2378b46be50e38bf855b2abdd8c04d8c253b..8be0bd52d0490e27980798942f12dac561feeac1 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>4.11.4</version>
+               <version>4.13.0-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index b9f53e927fe288a1f3d693136ca2973d6391965c..82c6a15bbff78f8bbcea46962d7ab699cb85420c 100644 (file)
@@ -117,6 +117,7 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
            }
            table.setHeaderVisible(true);
            table.setLinesVisible(true);
+
            viewer.setCellEditors(editors);
            viewer.setColumnProperties(titles);
 
@@ -208,17 +209,20 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
            conversation.commit(true);
 
            Object object = viewer.getInput();
-           List<CdmBase> cdmBaseList = new ArrayList<>();;
-           if(object instanceof List){
-               for (Object item: (List)object) {
-                   CdmBase cdmBase = (CdmBase) item;
-                   cdmBaseList.add(cdmBase);
+           List<CdmBase> cdmBaseList = new ArrayList<>();
+           List<CdmBase> saveCandidates = getEditorInput().getSaveCandidates();
+           if(saveCandidates != null && !saveCandidates.isEmpty()){
+               for (CdmBase item: saveCandidates) {
+
+                   cdmBaseList.add(item);
             }
            }
-           if (!cdmBaseList.isEmpty()){
-               CdmStore.getService(cdmBaseList.get(0)).merge(cdmBaseList, true);
+
+           if (!saveCandidates.isEmpty()){
+               CdmStore.getService(saveCandidates.get(0)).merge(saveCandidates, true);
            }
         dirty.setDirty(false);
+        getEditorInput().resetSaveCandidates();
         viewer.refresh();
 
        }
@@ -239,8 +243,8 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
                 }
             }
             dirty.setDirty(false);
-            getEditorInput().dispose();
-            getEditorInput().bind();
+//            getEditorInput().dispose();
+//            getEditorInput().bind();
             getEditorInput().performSearch(query);
 
             viewer.setInput(getEditorInput().getModel());
@@ -295,6 +299,9 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
      */
     @Override
     public void changed(Object element) {
+        if (element instanceof CdmBase) {
+            getEditorInput().addSaveCandidate((CdmBase)element);
+        }
         dirty.setDirty(true);
     }
 
index bc7d81f3eb6b90fccf730584e419651c590b8538..8b736ba93fb20b556de544b19b6c40da9b0501c1 100644 (file)
@@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
 public class SetMergeCandidateHandlerE4 {
 
     @Execute
-    public void execute(@Named(IServiceConstants.ACTIVE_SELECTION)CdmBase selection,
+    public void execute(@Named(IServiceConstants.ACTIVE_SELECTION)Object selection,
             @Named(IServiceConstants.ACTIVE_PART)MPart activePart) {
         BulkEditorE4 editor = (BulkEditorE4) activePart.getObject();
         AbstractBulkEditorInput input = editor.getEditorInput();
@@ -37,12 +37,20 @@ public class SetMergeCandidateHandlerE4 {
                 && input.getMergeTarget().equals(selection)){
             input.setMergeTarget(null);
         }
-        input.addMergeCandidate(selection);
+        if (selection instanceof Object[]){
+           for(Object object: (Object[])selection){
+                if (object instanceof CdmBase){
+                    input.addMergeCandidate((CdmBase)object);
+                }
+            }
+        }else if (selection instanceof CdmBase){
+            input.addMergeCandidate((CdmBase)selection);
+        }
         editor.refresh();
     }
 
     @CanExecute
-    public boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION)CdmBase selection,
+    public boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION)Object selection,
             @Named(IServiceConstants.ACTIVE_PART)MPart activePart,
             MHandledMenuItem menuItem) {
         boolean canExecute = false;
index 388f1aafddaa6a4e65fc86b66a5ed768a383f767..6309d9bffca04cefddb7df52e495dc0fd21b73a9 100644 (file)
@@ -52,6 +52,8 @@ public abstract class AbstractBulkEditorInput<T extends CdmBase> extends CdmEnti
        private List<T> model = new ArrayList<>();
 
        private Map<T, DeleteConfiguratorBase> toDelete = new HashMap<>();
+       private List<T> saveCandidates = new ArrayList<>();
+
 
        private List<T> mergeCandidates = new ArrayList<>();
        private T mergeTarget = null;
@@ -113,7 +115,9 @@ public abstract class AbstractBulkEditorInput<T extends CdmBase> extends CdmEnti
     public void addToDelete(T t, DeleteConfiguratorBase config) {
         toDelete.put(t, config);
     }
-
+    public void addSaveCandidate(T t){
+        saveCandidates.add(t);
+    }
        private void setEntityUuid(UUID entityUuid){
                this.entityUuid = entityUuid;
        }
@@ -281,4 +285,16 @@ public abstract class AbstractBulkEditorInput<T extends CdmBase> extends CdmEnti
        public ConversationHolder getConversation() {
                return conversation;
        }
+
+       public List<T> getSaveCandidates() {
+        return saveCandidates;
+    }
+
+    /**
+     *
+     */
+    public void resetSaveCandidates() {
+       this.saveCandidates.clear();
+
+    }
 }
index 18f7016326b5da4103a93566d5cd206ba021d0c7..f995e0d5d00dff77cf023be836034b57a5aefb5b 100644 (file)
        <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.8.8.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.8.8.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/batik-xml-1.7.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-4.11.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-4.11.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-4.11.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-4.11.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-4.11.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-4.11.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-4.11.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-4.11.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-test-4.11.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-4.13.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-4.13.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-4.13.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-4.13.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-4.13.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-4.13.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-4.13.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-4.13.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-test-4.13.0-SNAPSHOT.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.aopalliance-1.0.0.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.apache.commons.logging-1.1.1.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.9.2.jar"/>
index 45b26dbfcb010dad51b257e8231291220cf84505..75b88386a207b25f342aa5397874cc60107be5a6 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: CDM Library Dependencies Plugin
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.cdmlib;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Eclipse-BundleShape: dir
 Export-Package: com.google.api,
  com.google.api.detect,
@@ -639,22 +639,23 @@ Require-Bundle: org.eclipse.osgi,
  org.apache.commons.httpclient;bundle-version="3.1.0",
  org.eclipse.core.runtime,
  org.eclipse.e4.core.di.annotations;bundle-version="1.5.0",
- org.eclipse.e4.ui.services;bundle-version="1.2.100"
+ org.eclipse.e4.ui.services;bundle-version="1.2.100",
+ org.eclipse.swt
 Bundle-ClassPath: .,
  lib/activation-1.1.1.jar,
  lib/apache-log4j-extras-1.2.17.jar,
  lib/aspectjrt-1.8.8.jar,
  lib/aspectjweaver-1.8.8.jar,
  lib/batik-xml-1.7.jar,
- lib/cdmlib-commons-4.11.0.jar,
- lib/cdmlib-ext-4.11.0.jar,
- lib/cdmlib-io-4.11.0.jar,
- lib/cdmlib-model-4.11.0.jar,
- lib/cdmlib-persistence-4.11.0.jar,
- lib/cdmlib-print-4.11.0.jar,
- lib/cdmlib-remote-4.11.0.jar,
- lib/cdmlib-services-4.11.0.jar,
- lib/cdmlib-test-4.11.0.jar,
+ lib/cdmlib-commons-4.13.0-SNAPSHOT.jar,
+ lib/cdmlib-ext-4.13.0-SNAPSHOT.jar,
+ lib/cdmlib-io-4.13.0-SNAPSHOT.jar,
+ lib/cdmlib-model-4.13.0-SNAPSHOT.jar,
+ lib/cdmlib-persistence-4.13.0-SNAPSHOT.jar,
+ lib/cdmlib-print-4.13.0-SNAPSHOT.jar,
+ lib/cdmlib-remote-4.13.0-SNAPSHOT.jar,
+ lib/cdmlib-services-4.13.0-SNAPSHOT.jar,
+ lib/cdmlib-test-4.13.0-SNAPSHOT.jar,
  lib/com.springsource.org.aopalliance-1.0.0.jar,
  lib/com.springsource.org.apache.commons.logging-1.1.1.jar,
  lib/commons-beanutils-1.9.2.jar,
index 00faf38ce351ea4c7ef8d12f4cebac8e28676fd8..e3830baca91feaa41ad7d5822d4be7982d81bbde 100644 (file)
@@ -6,15 +6,15 @@ bin.includes = META-INF/,\
                lib/aspectjrt-1.8.8.jar,\
                lib/aspectjweaver-1.8.8.jar,\
                lib/batik-xml-1.7.jar,\
-               lib/cdmlib-commons-4.11.0.jar,\
-               lib/cdmlib-ext-4.11.0.jar,\
-               lib/cdmlib-io-4.11.0.jar,\
-               lib/cdmlib-model-4.11.0.jar,\
-               lib/cdmlib-persistence-4.11.0.jar,\
-               lib/cdmlib-print-4.11.0.jar,\
-               lib/cdmlib-remote-4.11.0.jar,\
-               lib/cdmlib-services-4.11.0.jar,\
-               lib/cdmlib-test-4.11.0.jar,\
+               lib/cdmlib-commons-4.13.0-SNAPSHOT.jar,\
+               lib/cdmlib-ext-4.13.0-SNAPSHOT.jar,\
+               lib/cdmlib-io-4.13.0-SNAPSHOT.jar,\
+               lib/cdmlib-model-4.13.0-SNAPSHOT.jar,\
+               lib/cdmlib-persistence-4.13.0-SNAPSHOT.jar,\
+               lib/cdmlib-print-4.13.0-SNAPSHOT.jar,\
+               lib/cdmlib-remote-4.13.0-SNAPSHOT.jar,\
+               lib/cdmlib-services-4.13.0-SNAPSHOT.jar,\
+               lib/cdmlib-test-4.13.0-SNAPSHOT.jar,\
                lib/com.springsource.org.aopalliance-1.0.0.jar,\
                lib/com.springsource.org.apache.commons.logging-1.1.1.jar,\
                lib/commons-beanutils-1.9.2.jar,\
index 441d11bc70f6ed5f8cdf8ea49a7981ad12dd607b..cf1e1dbebc203b4af23fdc0e9d79f70514a7ecf8 100644 (file)
@@ -4,7 +4,7 @@
   <parent>\r
     <groupId>eu.etaxonomy</groupId>\r
     <artifactId>taxeditor-parent</artifactId>\r
-    <version>4.11.4</version>\r
+    <version>4.13.0-SNAPSHOT</version>\r
   </parent>\r
   <modelVersion>4.0.0</modelVersion>\r
   <artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
index cb5915c5ac89a25db83859e7cd903fdc52792079..897e692322ff71c48d4d00bdc3230c8034aa3abc 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Editor Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.editor;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: OSGI-INF/l10n/plugin
index f5c02e2ce1030b050a44c659a0a085606d70a5b2..335068da5072b0cb382c3ffd0c6a265e2f93f10e 100644 (file)
@@ -51,8 +51,8 @@ command.label.58 = Insert Node
 command.label.26 = Delete\r
 command.label.27 = New Factual Data\r
 menu.label.1 = New\r
-command.label.28 = Move Description to Taxon\r
-command.label.29 = Move Elements to Taxon\r
+command.label.28 = Move Factual Data to Other Taxon\r
+command.label.29 = Move Fact to Other Taxon\r
 command.label.30 = Delete\r
 command.label.31 = Save\r
 menu.label.2 = New Derivative\r
@@ -88,8 +88,8 @@ command.name.9 = Delete All Empty Names
 category.name.1 = -- Factual\r
 command.name.10 = Create Description Element\r
 command.name.11 = New Description\r
-command.name.12 = Move Description Elements to Taxon\r
-command.name.13 = Move Description to Taxon\r
+command.name.12 = Move Factual Data to Other Taxon\r
+command.name.13 = Move Fact to Other Taxon\r
 category.name.2 = -- New Uses\r
 command.name.14 = New Use\r
 command.name.15 = New Use Summary\r
index ee706cc4c0cbd94a61e4b20429f11e6ba1096051..2631af3d370d30566d79be2abade568b8d192d0b 100644 (file)
@@ -50,8 +50,8 @@ command.label.25 = Erneuere Knoten
 command.label.26 = L\u00f6schen
 command.label.27 = Neue Faktendaten
 menu.label.1 = Neue
-command.label.28 = Verschiebe Eigenschaften zu Taxon
-command.label.29 = Verschiebe Elemente zu Taxon
+command.label.28 = Verschiebe Faktendaten zu anderem Taxon
+command.label.29 = Verschiebe Fakt zu anderem Taxon
 command.label.30 = L\u00f6schen
 command.label.31 = Speichern
 menu.label.2 = Neue Derivate
@@ -88,8 +88,8 @@ command.name.9 = L\u00f6sche alle leeren Namen
 category.name.1 = -- Fakten
 command.name.10 = Erstelle Beschreibungselement
 command.name.11 = Neue Beschreibung
-command.name.12 = Bewege Beschreibungselement zu Taxon
-command.name.13 = Bewege Beschreibung zu Taxon
+command.name.12 = Verschiebe Fakt zu anderem Taxon
+command.name.13 = Verschiebe Faktendaten zu anderem Taxon
 category.name.2 = -- Neue Nutzung
 command.name.14 = Neue Nutzung
 command.name.15 = Neue Zusammenfassung
index 9ee6391b1c401d3975274c3e4cd23793f8b56e26..9f79d64ea3b99fb208f02aef78e9befcec396e46 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
        <groupId>eu.etaxonomy</groupId>
        <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
   
   <modelVersion>4.0.0</modelVersion>
index 1f04dd1d463591d67bc3ea3c462a5bec132a0b2c..4b30939f033128d1370caa1f16ce9665acb9458c 100644 (file)
@@ -14,7 +14,7 @@ import eu.etaxonomy.cdm.api.service.DeleteResult;
 import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
-import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
+import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
@@ -78,7 +78,7 @@ public class DeleteNodeOperation extends AbstractPostOperation<PolytomousKeyNode
                        }else {
                                t = result.getExceptions().iterator().next();
                        }
-                       MessagingUtils.errorDialog(Messages.DeleteNodeOperation_DELETE_FAILED, getClass(),null, TaxeditorBulkeditorPlugin.PLUGIN_ID, t, true);
+                       MessagingUtils.errorDialog(Messages.DeleteNodeOperation_DELETE_FAILED, getClass(),null, TaxeditorEditorPlugin.PLUGIN_ID, t, true);
                }
                return postExecute(null);
        }
index 02929957fd4b9529d4aac33b42d7730e262d8594..345fb072a55f743703d4dad81dc130668f655c31 100644 (file)
@@ -87,7 +87,8 @@ public class ChangeSynonymToAcceptedTaxonHandlerE4 implements IPostOperationEnab
                // Get taxon
                Taxon taxon = input.getTaxon();
 
-               TaxonNode newParentNode = TaxonNodeSelectionDialog.select(shell, editor.getConversationHolder(), Messages.ChangeSynonymToAcceptedTaxonHandler_SELECT_PARENT, null, null, input.getTaxonNode().getClassification());
+               TaxonNode newParentNode = TaxonNodeSelectionDialog.select(shell,// editor.getConversationHolder(),
+                       Messages.ChangeSynonymToAcceptedTaxonHandler_SELECT_PARENT, null, null, input.getTaxonNode().getClassification());
 
 
                if(newParentNode != null){
index 2a83ec99964a96d674c12fb02e009692aefd7ce5..98be8b45165383fa2996717547ebe6ea33fb3d5a 100644 (file)
@@ -83,7 +83,8 @@ public class MoveSynonymToAnotherAcceptedTaxonHandlerE4 implements IPostOperatio
                excludeTaxa.add(oldParent.getUuid());
 
 
-               newParentNode = TaxonNodeSelectionDialog.select(shell, editor.getConversationHolder(), Messages.MoveSynonymToAnotherAcceptedTaxonHandler_SELECT_ACC_TAXON, excludeTaxa,  input.getTaxonNode(), input.getTaxonNode().getClassification());
+               newParentNode = TaxonNodeSelectionDialog.select(shell, //editor.getConversationHolder(),
+                       Messages.MoveSynonymToAnotherAcceptedTaxonHandler_SELECT_ACC_TAXON, excludeTaxa,  input.getTaxonNode(), input.getTaxonNode().getClassification());
 
                if(newParentNode!=null){
                   MoveSynonymToAnotherAcceptedTaxonOperationE4 operation = new MoveSynonymToAnotherAcceptedTaxonOperationE4(Messages.MoveSynonymToAnotherAcceptedTaxonHandler_CHANGE_ACC_TAXON, EditorUtil.getUndoContext(),
index 309c7a6adcc16bf327279bd1206b3cfc9ae8d1a9..d187a560545dcb7c18df2360d2ebbe57512290c8 100644 (file)
@@ -12,6 +12,7 @@ import org.eclipse.core.runtime.IStatus;
 
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.api.service.ITaxonService;
+import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
@@ -56,7 +57,7 @@ public class MoveSynonymToAnotherAcceptedTaxonOperationE4 extends
                conversationEnabled.getConversationHolder().commit();
 
                try {
-                       CdmStore.getService(ITaxonService.class).moveSynonymToAnotherTaxon(synonym,
+                       UpdateResult result = CdmStore.getService(ITaxonService.class).moveSynonymToAnotherTaxon(synonym,
                                this.element.getUuid(),
                                true,
                                synonym.getType(),
index 93f59f35b5321deb6add9521aaafe625df56e1b6..6159b8854973e67ab059cf03b1ca003a52248343 100644 (file)
@@ -40,7 +40,7 @@ public class ChecklistEditorInput extends CdmEntitySessionInput implements IPers
      */
     private TaxonNode taxonNode = null;
 
-    private List<Taxon> taxa = new ArrayList<Taxon>();
+    private List<TaxonBase> taxa = new ArrayList();
 
     private Classification classification = null;
 
@@ -94,7 +94,7 @@ public class ChecklistEditorInput extends CdmEntitySessionInput implements IPers
 
 
 
-    public List<Taxon> getTaxa() {
+    public List<TaxonBase> getTaxa() {
                return taxa;
        }
 
@@ -184,11 +184,7 @@ public class ChecklistEditorInput extends CdmEntitySessionInput implements IPers
 
     @Override
     public void merge() {
-        for (TaxonBase taxon:this.taxa){
-            CdmStore.getService(ITaxonService.class).merge(taxon, true);
-        }
-
-
+        CdmStore.getService(ITaxonService.class).merge(taxa, true);
     }
 
     /* (non-Javadoc)
@@ -253,7 +249,7 @@ public class ChecklistEditorInput extends CdmEntitySessionInput implements IPers
     }
 
 
-       public void setTaxa(List<Taxon> taxonList) {
+       public void setTaxa(List<TaxonBase> taxonList) {
                this.taxa = taxonList;
 
        }
old mode 100755 (executable)
new mode 100644 (file)
index 5d601a7..0891eb8
@@ -18,7 +18,6 @@ import org.eclipse.swt.widgets.ToolItem;
 
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
-import eu.etaxonomy.taxeditor.editor.view.checklist.ChecklistEditor;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.wizard.AvailableDistributionWizard;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
@@ -37,7 +36,7 @@ public class ChecklistDropdownSelectionListenerE4 extends SelectionAdapter {
     private final ChecklistEditorE4 editor;
     private final SortedSet<DefinedTermBase> termSet;
     private Logger logger = Logger.getLogger(ChecklistDropdownSelectionListenerE4.class);
-    
+
     public ChecklistDropdownSelectionListenerE4(ToolItem dropdown, ChecklistEditorE4 editor,
             SortedSet<DefinedTermBase> termSet) {
         this.editor = editor;
@@ -49,7 +48,9 @@ public class ChecklistDropdownSelectionListenerE4 extends SelectionAdapter {
     // SearchOption option
     public void add(DefinedTermBase<DefinedTermBase> term) {
         MenuItem menuItem = new MenuItem(menu, SWT.CHECK);
-        menuItem.setText(term.getTitleCache());
+//        if (PreferencesUtil) {
+//            menuItem.setText(term.getTitleCache());
+//        }
         if (PreferencesUtil.getPreferenceStore().getBoolean(term.getUuid().toString())) {
             menuItem.setSelection(true);
         } else {
@@ -127,7 +128,7 @@ public class ChecklistDropdownSelectionListenerE4 extends SelectionAdapter {
             menu.setVisible(true);
         }
     }
-    
+
     public Menu getMenu(){
        return menu;
     }
old mode 100755 (executable)
new mode 100644 (file)
index 89aaaad..cea4e02
@@ -200,6 +200,8 @@ public class ChecklistEditorE4 implements IPartContentHasFactualData, IConversat
     private SortedSet<DefinedTermBase> terms = null;
        private ToolItem toolItem;
        private ChecklistDropdownSelectionListenerE4 dropListener;
+       private Text searchText;
+
 
     /**
      * @return the selectedTaxonNodes
@@ -227,6 +229,8 @@ public class ChecklistEditorE4 implements IPartContentHasFactualData, IConversat
             return;
         }
         taxonNodeService = CdmStore.getService(ITaxonNodeService.class);
+        filter = new ChecklistEditorFilter();
+        createTopComposite(parent);
         viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
 
         //the focuzsCellManager should return the distribution!!!
@@ -255,8 +259,22 @@ public class ChecklistEditorE4 implements IPartContentHasFactualData, IConversat
                        this.dispose();
                        return;
                }
-        filter = new ChecklistEditorFilter();
-        createTopComposite(parent);
+
+
+        viewer.addFilter(filter);
+        createTable();
+
+        viewer.setContentProvider(new ChecklistContentProvider());
+        viewer.setLabelProvider(this.labelProvider);
+        comparator = new ChecklistEditorComparator();
+        viewer.setComparator(comparator);
+        final ModifyListener modifyListener = new ChecklistModifyListener(viewer, filter, searchText);
+
+        searchText.addFocusListener(new ChecklistFocusListener(searchText, modifyListener));
+        searchText.addModifyListener(modifyListener);
+        createGridDataForViewerLayout();
+        createStatusBar(parent);
+        createToolbar(parent);
     }
 
     /**
@@ -268,26 +286,15 @@ public class ChecklistEditorE4 implements IPartContentHasFactualData, IConversat
         gridLayout.marginHeight = 0;
         parent.setLayout(gridLayout);
 
-        final Text searchText = createSearchBar(parent);
-        createToolbar(parent);
+       searchText = createSearchBar(parent);
+
 
        // getSite().setSelectionProvider(viewer);
 
-        final ModifyListener modifyListener = new ChecklistModifyListener(viewer, filter, searchText);
 
-        searchText.addFocusListener(new ChecklistFocusListener(searchText, modifyListener));
-        searchText.addModifyListener(modifyListener);
-        createGridDataForViewerLayout();
 
-        viewer.addFilter(filter);
-        createTable();
 
-        viewer.setContentProvider(new ChecklistContentProvider());
-        viewer.setLabelProvider(this.labelProvider);
-        comparator = new ChecklistEditorComparator();
-        viewer.setComparator(comparator);
 
-        createStatusBar(parent);
     }
 
        private void createGridDataForViewerLayout() {
old mode 100755 (executable)
new mode 100644 (file)
index 218081c..918446a
@@ -48,6 +48,9 @@ public class DistributionEditorHelper {
             return null;
         }
         ViewerCell cell = editor.getFocusCell();
+        if (cell == null){
+            return null;
+        }
         if (cell.getElement() instanceof Taxon){
             taxon =(Taxon)cell.getElement();
         } else {
index 52040d7f3eb96aab316b38295f3d4acb34a7718d..2a797592410505379a4a80c128be218a39e06220 100644 (file)
@@ -80,7 +80,8 @@ public class CreateConceptRelationHandlerE4 {
             //             undoContext = bulkEditor.getUndoContext();
             //         }
 
-            Taxon relatedConcept = TaxonBaseSelectionDialog.selectTaxon(shell, conversationHolder, taxon);
+            Taxon relatedConcept = TaxonBaseSelectionDialog.selectTaxon(shell, //conversationHolder,
+                    taxon);
 
 
             if(relatedConcept == null){
index b379345d31021db6bc724dde040648ea3696dca6..e42ffa211abf1a12cef621b320b89f554dbb8e83 100644 (file)
@@ -187,7 +187,7 @@ public class DerivateView implements IPartContentHasFactualData, IConversationEn
             if(conversation == null){
                 conversation = CdmStore.createConversation();
             }
-            if(cdmEntitySession!=null){
+            if(cdmEntitySession == null){
                 cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
             }
         }
index 04a2cc239a6c5455f8d1013f08ade7c4971542a1..deecef6056364185ba51cc74413c4b66cdf26cc2 100644 (file)
@@ -31,7 +31,8 @@ public class AddExistingMediaHandler extends AbstractAddDerivativeHandler{
     protected DerivedUnit createDerivative() {
         MediaSpecimen mediaSpecimen = null;
         //select media
-        Media media = MediaSelectionDialog.select(AbstractUtility.getShell(), null, null);
+        Media media = MediaSelectionDialog.select(AbstractUtility.getShell(), //null,
+                null);
         if(media!=null){
             //create MediaSpecimen
             mediaSpecimen = MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage);
index cc173c77b65435a72d666c52102d6d9f528a6a15..cb761f5e9cbcc30c6493d061827b45601b73b8de 100644 (file)
@@ -120,7 +120,8 @@ public class DerivateSearchCompositeController implements Listener{
             searchDerivates();
         }
         else if(eventSource==derivateSearchComposite.getBtnBrowseTaxa()){
-            selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, this.derivateSearchComposite.getShell(), derivativeEditor.getConversationHolder(), null);
+            selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, this.derivateSearchComposite.getShell(), //derivativeEditor.getConversationHolder(),
+                    null);
             if(selectedTaxon!=null){
                 derivateSearchComposite.getTextTaxonName().setText(selectedTaxon.getTitleCache());
             }
index bacb86cb93bd81ef022fa3f7073c95c990f737ec..05a50919776afe8adf0f0350cb0618f344b949fc 100644 (file)
@@ -121,7 +121,7 @@ public class MoveDescriptionElementsHandlerE4 implements IPostOperationEnabled{
             }
         }
         TaxonNode newAcceptedTaxonNode = TaxonNodeSelectionDialog.select(shell,
-                editor.getConversationHolder(),
+//                editor.getConversationHolder(),
                 Messages.MoveDescriptionElementsHandler_CHOOSE_ACC_TAXON,
                 excludeTaxa,
                 null, classification
index a8f1ae0bf5381514719d3dab51148de1288fca1e..7807c6fd9eb10edaeba985bf40943cf107d051a8 100644 (file)
@@ -109,7 +109,7 @@ public class MoveDescriptionToOtherTaxonHandlerE4 implements IPostOperationEnabl
             classification = node.getClassification();
         }
         TaxonNode newAcceptedTaxonNode = TaxonNodeSelectionDialog.select(shell,
-                editor.getConversationHolder(),
+//                editor.getConversationHolder(),
                 Messages.MoveDescriptionToOtherTaxonHandler_CHOOSE_ACC_TAXON,
                 excludeTaxa,
                 node,
index 01895419a1647cd73c4493212fadf3111188f353..12eb1c0d9513a8a7f829ab38461d5353e81faa52 100755 (executable)
@@ -27,6 +27,7 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
 import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
+import eu.etaxonomy.cdm.model.media.MediaUtils;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 
 /**
@@ -61,12 +62,15 @@ public class MediaViewLabelProvider extends LabelProvider implements IStyledLabe
     @Override
     public Image getImage(Object element) {
         Image image = null;
+        int scale = 50;
         if (element instanceof Media && PreferencesUtil.isShowMediaPreview()){
             Set<MediaRepresentation> representations = ((Media)element).getRepresentations();
             if(representations.iterator().hasNext()){
-                MediaRepresentation rep = representations.iterator().next();
-                List<MediaRepresentationPart> parts = rep.getParts();
+                MediaRepresentation rep = null;
+
                 MediaRepresentationPart smallestPart = null;
+                rep = MediaUtils.findBestMatchingRepresentation((Media)element, null, null, scale, scale, null);
+                List<MediaRepresentationPart> parts = rep.getParts();
                 for (MediaRepresentationPart part: parts){
                     if (smallestPart != null){
                         if (smallestPart.getSize() != null && part.getSize() != null) {
@@ -79,7 +83,7 @@ public class MediaViewLabelProvider extends LabelProvider implements IStyledLabe
                     }
 
                 }
-                URI uri = parts.get(0).getUri();
+                URI uri = smallestPart.getUri();
                 if (uri == null){
                     return null;
                 }
@@ -89,7 +93,7 @@ public class MediaViewLabelProvider extends LabelProvider implements IStyledLabe
                     image = new Image(Display.getCurrent(), imageStream);
                     int height = image.getBounds().height;
                     int width = image.getBounds().width;
-                    int scale = 50;
+
                     if (height>width){
                         width = width/(height/scale);
                         height = scale;
index 26ac3a8fdaaae0fbbd3ac18109b3b1710da76c6d..f67aa4ad12481e1c55682cf331168b1e75e8c32e 100644 (file)
@@ -31,7 +31,8 @@ public class AddExistingMediaHandler  {
         if(description != null){
             AbstractPostOperation operation = null;
             //select media
-            Media media = MediaSelectionDialog.select(AbstractUtility.getShell(), null, null);
+            Media media = MediaSelectionDialog.select(AbstractUtility.getShell(),// null,
+                    null);
             if(media!=null){
                 // TODO use undo context specific to editor
                 operation = new AddExistingMediaToImageGalleryOperation(media, menuItem.getLocalizedLabel(),
index a03c876666411517161f2dd4a95476b38f762cf5..e0c094f7c1c88af4252c4c14ecee3d1caf9fe04f 100644 (file)
@@ -337,7 +337,8 @@ public class CharacterEditor
 
         @Override
         public void widgetSelected(SelectionEvent e) {
-            FeatureTree tree = FeatureTreeSelectionDialog.select(featureTreeEditorComposite.getDisplay().getActiveShell(), conversation, null);
+            FeatureTree tree = FeatureTreeSelectionDialog.select(featureTreeEditorComposite.getDisplay().getActiveShell(), //conversation,
+                    null);
             if(tree!=null){
                 featureTreeEditorComposite.setSelectedTree(tree, CharacterEditor.this);
                 featureTreeEditorComposite.getText_title().setEnabled(false);
index 35c28858ab7942ab1f9318adbb3d975e4362d72e..b5763642a2d23c84effd1bdb91aee898184ec43d 100644 (file)
@@ -2,7 +2,7 @@
 <feature
       id="eu.etaxonomy.taxeditor.feature.platform"
       label="Taxeditor Dependencies"
-      version="4.11.4"
+      version="4.13.0.qualifier"
       os="linux,macosx,win32"
       ws="cocoa,gtk,win32"
       arch="x86,x86_64">
index e55aa5b9eb6a8f00ba54c2c1c1cdf9e2ebcbfa82..a844c3c48643119244e7835e3893608857104a42 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>4.11.4</version>
+               <version>4.13.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <artifactId>eu.etaxonomy.taxeditor.feature.platform</artifactId>
index 6fb5402647dacc49ffeffc9db45f6876bcc0eeb5..b67a472dc37be7708d4858521180b0dc7ee49b07 100644 (file)
@@ -2,7 +2,7 @@
 <feature
       id="eu.etaxonomy.taxeditor.feature"
       label="Taxonomic Editor"
-      version="4.11.4"
+      version="4.13.0.qualifier"
       provider-name="EDIT"
       plugin="eu.etaxonomy.taxeditor.application"
       os="linux,macosx,win32"
index 7f57d86aa0e3ca5f303c0769a16e2a4ff5dbb8c2..1c15189d81fb05dd9c6cfcff9840c85e70bc4e8f 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>eu.etaxonomy.taxeditor.feature</artifactId>
index f8a7d233fe9aecc8fb4343217172a245a71a6c79..fe25924a0dd0320e6517350ec6820db12ee33494 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Help
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.help; singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.help.Activator
 Bundle-Vendor: EDIT
 Require-Bundle: org.eclipse.ui,
index 992824f78e323559432106a7114fdcc5630c29c2..d00eebbd687c44d3aa1b798218f43e299041c9ab 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>4.11.4</version>
+               <version>4.13.0-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index a72ad4f3f839d2453a4cbc039dc5852968dcddf8..f1cf237a55bd23036fd6c8fdedc76d2e988b10f3 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: eu.etaxonomy.taxeditor.molecular.lib
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.molecular.lib;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-ClassPath: .,
  lib/owlapi-xmlutils-4.1.4.jar,
  lib/commons-collections4-4.1.jar,
index 03b11730e31e71feed47428edb7fa211e152ee67..bce810f6dd7521a196fa45e277557a95a7f29840 100644 (file)
@@ -7,7 +7,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
   
   <name>Molecular Library Dependencies Bundle</name>
index aa24c7947f3e90b3e22c0f56c3bcce8b54bbf5e8..9c134a4dde041b172a2a8f46cc8cd874d9328887 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Molecular Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.molecular;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.molecular.TaxeditorMolecularPlugin
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
index 1a1555edd7e7afa99977f17631597ebd1c36e09a..7fc31873dc299a789c974189af12b560f3d1d70f 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 79630027742aa299b3ee8197a121982451569d12..e37349f248852a5d20652cf1111bb7b0202ffeec 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Navigation Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.navigation;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.cdm,
index 0423819379efed4c1253dbf7016715b7ac7bdf61..ad29963ab3905c1aa0f9e4684a30d93709a57a37 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>4.11.4</version>
+               <version>4.13.0-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 2c7102d464eb1f01063f3454da3177c832e05dbd..ef2d23f8770b7fc9aa767e7c4134cd973a88a33d 100644 (file)
@@ -62,7 +62,7 @@ implements IDescriptionProvider, IStyledLabelProvider {
             try{
                 Taxon taxon = HibernateProxyHelper.deproxy(taxonNode.getTaxon());
                 if(taxon == null){
-                    String text = taxonNode.getClassification().getName().getText();
+                    String text = taxonNode.getClassification().getName() == null ? null : taxonNode.getClassification().getName().getText();
                     if(text==null){
                         text = taxonNode.getClassification().getTitleCache();
                     }
index 8a985899b55d172789ce7258377b49493da40be7..6cba7e7b6613ad0f50530470e79a79c99b426dcc 100644 (file)
@@ -87,7 +87,7 @@ public class ChangeAcceptedTaxonToSynonymHandlerE4 extends DeleteHandlerE4 imple
             List<UUID> excludeTaxa = new ArrayList<UUID>();
             excludeTaxa.add(((TaxonNode)oldAcceptedTaxonNode).getTaxon().getUuid());
             TaxonNode newAcceptedTaxonNode = TaxonNodeSelectionDialog.select(shell,
-                       taxonNavigator.getConversationHolder(),
+//                     taxonNavigator.getConversationHolder(),
                        Messages.ChangeAcceptedTaxonToSynonymHandler_CHOOSE_TAXON,
                        excludeTaxa,
                        null,
index a95e721e4bb44cc3024da87a4d7e9e997d45df35..99ff6712fa8daedf7071ab779f78aed703528b83 100644 (file)
@@ -54,7 +54,7 @@ public class MoveFactualDataHandlerE4 {
                     List<UUID> excludeTaxa = new ArrayList<UUID>();
                     excludeTaxa.add(taxon.getUuid());
                     TaxonNode dialogTaxonNode = TaxonNodeSelectionDialog.select(shell,
-                            taxonNavigator.getConversationHolder(),
+//                            taxonNavigator.getConversationHolder(),
                             Messages.MoveFactualDataHandler_CHOOSE_TAXON,
                             excludeTaxa,
                             sourceTaxonNode,
index ac02c7643746da5e36a20e02429661dca41b1262..28ebd359ae954372f1aca2c6a3edeb8d62b7f64c 100644 (file)
@@ -87,9 +87,11 @@ public class MoveTaxonHandlerE4 implements IPostOperationEnabled {
                                if(!MessageDialog.openQuestion(null, Messages.MoveTaxonHandler_TARGET_NODE, Messages.MoveTaxonHandler_TARGET_NODE_MESSAGE)){
                                        moveToNewParent = MovingType.BEHIND;
                                }
-                               parentTaxonNode = TaxonNodeSelectionDialog.select(shell, taxonNavigator.getConversationHolder(), Messages.MoveTaxonHandler_CHOOSE_ABOVE, excludeTaxa, null, classification);
+                               parentTaxonNode = TaxonNodeSelectionDialog.select(shell, //taxonNavigator.getConversationHolder(),
+                                       Messages.MoveTaxonHandler_CHOOSE_ABOVE, excludeTaxa, null, classification);
                        }else{
-                               parentTaxonNode = TaxonNodeSelectionDialog.select(shell, taxonNavigator.getConversationHolder(), Messages.MoveTaxonHandler_CHOOSE_PARENT, excludeTaxa, null, classification);
+                               parentTaxonNode = TaxonNodeSelectionDialog.select(shell, //taxonNavigator.getConversationHolder(),
+                                       Messages.MoveTaxonHandler_CHOOSE_PARENT, excludeTaxa, null, classification);
                        }
                        if(parentTaxonNode != null){
                                if(NavigationUtil.isDirty(parentTaxonNode, partService)){
index 9831b0b37704e5edcf5fe8f427fb83217b68ef26..a6ecb3dc0485f84a1e651b392979ecc9eff5e955 100644 (file)
@@ -20,7 +20,6 @@ import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolderMock;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
@@ -99,7 +98,7 @@ public class RemotingChangeAcceptedTaxonToSynonymHandlerE4 extends RemotingCdmHa
         List<UUID> excludeTaxa = new ArrayList<UUID>();
         excludeTaxa.add(oldTaxonNode.getTaxon().getUuid());
         TaxonNode newAcceptedTaxonNode = TaxonNodeSelectionDialog.select(shell,
-                new ConversationHolderMock(),
+//                new ConversationHolderMock(),
                 Messages.RemotingChangeAcceptedTaxonToSynonymHandler_CHOOSE_TAXON,
                 excludeTaxa,
                 oldTaxonNode,
index c04b7a079fcbfeeaa00cb1da586485302ff3dcab..897da4799be3b438602c53b7376fc460b8f779be 100644 (file)
@@ -26,7 +26,6 @@ import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolderMock;
 import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
@@ -89,7 +88,7 @@ public class RemotingMoveFactualDataHandlerE4 extends RemotingCdmHandlerE4 {
         excludeTaxa.add(sourceTaxonNode.getTaxon().getUuid());
 
         targetTaxonNode = TaxonNodeSelectionDialog.select(shell,
-                new ConversationHolderMock(),
+//                new ConversationHolderMock(),
                 Messages.RemotingMoveFactualDataHandler_CHOOSE_TAXA,
                 excludeTaxa,
                 sourceTaxonNode,
index a20ce56ee1254a197dd3b9636bb5c26da99bdc0b..bd5b81aa609b0155c5ec76adc889b3181fc8c36e 100644 (file)
@@ -26,7 +26,6 @@ import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolderMock;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
 import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
@@ -96,7 +95,7 @@ public class RemotingMoveTaxonNodeHandlerE4 extends RemotingCdmHandlerE4 {
 
 
             parentTaxonNode = TaxonNodeSelectionDialog.select(shell,
-                    new ConversationHolderMock(),
+//                    new ConversationHolderMock(),
                     Messages.RemotingMoveTaxonNodeHandler_CHOOSE_TAXON,
                     excludeTaxa,
                     null,
@@ -112,7 +111,7 @@ public class RemotingMoveTaxonNodeHandlerE4 extends RemotingCdmHandlerE4 {
             }
         } else {
             parentTaxonNode = TaxonNodeSelectionDialog.select(shell,
-                    new ConversationHolderMock(),
+//                    new ConversationHolderMock(),
                     Messages.RemotingMoveTaxonNodeHandler_CHOOSE_PARENT,
                     excludeTaxa,
                     oldTaxonNode,
index e73ce0aa74acbe0e698ac35d0e1940b39a55984f..c1a969aa7f365ad38ec2f05362215d138db08fbb 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Printpublisher Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.printpublisher;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Require-Bundle: org.eclipse.osgi,
  org.eclipse.ui,
  eu.etaxonomy.taxeditor.cdmlib,
index 82fdc385a11d00d1b6aca3f5c4460395dc8ef836..e88bbf35f9e5bb582c504b54458e90d58755f380 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <artifactId>taxeditor-parent</artifactId>
                <groupId>eu.etaxonomy</groupId>
-               <version>4.11.4</version>
+               <version>4.13.0-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 7d3ca69b725b9bd75846410d05ab2f628a42dbd5..7c39e2b16ac6a0b429fb96612ac718e30fd47c76 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: DataStore Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.store;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin
 Bundle-Vendor: EDIT
 Bundle-Localization: OSGI-INF/l10n/bundle
index 1ea4fe6e828e780ec9f9ed408139380702e646b8..f784521c6e3325fd2322c8e7cb52593907a4fad6 100644 (file)
@@ -39,6 +39,7 @@ view.name.5 = Benutze Datensatz
 view.name.6 = Derivatsuche
 view.name.7 = Specimensuche
 view.name.8 = GBIF Specimen Import
+view.name.9 = Auswahl
 editor.name = Editor f\u00fcr definierte Begriffe 
 command.label = Derivatsuche
 command.label.0 = Details
index 3457f7295bd5c5381b23d7100843af8209989673..36b3e8335c593ba5ca1d92092e23e4c4b7518329 100644 (file)
@@ -64,6 +64,7 @@
     <elements xsi:type="basic:PartDescriptor" xmi:id="_N9AMYKkNEeejedk4mZQIGw" elementId="eu.etaxonomy.taxeditor.view.dataimport.e4.GbifResponseImportViewE4" label="%view.name.8" allowMultiple="true" closeable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.dataimport.e4.GbifResponseImportViewE4">
       <tags>nonRestore</tags>
     </elements>
+    <elements xsi:type="basic:PartDescriptor" xmi:id="_aT37QM3UEeeznb_sS6rfAQ" elementId="eu.etaxonomy.taxeditor.store.partdescriptor.SearchDialog" label="%view.name.9" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.ui.dialog.selection.SearchDialog"/>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_3rW8wCXaEeex9MwMOgUeWw" featurename="children" parentElementId="eu.etaxonomy.taxeditor.menu.showView" positionInList="after:eu.etaxonomy.taxeditor.workbench.menuseparator.afterConcept">
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_TlufMCaGEeeTEd_pKXBflg" elementId="eu.etaxonomy.taxeditor.store.showViewMenu.supplemental" label="%command.label.1" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/applications-office.png" tooltip="%command.label.1" command="_bnVKsCZxEeeQLpuomSmVoQ">
diff --git a/eu.etaxonomy.taxeditor.store/icons/funnel-exclamation-icon.png b/eu.etaxonomy.taxeditor.store/icons/funnel-exclamation-icon.png
new file mode 100644 (file)
index 0000000..e5c5720
Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/funnel-exclamation-icon.png differ
diff --git a/eu.etaxonomy.taxeditor.store/icons/funnel-icon.png b/eu.etaxonomy.taxeditor.store/icons/funnel-icon.png
new file mode 100644 (file)
index 0000000..1f69604
Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/funnel-icon.png differ
index f96542810a1af6808e30b6dc1d8ba665f9047386..6a14f58ca557bda11d077b8265a90eb11494cbca 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
        <groupId>eu.etaxonomy</groupId>
        <artifactId>taxeditor-parent</artifactId>
-       <version>4.11.4</version>
+       <version>4.13.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 3a3875357c55209187b17a5026080eb3b3d131c9..d5fe1104e1b3edbd37b6bb6456531e6de9e0cd93 100644 (file)
@@ -115,7 +115,8 @@ public class FeatureTreeEditor implements ICdmEntitySessionEnabled, ModifyListen
                             }
 
                         }
-                        FeatureTree tree = FeatureTreeSelectionDialog.select(composite.getDisplay().getActiveShell(), conversation, null);
+                        FeatureTree tree = FeatureTreeSelectionDialog.select(composite.getDisplay().getActiveShell(), //conversation,
+                                null);
                         if (tree != null) {
                             composite.setSelectedTree(tree, FeatureTreeEditor.this);
                         }
index 42345373d781430e3f47e94bfb25cdd143301078..87a8412fb0c5e2af4dccd1240963407cd60d1345 100644 (file)
@@ -82,7 +82,7 @@ public class ClassificationChooserWizardPageE4 extends WizardPage implements Lis
        @Override
        public void handleEvent(Event event) {
            if(event.widget==btnBrowseClassification){
-               classification = SelectionDialogFactory.getSelectionFromDialog(Classification.class, getShell(), null, null);
+               classification = SelectionDialogFactory.getSelectionFromDialog(Classification.class, this.getShell(), null, null);
                if(classification!=null){
                    textClassification.setText(classification.getTitleCache());
                }
index 59db4a04bb6c751fb0cda7f4603d40e024e8bee4..be8bbe9dde8bfca347d83e1cf81e326a522f3780 100644 (file)
@@ -8,6 +8,7 @@ import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.ui.progress.IProgressConstants;
 
+import eu.etaxonomy.cdm.io.common.ExportResultType;
 import eu.etaxonomy.cdm.io.csv.caryophyllales.out.CsvNameExportConfigurator;
 import eu.etaxonomy.taxeditor.io.e4.out.csv.name.CsvNameExportWizardE4;
 import eu.etaxonomy.taxeditor.io.wizard.ExportToFileDestinationWizardPage;
@@ -49,6 +50,7 @@ public class CsvPrintExportWizardE4 extends CsvNameExportWizardE4{
                                + page.getExportFileName();
 
            configurator.setClassificationUUID(page.getSelectedClassificationUUID());
+           configurator.setResultType(ExportResultType.BYTE_ARRAY);
                // create job
            Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(urlString));
            // configure the job
index b13dc8f63af7b9d55ecc1156c9fb36241910b922..f95d6f1ed9bf06bdd3b6eee121e5411f7bbd4713 100644 (file)
@@ -312,22 +312,12 @@ public class Messages extends NLS {
     public static String TCSImportWizard_ConfiguratorWizard_label;
 
 
+    public static String SearchDialog_patternLabel;
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+    public static String SelectionViewMenu_SET_FLAG;
+    public static String SelectionViewMenu_selectVocabulary;
+    public static String SelectionViewMenu_4_YES;
+    public static String SelectionViewMenu_NO;
 
 
 
index 78809a1a568c9ac35f2072e67ab33c2973334226..0106f738670bc3508910e89c3ff89fcb75f22633 100644 (file)
@@ -245,3 +245,11 @@ ExcelTaxonUpdateWizard_ConfiguratorWizard_label=Configuration of excel taxon imp
 SetPublishConfiguration_Title=Configuration for setting the publish flag
 SetPublishConfiguration_publish=publish
 SetPublishConfiguration_dont_publish=don't publish
+
+SearchDialog_patternLabel=Use * for wildcard
+SearchDialog_listLabel=&Matching items:
+
+SelectionViewMenu_selectVocabulary=choose vocabulary
+SelectionViewMenu_SET_FLAG='%s' set flag
+SelectionViewMenu_4_YES=Yes
+SelectionViewMenu_NO=No
index 7e7c793bfa867abce49a818f353d01d5092e16da..5625e8e4a194e39fb27ca23393b75509fdd03253 100644 (file)
@@ -247,3 +247,11 @@ ExcelTaxonUpdateWizard_ConfiguratorWizard_label=Konfiguration des Excel Taxon Im
 SetPublishConfiguration_Title=Konfiguration zum Setzen des Publish Flags
 SetPublishConfiguration_publish=veröffentlichen
 SetPublishConfiguration_dont_publish=nicht veröffentlichen
+
+SearchDialog_patternLabel=Nutze * als Platzhalter für eine beliebige Zeichenkette
+SearchDialog_listLabel=&Passende Objekte:
+
+SelectionViewMenu_selectVocabulary=Vokabular wählen
+SelectionViewMenu_SET_FLAG='%s' flag setzen
+SelectionViewMenu_4_YES=Ja
+SelectionViewMenu_NO=Nein
index b39a7f7abdac888b8c95d223a50bad9ddc9616de..abb9bf1ad7d2b49644d04a7d4992340f24f2f168 100644 (file)
@@ -58,6 +58,7 @@ import org.eclipse.ui.progress.IProgressConstants;
 
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
 import eu.etaxonomy.cdm.api.service.IProgressMonitorService;
+import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
 import eu.etaxonomy.cdm.io.common.ExportDataWrapper;
 import eu.etaxonomy.cdm.io.common.ExportResult;
@@ -713,7 +714,11 @@ public abstract class AbstractUtility {
                     final StringBuilder reportSb = new StringBuilder();
                     // collect reports
 //                         for(String report : remotingMonitor.getResult()) {
+                    if (remotingMonitor.getResult() instanceof ExportResult) {
                         reportSb.append(((ExportResult)remotingMonitor.getResult()).createReport());
+                    }else if (remotingMonitor.getResult() instanceof UpdateResult){
+                        reportSb.append(((UpdateResult)remotingMonitor.getResult()).getExceptions().toString());
+                    }
 //                         }
                     if(!StringUtils.isBlank(reportSb.toString())) {
                         Display.getDefault().asyncExec(new Runnable() {
index af11df2376a9ccf868595b2d14e70c8ef8d593a4..cc25cb48152d8bf848c20c71d2f5031956e47784 100755 (executable)
@@ -21,7 +21,6 @@ import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.CheckStateChangedEvent;
 import org.eclipse.jface.viewers.CheckboxTreeViewer;
 import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeSelection;
 import org.eclipse.jface.viewers.StyledString.Styler;
 import org.eclipse.jface.viewers.TreePath;
 import org.eclipse.jface.wizard.WizardPage;
@@ -108,9 +107,10 @@ public class AvailableDistributionPage extends WizardPage implements ICdmEntityS
                 ignoreCheckEvent = true;
 
                 try {
-                    TreePath path  = ((ITreeSelection) viewer.getSelection()).getPaths()[0];
+
                     checkChildren(event.getElement(), event.getChecked());
-                    checkParents(path.getParentPath());
+
+                    grayParents(event.getElement());
                 }
                 finally {
                     ignoreCheckEvent = false;
@@ -131,6 +131,7 @@ public class AvailableDistributionPage extends WizardPage implements ICdmEntityS
         }
         List<TermVocabulary<DefinedTermBase>> vocs = CdmStore.getService(IVocabularyService.class).findByTermType(
                 TermType.NamedArea, null);
+
         return vocs;
     }
 
@@ -274,6 +275,40 @@ public class AvailableDistributionPage extends WizardPage implements ICdmEntityS
            }
        }
    }
+   /**
+   *
+   * @param path
+   * @param checked
+   */
+  private void grayParents(final Object element) {
+      TermContentProvider tcp = new TermContentProvider();
+
+      if (element == null) {
+          return;
+      }
+   //   final Object element = path.getLastSegment();
+      Object parent = tcp.getParent(element);
+      if (parent != null) {
+          boolean allChecked = true;
+          boolean allUnchecked = true;
+          for (final Object fieldElement : tcp.getChildren(parent)) {
+              allChecked = allChecked && this.viewer.getChecked(fieldElement);
+              allUnchecked = allUnchecked && !this.viewer.getChecked(fieldElement);
+          }
+          if (allUnchecked) {
+              this.viewer.setChecked(parent, false);
+              this.viewer.setGrayed(parent, false);
+          } else if (allChecked) {
+              this.viewer.setChecked(parent, true);
+              this.viewer.setGrayed(parent, false);
+          } else if (!allUnchecked && !allChecked) {
+              this.viewer.setChecked(parent, true);
+              this.viewer.setGrayed(parent, true);
+          }
+
+        grayParents(tcp.getParent(parent));
+      }
+  }
 
     @Override
     public void dispose() {
index f93b5d4455bdf0645c7ac832fbb599333e0302a5..b322a88ddc763d87ecf69be8d2cd5bcd17da4e41 100644 (file)
@@ -47,6 +47,7 @@ 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.IPreferenceService;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
 import eu.etaxonomy.cdm.api.service.IRegistrationService;
 import eu.etaxonomy.cdm.api.service.IRightsService;
@@ -79,6 +80,10 @@ import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
 import eu.etaxonomy.cdm.model.description.WorkingSet;
 import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.media.Rights;
+<<<<<<< HEAD
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+=======
+>>>>>>> master
 import eu.etaxonomy.cdm.model.molecular.Amplification;
 import eu.etaxonomy.cdm.model.molecular.Primer;
 import eu.etaxonomy.cdm.model.name.Registration;
@@ -710,7 +715,7 @@ public class CdmStore {
             }
             else if (cdmBase instanceof Amplification) {
                 service = (IService<T>) getService(IAmplificationService.class);
-            } 
+            }
             else if (cdmBase instanceof PolytomousKey) {
                 service = (IService<T>) getService(IPolytomousKeyService.class);
             }
@@ -720,9 +725,6 @@ public class CdmStore {
             else if (cdmBase instanceof Annotation) {
                 service = (IService<T>) getService(IAnnotationService.class);
             }
-//            else if (cdmBase instanceof AuditEvent) {
-//                service = (IService<T>) getService(IAuditEventService.class);
-//            }
             else if (cdmBase instanceof Classification) {
                 service = (IService<T>) getService(IClassificationService.class);
             }
@@ -753,6 +755,15 @@ public class CdmStore {
             else if (cdmBase instanceof Rights) {
                 service = (IService<T>) getService(IRightsService.class);
             }
+<<<<<<< HEAD
+//            else if (cdmBase instanceof AuditEvent) {
+//                service = (IService<T>) getService(IAuditEventService.class);
+//            }
+//            else if (cdmBase instanceof CdmPreference) {
+//                service = (IService<T>) getService(IPreferenceService.class);
+//            }
+=======
+>>>>>>> master
             else{
                String message = "Service for entity of class %s not yet implemented in TaxEditor";
                message = String.format(message, cdmBase.getClass().getSimpleName());
index 66048af5e5b4824880c8696afefed11cdcf2c67f..1ee4b5bafcdd1cef96e7fd6dbc9025805c33e2a4 100644 (file)
@@ -39,7 +39,8 @@ AbstractCdmDetailElement<Classification>{
     protected void createControls(ICdmFormElement formElement, Classification entity, int style) {
          txtClassificationName = formFactory.createTextWithLabelElement(formElement, "Classification name", null, style);
          comboRelationType = formFactory.createDefinedTermComboElement(TermType.TaxonRelationshipType, formElement, "Taxon relation", null, style);
-         selectReference = formFactory.createSelectionElement(Reference.class, getConversationHolder(), formElement, "Reference", null, EntitySelectionElement.SELECTABLE, style);
+         selectReference = formFactory.createSelectionElement(Reference.class, //getConversationHolder(),
+                 formElement, "Reference", null, EntitySelectionElement.SELECTABLE, style);
     }
 
      @Override
index d1ce2d37d761bdaec81bd8b5481f87ca850bcf96..875098fd8ae2240aae54ad77704dd6c891a79b82 100644 (file)
@@ -10,6 +10,8 @@
 package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
 import java.text.Collator;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -17,14 +19,12 @@ import java.util.List;
 import java.util.Set;
 import java.util.UUID;
 
-import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.window.Window;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.SWT;
@@ -32,20 +32,17 @@ import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Cursor;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Link;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IMemento;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.common.ICdmBase;
 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
 import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
@@ -60,15 +57,17 @@ import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
  * @version 1.0
  */
 public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmBase> extends
-               CdmFilteredItemsSelectionDialog implements IConversationEnabled {
+               SearchDialog {//implements IConversationEnabled {
 
-       private final ConversationHolder conversation;
+//     private final ConversationHolder conversation = null;
 
        protected List<UuidAndTitleCache<T>> model;
        private final Set<T> transientCdmObjects = new HashSet<T>();
        private final String settings;
        protected final int limitOfInitialElements = 100;
 
+       private T selectedObject;
+
        protected T cdmBaseToBeFiltered;
 
 
@@ -83,28 +82,22 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         * @param cdmObject a T object.
         * @param <T> a T object.
         */
-       protected AbstractFilteredCdmResourceSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, String settings, T cdmObject) {
+       protected AbstractFilteredCdmResourceSelectionDialog(Shell shell, //ConversationHolder conversation,
+               String title, boolean multi, String settings, T cdmObject) {
                super(shell, multi);
+               setShellStyle(SWT.DIALOG_TRIM);
                setTitle(title);
-               setMessage("Use * for wildcard, or ? to see all entries");
+               setMessage(Messages.SearchDialog_patternLabel);
                this.settings = settings;
 
-               this.conversation = conversation;
+//             this.conversation = conversation;
                this.cdmBaseToBeFiltered = cdmObject;
                Cursor cursor = shell.getCursor();
                shell.setCursor(shell.getDisplay().getSystemCursor(SWT.CURSOR_WAIT));
                init();
-//             initModel();
                shell.setCursor(cursor);
-               String objectTitle = getTitle(cdmObject);
-//             if (objectTitle != null) {
-//                     setInitialPattern(objectTitle);
-//             }
-
                setListLabelProvider(createListLabelProvider());
-               setDetailsLabelProvider(createDetailsLabelProvider());
 
-               setSelectionHistory(new ResourceSelectionHistory());
        }
 
        /**
@@ -142,18 +135,17 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         * @return a TYPE object.
         */
        protected static <TYPE extends CdmBase> TYPE getSelectionFromDialog(AbstractFilteredCdmResourceSelectionDialog<TYPE> dialog) {
-               //dialog.setInitialPattern("");
                int result = dialog.open();
 
                if (result == Window.CANCEL) {
                        return null;
                }
 
-               UUID uuid = dialog.getSelectedUuidAndTitleCache().getUuid();
+               UuidAndTitleCache uuid = dialog.getSelectedUuidAndTitleCache();
                if(uuid == null){
                        return null;
                }
-               return dialog.getCdmObjectByUuid(uuid);
+               return dialog.getCdmObjectByUuid(uuid.getUuid());
        }
 
        /**
@@ -180,13 +172,6 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         */
        abstract protected T getPersistentObject(UUID uuid);
 
-       /**
-        * @param cdmObject
-        */
-//     protected void addObjectToModel(T cdmObject) {
-//             model.add(new UuidAndTitleCache(cdmObject.getClass(), cdmObject.getUuid(), getTitle(cdmObject)));
-//             transientCdmObjects.add(cdmObject);
-//     }
 
        /**
         * <p>isObjectTransient</p>
@@ -219,49 +204,6 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
        }
 
 
-       /** {@inheritDoc} */
-       @Override
-       public void refresh() {
-               super.refresh();
-       }
-
-
-
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createFilter()
-        */
-       /** {@inheritDoc} */
-       @Override
-       protected ItemsFilter createFilter() {
-               return new ItemsFilter() {
-
-                       /**
-                        * Always returns false to enforce refiltering even if the pattern is equal
-                        */
-                       @Override
-                       public boolean equalsFilter(ItemsFilter filter) {
-                               return false;
-                       }
-
-                       @Override
-                       public boolean isConsistentItem(Object item) {
-                               return false;
-                       }
-
-                       @Override
-                       public boolean matchItem(Object item) {
-                               String text = null;
-                               if(item instanceof UuidAndTitleCache){
-                                       text = ((UuidAndTitleCache) item).getTitleCache();
-                               }else if(item instanceof String){
-                                       text = (String) item;
-                               }
-                               return text != null ? matches(text) : false;
-                       }
-
-               };
-       }
-
 
        /**
         * Set the filter input to the Agent's title cache
@@ -269,31 +211,8 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         * @param cdmObject a T object.
         */
        protected void setPattern(T cdmObject) {
-               // FilteredSelection does some very tricky caching to make sure it
-               // runs with high performance.
-               // This works for most use cases, but we want to change the model while the dialog is open
-               // and all the clever caching prevents the content provider from knowing that the model has changed
-               // I am aware, that this is a hack, but the FilteredSelectionDialog API does not offer a convenient
-               // way to solve the problem.
-//             try {
-//                     Field lastCompletedFilter = this.getClass().getSuperclass().getSuperclass().getDeclaredField("lastCompletedFilter");
-//                     lastCompletedFilter.setAccessible(true);
-//                     lastCompletedFilter.set(this, null);
-//             } catch (SecurityException e) {
-//                     MessagingUtils.error(getClass(), e);
-//             } catch (NoSuchFieldException e) {
-//                     MessagingUtils.error(getClass(), e);
-//             } catch (IllegalArgumentException e) {
-//                     MessagingUtils.error(getClass(), e);
-//             } catch (IllegalAccessException e) {
-//                     MessagingUtils.error(getClass(), e);
-//             }
-
-               // this also is not the nicest way to do it.
-               // I am still amazed, that FilteredSelectionDialog does not offer any methods to change its data
-               // once it was opened. Am I doing it wrong?
                String pattern = getTitle(cdmObject);
-               ((Text) getPatternControl()).setText(pattern);
+               getSearchField().setText(pattern);
        }
 
 
@@ -302,32 +221,44 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
        * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor)
        */
        /** {@inheritDoc} */
+
        @Override
-       protected void fillContentProvider(AbstractContentProvider contentProvider,
-               ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
-               throws CoreException {
+    protected void fillContentProvider(IProgressMonitor progressMonitor)
+                {
                try {
+                   if (model == null){
+                       model = new ArrayList<UuidAndTitleCache<T>>();
+                   }
                        if(model != null){
-                               progressMonitor.beginTask("Looking for entities", model.size());
-                               filterExcludedObjects();
+                           if (progressMonitor != null){
+                               progressMonitor.beginTask("Looking for entities", model.size());
+                           }
+                           Collections.sort(model, getItemsComparator());
+                           contentProvider.reset();
                                Iterator<UuidAndTitleCache<T>> iterator = model.iterator();
                                UuidAndTitleCache<T> element;
                                while(iterator.hasNext()){
                                    element = iterator.next();
                                    if (!element.equals(cdmBaseToBeFiltered)){
-                                       contentProvider.add(element, itemsFilter);
+                                       contentProvider.add(element);
+                                   }
+                                   if (progressMonitor != null){
+                                       if (progressMonitor.isCanceled()) {
+                                               return;
+                                       }
+                                       progressMonitor.worked(1);
                                    }
-                                       if (progressMonitor.isCanceled()) {
-                                               throw new OperationCanceledException();
-                                       }
-                                       progressMonitor.worked(1);
                                }
+                               this.refresh();
                        }else{
+
                                MessagingUtils.warn(getClass(), "Model for Filtered Selection is null:" + this.getClass().getSimpleName());
                        }
                }
                finally {
-                       progressMonitor.done();
+                   if (progressMonitor != null) {
+                progressMonitor.done();
+            }
                }
        }
 
@@ -335,7 +266,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getDialogSettings()
         */
        /** {@inheritDoc} */
-       @Override
+
        protected IDialogSettings getDialogSettings() {
                IDialogSettings settings = TaxeditorStorePlugin.getDefault().getDialogSettings().getSection(getSettings());
 
@@ -349,7 +280,7 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getElementName(java.lang.Object)
         */
        /** {@inheritDoc} */
-       @Override
+
        public String getElementName(Object item) {
                return ((UuidAndTitleCache) item).getTitleCache();
        }
@@ -358,8 +289,9 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getItemsComparator()
         */
        /** {@inheritDoc} */
+
        @Override
-       protected Comparator getItemsComparator() {
+    protected Comparator getItemsComparator() {
                return new Comparator<UuidAndTitleCache>() {
                        @Override
                        public int compare(UuidAndTitleCache entity1,
@@ -377,14 +309,6 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
                };
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#validateItem(java.lang.Object)
-        */
-       /** {@inheritDoc} */
-       @Override
-       protected IStatus validateItem(Object item) {
-               return Status.OK_STATUS;
-       }
 
        /**
         * <p>getSelectedUuidAndTitleCache</p>
@@ -392,11 +316,25 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         * @return a {@link eu.etaxonomy.cdm.model.common.UuidAndTitleCache} object.
         */
        protected UuidAndTitleCache getSelectedUuidAndTitleCache() {
-               Object[] result = getResult();
-               return result[0] == null ? null : (UuidAndTitleCache) result[0];
+               Object result = getResult();
+               if (result instanceof UuidAndTitleCache){
+                   return (UuidAndTitleCache) result;
+               }
+               return null;
        }
 
        /**
+     * @return
+     */
+    private Object getResult() {
+        StructuredSelection selection = getCurrentSelection();
+        if (selection == null){
+            return null;
+        }
+        return selection.getFirstElement();
+    }
+
+    /**
         * <p>Getter for the field <code>settings</code>.</p>
         *
         * @return a {@link java.lang.String} object.
@@ -408,36 +346,14 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
                return settings;
        }
 
-       /**
-        *
-        * @author n.hoffmann
-        * @created Oct 19, 2009
-        * @version 1.0
-        */
-       private class ResourceSelectionHistory extends SelectionHistory {
-           /*
-           * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#restoreItemFromMemento(org.eclipse.ui.IMemento)
-               */
-               @Override
-               protected Object restoreItemFromMemento(IMemento element) {
-                       return element.getString("resource"); //$NON-NLS-1$
-               }
-               /*
-                * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#storeItemToMemento(java.lang.Object,
-                *      org.eclipse.ui.IMemento)
-                */
-               @Override
-               protected void storeItemToMemento(Object item, IMemento element) {
-                       element.putString("resource", item.toString()); //$NON-NLS-1$
-               }
-       }
+
 
        /**
         * <p>getNewWizardLinkText</p>
         *
         * @return a {@link java.lang.String} object.
         */
-       protected abstract String getNewWizardLinkText();
+       protected abstract String[] getNewWizardText();
 
        /**
         * <p>getNewEntityWizard</p>
@@ -465,19 +381,35 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
        * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea(org.eclipse.swt.widgets.Composite)
        */
        /** {@inheritDoc} */
-       @Override
-       protected Control createExtendedContentArea(Composite parent) {
-               String newWizardLinkText = getNewWizardLinkText();
-        if(newWizardLinkText != null){
-                       Link link = new Link(parent, SWT.NONE);
-                       link.setText(newWizardLinkText);
-                       link.addSelectionListener(getNewWizardLinkSelectionListener());
-                       return link;
-               }
-               return null;
-       }
 
-       protected SelectionListener getNewWizardLinkSelectionListener(){
+//     @Override
+//    protected Control createExtendedContentArea(Composite parent) {
+//             String newWizardLinkText = getNewWizardLinkText();
+////        if(newWizardLinkText != null){
+////            newButton1 = this.createButton(this.getShell(), new_id, newWizardLinkText, false);
+////
+////            newButton1.addSelectionListener(getNewWizardLinkSelectionListener());
+////                   return newButton1;
+////           }
+//             return null;
+//     }
+
+       @Override
+    protected void createButtonsForButtonBar(Composite parent) {
+           String[] newButtonText = getNewWizardText();
+           if (newButtonText!= null){
+               this.newButton1 = createButton(parent, this.new_id, newButtonText[0], false);
+               newButton1.addSelectionListener(getNewWizardButtonSelectionListener());
+               if (newButtonText.length > 1){
+                   newButton2 = createButton(parent, this.new_id2, newButtonText[1], false);
+                   newButton2.addSelectionListener(getNewWizardButtonSelectionListener());
+               }
+           }
+           //Label label = new Label(parent, SWT.NONE);
+        super.createButtonsForButtonBar(parent);
+    }
+
+       protected SelectionListener getNewWizardButtonSelectionListener(){
                return new SelectionAdapter() {
 
                        /* (non-Javadoc)
@@ -485,8 +417,13 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
                         */
                        @Override
                        public void widgetSelected(SelectionEvent e) {
-
-                           AbstractNewEntityWizard wizard = getNewEntityWizard(e.text);
+                           Object source = e.getSource();
+                           String text = null;
+                           if (source instanceof Button){
+                               Button sourceButton = (Button) source;
+                               text = sourceButton.getText();
+                           }
+                           AbstractNewEntityWizard wizard = getNewEntityWizard(text);
                            if(wizard!=null){
                                wizard.init(null, null);
                                if(wizard.getEntity() != null) {
@@ -496,17 +433,16 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
                                    if (status == IStatus.OK) {
 
                                        T entity = (T) wizard.getEntity();
-                                      // model.add(new UuidAndTitleCache<T>(entity.getUuid(), entity.getId(), getTitle(entity)));
                                        refresh();
                                        setPattern(entity);
-                                       if (getConversationHolder() != null){
-                                           getConversationHolder().bind();
-                                       }
+//                                     if (getConversationHolder() != null){
+//                                         getConversationHolder().bind();
+//                                     }
                                    }
                                    //FIXME : Need to make sure this is a stable fix (ticket 3822)
-                                   if (getConversationHolder() != null){
-                                       getConversationHolder().commit();
-                                   }
+//                                 if (getConversationHolder() != null){
+//                                     getConversationHolder().commit();
+//                                 }
                                }
                            }
                        }
@@ -517,15 +453,15 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
         * <p>getConversationHolder</p>
         *
         * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
-        */
-       @Override
-       public ConversationHolder getConversationHolder() {
-               return conversation;
-       }
+//      */
+//     @Override
+//     public ConversationHolder getConversationHolder() {
+//             return conversation;
+//     }
 
        /** {@inheritDoc} */
-       @Override
-       public void update(CdmDataChangeMap changeEvents) {}
+//     @Override
+//     public void update(CdmDataChangeMap changeEvents) {}
 
        /**
         * Don't want to add for example a taxon or synonym to itself
@@ -546,4 +482,33 @@ public abstract class AbstractFilteredCdmResourceSelectionDialog<T extends ICdmB
                        model.remove(uuidAndTitleCacheToRemove);
                }
        }
+       @Override
+       void createFilterButton(Composite searchAndFilter){
+           //as default no filter button available
+       }
+
+       /** {@inheritDoc} */
+    @Override
+    protected void search() {
+        Control control =getSearchField();
+        String pattern = null;
+        if (control != null){
+            pattern = ((Text)control).getText();
+            if (pattern.equals("*")){
+                callService(null);
+            }else if (pattern != null){
+                callService(pattern);
+            }
+            fillContentProvider(null);
+        }
+
+//        if (pattern.equals("?")){
+//            model = CdmStore.getService(INameService.class).getUuidAndTitleCache(null, null);
+//        }else if (pattern != null){
+//            model = CdmStore.getService(INameService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
+//        }
+    }
+
+    abstract void callService(String pattern);
+
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredIdentifierSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredIdentifierSelectionDialog.java
new file mode 100644 (file)
index 0000000..33f5fbb
--- /dev/null
@@ -0,0 +1,542 @@
+package eu.etaxonomy.taxeditor.ui.dialog.selection;
+
+import java.text.Collator;
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Link;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IMemento;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.dto.IdentifiedEntityDTO;
+import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ICdmBase;
+import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
+import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
+
+public abstract class AbstractFilteredIdentifierSelectionDialog<T extends ICdmBase> extends CdmFilteredItemsSelectionDialog implements IConversationEnabled {
+
+               private final ConversationHolder conversation;
+
+               protected List<IdentifiedEntityDTO> model;
+               private final Set<T> transientCdmObjects = new HashSet<T>();
+               private final String settings;
+               protected final int limitOfInitialElements = 100;
+
+               protected T cdmBaseToBeFiltered;
+
+
+               /**
+                * <p>Constructor for AbstractFilteredCdmResourceSelectionDialog.</p>
+                *
+                * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
+                * @param conversation
+                * @param title a {@link java.lang.String} object.
+                * @param multi a boolean.
+                * @param settings a {@link java.lang.String} object.
+                * @param cdmObject a T object.
+                * @param <T> a T object.
+                */
+               protected AbstractFilteredIdentifierSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, String settings, T cdmObject) {
+                       super(shell, multi);
+                       setTitle(title);
+                       setMessage("Use * for wildcard, or ? to see all entries");
+                       this.settings = settings;
+
+                       this.conversation = conversation;
+                       this.cdmBaseToBeFiltered = cdmObject;
+                       org.eclipse.swt.graphics.Cursor cursor = shell.getCursor();
+                       shell.setCursor(shell.getDisplay().getSystemCursor(SWT.CURSOR_WAIT));
+                       init();
+//                     initModel();
+                       shell.setCursor(cursor);
+                       String objectTitle = getTitle(cdmObject);
+//                     if (objectTitle != null) {
+//                             setInitialPattern(objectTitle);
+//                     }
+
+                       setListLabelProvider(createListLabelProvider());
+                       setDetailsLabelProvider(createDetailsLabelProvider());
+
+                       setSelectionHistory(new IdentifierSelectionHistory());
+               }
+
+               /**
+                * By default, we are returning the standard list label provider
+                *
+                * Override in subclasses if you want different behavior
+                *
+                * @return
+                */
+               protected ILabelProvider createDetailsLabelProvider() {
+                       return createListLabelProvider();
+               }
+
+               /**
+                *
+                * @return
+                */
+               protected ILabelProvider createListLabelProvider() {
+                       return new FilteredIdentifiedEntityLabelProvider();
+               }
+
+               /**
+                * Override in subclasses.
+                * Will run before initModel()
+                */
+               protected void init() {
+
+               }
+
+               /**
+                * <p>getSelectionFromDialog</p>
+                *
+                * @param dialog a {@link eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog} object.
+                * @param <TYPE> a TYPE object.
+                * @return a TYPE object.
+                */
+               protected static <TYPE extends CdmBase> TYPE getSelectionFromDialog(AbstractFilteredCdmResourceSelectionDialog<TYPE> dialog) {
+                       //dialog.setInitialPattern("");
+                       int result = dialog.open();
+
+                       if (result == Window.CANCEL) {
+                               return null;
+                       }
+
+                       UUID uuid = dialog.getSelectedUuidAndTitleCache().getUuid();
+                       if(uuid == null){
+                               return null;
+                       }
+                       return dialog.getCdmObjectByUuid(uuid);
+               }
+
+               /**
+                * Check if object was created during the life of this dialog. If not,
+                * retrieve it from the CdmStore.
+                *
+                * @param cdmUuid a {@link java.util.UUID} object.
+                * @return a T object.
+                */
+               protected T getCdmObjectByUuid(UUID cdmUuid) {
+                       for (T cdmObject : transientCdmObjects) {
+                               if (cdmObject.getUuid().equals(cdmUuid)) {
+                                       return cdmObject;
+                               }
+                       }
+                       return getPersistentObject(cdmUuid);
+               }
+
+               /**
+                * <p>getPersistentObject</p>
+                *
+                * @param uuid a {@link java.util.UUID} object.
+                * @return a T object.
+                */
+               abstract protected T getPersistentObject(UUID uuid);
+
+               /**
+                * @param cdmObject
+                */
+//             protected void addObjectToModel(T cdmObject) {
+//                     model.add(new UuidAndTitleCache(cdmObject.getClass(), cdmObject.getUuid(), getTitle(cdmObject)));
+//                     transientCdmObjects.add(cdmObject);
+//             }
+
+               /**
+                * <p>isObjectTransient</p>
+                *
+                * @param cdmObject a T object.
+                * @return a boolean.
+                */
+               protected boolean isObjectTransient(T cdmObject) {
+                       return (getPersistentObject(cdmObject.getUuid()) == null);
+               }
+
+               /**
+                * <p>getTitle</p>
+                *
+                * @param cdmObject a T object.
+                * @return a {@link java.lang.String} object.
+                */
+               protected String getTitle(T cdmObject) {
+                       if(cdmObject == null){
+                               return "";
+                       }
+
+                       if (cdmObject instanceof IIdentifiableEntity) {
+                               return ((IIdentifiableEntity) cdmObject).getTitleCache();
+                       }
+
+                       throw new IllegalArgumentException("Generic method only" +
+                                       " supports cdmObject of type IIdentifiableEntity." +
+                                       " Please implement specific method in subclass.");
+               }
+
+
+               /** {@inheritDoc} */
+               @Override
+               public void refresh() {
+                       super.refresh();
+               }
+
+
+
+               /* (non-Javadoc)
+                * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createFilter()
+                */
+               /** {@inheritDoc} */
+               @Override
+               protected ItemsFilter createFilter() {
+                       return new ItemsFilter() {
+
+                               /**
+                                * Always returns false to enforce refiltering even if the pattern is equal
+                                */
+                               @Override
+                               public boolean equalsFilter(ItemsFilter filter) {
+                                       return false;
+                               }
+
+                               @Override
+                               public boolean isConsistentItem(Object item) {
+                                       return false;
+                               }
+
+                               @Override
+                               public boolean matchItem(Object item) {
+                                       String text = null;
+                                       if(item instanceof IdentifiedEntityDTO){
+                                               text = ((IdentifiedEntityDTO) item).getCdmEntity().getTitleCache();
+                                       }else if(item instanceof String){
+                                               text = (String) item;
+                                       }
+                                       return text != null ? matches(text) : false;
+                               }
+
+                       };
+               }
+
+
+               /**
+                * Set the filter input to the Agent's title cache
+                *
+                * @param cdmObject a T object.
+                */
+               protected void setPattern(T cdmObject) {
+                       // FilteredSelection does some very tricky caching to make sure it
+                       // runs with high performance.
+                       // This works for most use cases, but we want to change the model while the dialog is open
+                       // and all the clever caching prevents the content provider from knowing that the model has changed
+                       // I am aware, that this is a hack, but the FilteredSelectionDialog API does not offer a convenient
+                       // way to solve the problem.
+//                     try {
+//                             Field lastCompletedFilter = this.getClass().getSuperclass().getSuperclass().getDeclaredField("lastCompletedFilter");
+//                             lastCompletedFilter.setAccessible(true);
+//                             lastCompletedFilter.set(this, null);
+//                     } catch (SecurityException e) {
+//                             MessagingUtils.error(getClass(), e);
+//                     } catch (NoSuchFieldException e) {
+//                             MessagingUtils.error(getClass(), e);
+//                     } catch (IllegalArgumentException e) {
+//                             MessagingUtils.error(getClass(), e);
+//                     } catch (IllegalAccessException e) {
+//                             MessagingUtils.error(getClass(), e);
+//                     }
+
+                       // this also is not the nicest way to do it.
+                       // I am still amazed, that FilteredSelectionDialog does not offer any methods to change its data
+                       // once it was opened. Am I doing it wrong?
+                       String pattern = getTitle(cdmObject);
+                       ((Text) getPatternControl()).setText(pattern);
+               }
+
+
+
+               /* (non-Javadoc)
+               * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#fillContentProvider(org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.AbstractContentProvider, org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.ItemsFilter, org.eclipse.core.runtime.IProgressMonitor)
+               */
+               /** {@inheritDoc} */
+               @Override
+               protected void fillContentProvider(AbstractContentProvider contentProvider,
+                       ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
+                       throws CoreException {
+                       try {
+                               if(model != null){
+                                       progressMonitor.beginTask("Looking for entities", model.size());
+                                       filterExcludedObjects();
+                                       Iterator<IdentifiedEntityDTO> iterator = model.iterator();
+                                       IdentifiedEntityDTO element;
+                                       while(iterator.hasNext()){
+                                           element = iterator.next();
+                                           if (!element.equals(cdmBaseToBeFiltered)){
+                                               contentProvider.add(element, itemsFilter);
+                                           }
+                                               if (progressMonitor.isCanceled()) {
+                                                       throw new OperationCanceledException();
+                                               }
+                                               progressMonitor.worked(1);
+                                       }
+                               }else{
+                                       MessagingUtils.warn(getClass(), "Model for Filtered Selection is null:" + this.getClass().getSimpleName());
+                               }
+                       }
+                       finally {
+                               progressMonitor.done();
+                       }
+               }
+
+               /* (non-Javadoc)
+                * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getDialogSettings()
+                */
+               /** {@inheritDoc} */
+               @Override
+               protected IDialogSettings getDialogSettings() {
+                       IDialogSettings settings = TaxeditorStorePlugin.getDefault().getDialogSettings().getSection(getSettings());
+
+                       if (settings == null) {
+                               settings = TaxeditorStorePlugin.getDefault().getDialogSettings().addNewSection(getSettings());
+                       }
+                       return settings;
+               }
+
+               /* (non-Javadoc)
+                * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getElementName(java.lang.Object)
+                */
+               /** {@inheritDoc} */
+               @Override
+               public String getElementName(Object item) {
+                       return ((IdentifiedEntityDTO) item).getCdmEntity().getTitleCache();
+               }
+
+               /* (non-Javadoc)
+                * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#getItemsComparator()
+                */
+               /** {@inheritDoc} */
+               @Override
+               protected Comparator getItemsComparator() {
+                       return new Comparator<IdentifiedEntityDTO>() {
+                               @Override
+                               public int compare(IdentifiedEntityDTO entity1,
+                                               IdentifiedEntityDTO entity2) {
+                                       Collator collator = Collator.getInstance();
+                                       if (entity1.getCdmEntity().getCdmUuid().equals(entity2.getCdmEntity().getCdmUuid())){
+                                           return 0;
+                                       }
+                                       int result = collator.compare(entity1.getCdmEntity().getTitleCache(), entity2.getCdmEntity().getTitleCache());
+                                       if (result == 0){
+                                           result = entity1.getCdmEntity().getCdmUuid().compareTo(entity2.getCdmEntity().getCdmUuid());
+                                       }
+                                       return result;
+                               }
+                       };
+               }
+
+               /* (non-Javadoc)
+                * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#validateItem(java.lang.Object)
+                */
+               /** {@inheritDoc} */
+               @Override
+               protected IStatus validateItem(Object item) {
+                       return Status.OK_STATUS;
+               }
+
+               /**
+                * <p>getSelectedUuidAndTitleCache</p>
+                *
+                * @return a {@link eu.etaxonomy.cdm.model.common.UuidAndTitleCache} object.
+                */
+               protected IdentifiedEntityDTO getSelectedUuidAndTitleCache() {
+                       Object[] result = getResult();
+                       return result[0] == null ? null : (IdentifiedEntityDTO) result[0];
+               }
+
+               /**
+                * <p>Getter for the field <code>settings</code>.</p>
+                *
+                * @return a {@link java.lang.String} object.
+                */
+               public String getSettings()  {
+                       if(settings == null){
+                               throw new IllegalStateException("No SETTINGS set.");
+                       }
+                       return settings;
+               }
+
+               /**
+                *
+                * @author n.hoffmann
+                * @created Oct 19, 2009
+                * @version 1.0
+                */
+               private class IdentifierSelectionHistory extends SelectionHistory {
+                   /*
+                   * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#restoreItemFromMemento(org.eclipse.ui.IMemento)
+                       */
+                       @Override
+                       protected Object restoreItemFromMemento(IMemento element) {
+                               return element.getString("resource"); //$NON-NLS-1$
+                       }
+                       /*
+                        * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog.SelectionHistory#storeItemToMemento(java.lang.Object,
+                        *      org.eclipse.ui.IMemento)
+                        */
+                       @Override
+                       protected void storeItemToMemento(Object item, IMemento element) {
+                               element.putString("resource", item.toString()); //$NON-NLS-1$
+                       }
+               }
+
+               /**
+                * <p>getNewWizardLinkText</p>
+                *
+                * @return a {@link java.lang.String} object.
+                */
+               protected abstract String getNewWizardLinkText();
+
+               /**
+                * <p>getNewEntityWizard</p>
+                * @param parameter
+                * @return a {@link eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard} object.
+                */
+               protected abstract AbstractNewEntityWizard getNewEntityWizard(String parameter);
+
+               public class FilteredIdentifiedEntityLabelProvider extends LabelProvider {
+                       @Override
+                       public String getText(Object element) {
+                               if (element == null) {
+                                       return null;
+                               }
+                               IdentifiedEntityDTO identifiedEntity = (IdentifiedEntityDTO) element;
+                               String titleCache = identifiedEntity.getCdmEntity().getTitleCache();
+                               if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_ID_IN_ENTITY_SELECTION_DIAOLOG)){
+                                   titleCache += " ["+identifiedEntity.getCdmEntity().getCdmUuid()+"]";
+                               }
+                   return titleCache;
+                       }
+               };
+
+               /* (non-Javadoc)
+               * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea(org.eclipse.swt.widgets.Composite)
+               */
+               /** {@inheritDoc} */
+               @Override
+               protected Control createExtendedContentArea(Composite parent) {
+                       String newWizardLinkText = getNewWizardLinkText();
+               if(newWizardLinkText != null){
+                               Link link = new Link(parent, SWT.NONE);
+                               link.setText(newWizardLinkText);
+                               link.addSelectionListener(getNewWizardLinkSelectionListener());
+                               return link;
+                       }
+                       return null;
+               }
+
+               protected SelectionListener getNewWizardLinkSelectionListener(){
+                       return new SelectionAdapter() {
+
+                               /* (non-Javadoc)
+                                * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+                                */
+                               @Override
+                               public void widgetSelected(SelectionEvent e) {
+
+                                   AbstractNewEntityWizard wizard = getNewEntityWizard(e.text);
+                                   if(wizard!=null){
+                                       wizard.init(null, null);
+                                       if(wizard.getEntity() != null) {
+                                           WizardDialog dialog = new WizardDialog(getShell(), wizard);
+                                           int status = dialog.open();
+
+                                           if (status == IStatus.OK) {
+
+                                               T entity = (T) wizard.getEntity();
+                                              // model.add(new UuidAndTitleCache<T>(entity.getUuid(), entity.getId(), getTitle(entity)));
+                                               refresh();
+                                               setPattern(entity);
+                                               if (getConversationHolder() != null){
+                                                   getConversationHolder().bind();
+                                               }
+                                           }
+                                           //FIXME : Need to make sure this is a stable fix (ticket 3822)
+                                           if (getConversationHolder() != null){
+                                               getConversationHolder().commit();
+                                           }
+                                       }
+                                   }
+                               }
+                       };
+               }
+
+               /**
+                * <p>getConversationHolder</p>
+                *
+                * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+                */
+               @Override
+               public ConversationHolder getConversationHolder() {
+                       return conversation;
+               }
+
+               /** {@inheritDoc} */
+               @Override
+               public void update(CdmDataChangeMap changeEvents) {}
+
+               /**
+                * Don't want to add for example a taxon or synonym to itself
+                * so filter the list to remove the taxon in question
+                * (<code>cdmBaseToBeFiltered</code>)
+                * so it is not available in the filtered list.
+                */
+               private void filterExcludedObjects() {
+                       if (model != null && cdmBaseToBeFiltered != null) {
+
+                               IdentifiedEntityDTO identifiedEntityToRemove = null;
+
+                               for (IdentifiedEntityDTO identifiedEntity : model){
+                                       if ((cdmBaseToBeFiltered.getUuid()).equals(identifiedEntity.getCdmEntity().getCdmUuid())) {
+                                               identifiedEntityToRemove = identifiedEntity;
+                                       }
+                               }
+                               model.remove(identifiedEntityToRemove);
+                       }
+               }
+
+
+
+}
index d4f686399b85cb0e5763f919f2b46d8b3d1591c5..9b781f37e7f97d1e77f3b9e01c5585e96a1f1390 100644 (file)
@@ -13,11 +13,8 @@ import java.util.UUID;
 
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.INomenclaturalAuthor;
@@ -40,11 +37,11 @@ public class AgentSelectionDialog extends
        /**
         *
         */
-       protected static final String PERSON = "Person";
+       protected static final String PERSON = "New Person";
        /**
         *
         */
-       protected static final String TEAM = "Team";
+       protected static final String TEAM = "New Team";
 
        protected static boolean selectTeamMember;
 
@@ -56,8 +53,9 @@ public class AgentSelectionDialog extends
         * @param entity a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
         * @return a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
         */
-       public static AgentBase select(Shell shell, ConversationHolder conversation, AgentBase entity, boolean selectTeamMember) {
-               AgentSelectionDialog dialog = new AgentSelectionDialog(shell, conversation,
+       public static AgentBase select(Shell shell, //ConversationHolder conversation,
+               AgentBase entity, boolean selectTeamMember) {
+               AgentSelectionDialog dialog = new AgentSelectionDialog(shell, //conversation,
                                "Choose Agent", false, AgentSelectionDialog.class.getCanonicalName(), entity, selectTeamMember);
                return getSelectionFromDialog(dialog);
        }
@@ -72,8 +70,10 @@ public class AgentSelectionDialog extends
         * @param multi a boolean.
         * @param settings a {@link java.lang.String} object.
         */
-       protected AgentSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, String settings, AgentBase agent, boolean selectTeamMember) {
-               super(shell, conversation, title, multi, settings, agent);
+       protected AgentSelectionDialog(Shell shell, //ConversationHolder conversation,
+               String title, boolean multi, String settings, AgentBase agent, boolean selectTeamMember) {
+               super(shell, //conversation,
+                       title, multi, settings, agent);
                this.selectTeamMember = selectTeamMember;
        }
 
@@ -123,35 +123,46 @@ public class AgentSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
+       protected String[] getNewWizardText() {
+           String[] result;
                if (this.selectTeamMember){
-                       return String.format("Create a new <a>%1s</a>", PERSON);
+                   result = new String[1];
+                   result[0] = PERSON;
+
+               }else{
+                   result = new String[2];
+            result[0] = PERSON;
+            result[1] = TEAM;
                }
-               return String.format("Create a new <a>%1s</a> or <a>%2s</a>", TEAM, PERSON);
+               return result;
        }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkSelectionListener()
         */
        @Override
-       protected SelectionListener getNewWizardLinkSelectionListener() {
-               return super.getNewWizardLinkSelectionListener();
+       protected SelectionListener getNewWizardButtonSelectionListener() {
+               return super.getNewWizardButtonSelectionListener();
        }
 
-       /** {@inheritDoc} */
-       @Override
-       protected void initModel() {
-           Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-        if (pattern == null || pattern.equals("?")){
-            model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache(null, null);
-        }else{
-            model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
-        }
-       }
+//     /** {@inheritDoc} */
+//     @Override
+//     protected void search() {
+//         Control control = getSearchField();
+//        String pattern = null;
+//        if (control != null){
+//            pattern = ((Text)control).getText();
+//        }
+//
+//     }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog#callService(java.lang.String)
+     */
+    @Override
+    void callService(String pattern) {
+        model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
+    }
 
 
 }
index 9fc487972a89a18e66807eee7f9a9ddbaaee7155..1f37bb224879467298f792acd62de8ad8864ac7f 100644 (file)
@@ -12,7 +12,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.molecular.IAmplificationService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.molecular.Amplification;
@@ -29,8 +28,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class AmplificationSelectionDialog extends
 AbstractFilteredCdmResourceSelectionDialog<Amplification> {
 
-    public static Amplification select(Shell shell, ConversationHolder conversation, Amplification amplification){
-        AmplificationSelectionDialog dialog = new AmplificationSelectionDialog(shell, conversation,
+    public static Amplification select(Shell shell, //ConversationHolder conversation,
+            Amplification amplification){
+        AmplificationSelectionDialog dialog = new AmplificationSelectionDialog(shell, //conversation,
                 "Choose Amplification", false, AmplificationSelectionDialog.class.getCanonicalName(), amplification);
         return getSelectionFromDialog(dialog);
     }
@@ -38,9 +38,11 @@ AbstractFilteredCdmResourceSelectionDialog<Amplification> {
     /**
      * <p>Constructor for FilteredDerivedUnitSelectionDialog.</p>
      */
-    protected AmplificationSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+    protected AmplificationSelectionDialog(Shell shell, //ConversationHolder conversation,
+            String title,
             boolean multi, String settings, Amplification cdmObject) {
-        super(shell, conversation, title, multi, settings, cdmObject);
+        super(shell, //conversation,
+                title, multi, settings, cdmObject);
     }
 
     /** {@inheritDoc} */
@@ -59,8 +61,11 @@ AbstractFilteredCdmResourceSelectionDialog<Amplification> {
 
     /** {@inheritDoc} */
     @Override
-    protected void initModel() {
-        model = CdmStore.getService(IAmplificationService.class).getAmplificationUuidAndLabelCache();
+    protected void callService(String pattern) {
+
+            model = CdmStore.getService(IAmplificationService.class).getAmplificationUuidAndLabelCache(limitOfInitialElements, pattern);
+//            model = CdmStore.getService(IAmplificationService.class).getAmplificationUuidAndLabelCache();
+
     }
 
     /* (non-Javadoc)
@@ -82,7 +87,9 @@ AbstractFilteredCdmResourceSelectionDialog<Amplification> {
 
     /** {@inheritDoc} */
     @Override
-    protected String getNewWizardLinkText() {
-        return String.format("Create a new <a>%1s</a>", "Amplification ");
+    protected String[] getNewWizardText() {
+        String[] result = new String[1];
+        result[0] = "New Amplification";
+        return result;
     }
 }
index 0139ab9c83c39b894ecc4a1050d38dd613cf786d..54ce55609d33065f2c9898ef175d2d706d13a5fd 100644 (file)
@@ -417,7 +417,7 @@ public abstract class CdmFilteredItemsSelectionDialog extends SelectionStatusDia
             this.refreshCacheJob.cancel();
             this.refreshProgressMessageJob.cancel();
             if (showViewHandler != null) {
-                IHandlerService service = (IHandlerService) PlatformUI
+                IHandlerService service = PlatformUI
                         .getWorkbench().getService(IHandlerService.class);
                 service.deactivateHandler(showViewHandler);
                 showViewHandler.getHandler().dispose();
@@ -568,7 +568,7 @@ public abstract class CdmFilteredItemsSelectionDialog extends SelectionStatusDia
 
             fillViewMenu(menuManager);
 
-            IHandlerService service = (IHandlerService) PlatformUI.getWorkbench()
+            IHandlerService service = PlatformUI.getWorkbench()
                     .getService(IHandlerService.class);
             IHandler handler = new AbstractHandler() {
                 @Override
index 69fac5232786923979da32cf3e762855425a4855..5976c73c0853566115aae83c9ae194481ccabaa1 100644 (file)
@@ -11,12 +11,8 @@ package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
 import java.util.UUID;
 
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IClassificationService;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
@@ -47,10 +43,10 @@ public class ClassificationSelectionDialog extends
         * @param curentSelection
         * @return a {@link eu.etaxonomy.cdm.model.taxon.TaxonomicTree} object.
         */
-       public static Classification select(Shell shell,
-                       ConversationHolder conversation, Classification curentSelection) {
-               ClassificationSelectionDialog dialog = new ClassificationSelectionDialog(
-                               shell, conversation, "Choose a Classification", false, "", null);
+       public static Classification select(Shell shell,//ConversationHolder conversation,
+               Classification curentSelection) {
+               ClassificationSelectionDialog dialog = new ClassificationSelectionDialog(shell, //conversation,
+                       "Choose a Classification", false, "", null);
                return getSelectionFromDialog(dialog);
        }
 
@@ -73,24 +69,25 @@ public class ClassificationSelectionDialog extends
         * @param classification
         *            a {@link eu.etaxonomy.cdm.model.taxon.TaxonomicTree} object.
         */
-       protected ClassificationSelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected ClassificationSelectionDialog(Shell shell,//ConversationHolder conversation,
+               String title, boolean multi,
                        String settings, Classification classification) {
-               super(shell, conversation, title, multi, settings, classification);
+               super(shell, //conversation,
+                       title, multi, settings, classification);
        }
 
-       /*
-        * (non-Javadoc)
-        *
-        * @see
-        * org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea
-        * (org.eclipse.swt.widgets.Composite)
-        */
-       /** {@inheritDoc} */
-       @Override
-       protected Control createExtendedContentArea(Composite parent) {
-               return null;
-       }
+//     /*
+//      * (non-Javadoc)
+//      *
+//      * @see
+//      * org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createExtendedContentArea
+//      * (org.eclipse.swt.widgets.Composite)
+//      */
+//     /** {@inheritDoc} */
+//     @Override
+//     protected Control createExtendedContentArea(Composite parent) {
+//             return null;
+//     }
 
        /*
         * (non-Javadoc)
@@ -110,24 +107,13 @@ public class ClassificationSelectionDialog extends
         *
         * @see
         * eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog
-        * #initModel()
+        * #search
         */
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-           Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-
-        if (pattern == null || pattern.equals("?")){
-            model = CdmStore.getService(IClassificationService.class).getUuidAndTitleCache(null, null);
-        }else{
-            model = CdmStore.getService(IClassificationService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
-        }
-
-       }
+       protected void callService(String pattern) {
+           model = CdmStore.getService(IClassificationService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
+    }
 
        /** {@inheritDoc} */
        @Override
@@ -137,7 +123,7 @@ public class ClassificationSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
+       protected String[] getNewWizardText() {
                return null;
        }
 }
index b20684f1e6afda6ccbb8f84f38585146f07c2964..d7855ced8fa4e8c222aedf8c6792994fe0341705 100644 (file)
@@ -13,7 +13,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.ICollectionService;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
@@ -38,8 +37,9 @@ public class CollectionSelectionDialog extends
         * @param collection a {@link eu.etaxonomy.cdm.model.occurrence.Collection} object.
         * @return a {@link eu.etaxonomy.cdm.model.occurrence.Collection} object.
         */
-       public static Collection select(Shell shell, ConversationHolder conversation, Collection collection){
-               CollectionSelectionDialog dialog = new CollectionSelectionDialog(shell, conversation,
+       public static Collection select(Shell shell, //ConversationHolder conversation,
+               Collection collection){
+               CollectionSelectionDialog dialog = new CollectionSelectionDialog(shell, //conversation,
                                "Choose Collection", false, CollectionSelectionDialog.class.getCanonicalName(), collection);
                return getSelectionFromDialog(dialog);
        }
@@ -54,10 +54,11 @@ public class CollectionSelectionDialog extends
         * @param settings a {@link java.lang.String} object.
         * @param cdmObject a {@link eu.etaxonomy.cdm.model.occurrence.Collection} object.
         */
-       protected CollectionSelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected CollectionSelectionDialog(Shell shell,//ConversationHolder conversation,
+                        String title, boolean multi,
                        String settings, Collection cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
@@ -70,21 +71,21 @@ public class CollectionSelectionDialog extends
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-               model = CdmStore.getService(ICollectionService.class).getUuidAndTitleCache(null, null);
-       }
+       protected void callService(String pattern) {
+          model = CdmStore.getService(ICollectionService.class).getUuidAndTitleCache(limitOfInitialElements,pattern);
+    }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-        return String.format("Create a new <a>%1s</a>", "Collection ");
+       protected String[] getNewWizardText() {
+        return new String[]{ "Collection "};
        }
 
        /* (non-Javadoc)
index 4a8cddb6371e458cf5d69ed3a84fc2111529699d..5ccdd67b6feafe54fb294ba254c27e2c9f0f8ca7 100644 (file)
@@ -13,7 +13,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
@@ -41,8 +40,9 @@ public class DerivedUnitSelectionDialog extends
         * @param unit a {@link eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase} object.
         * @return a {@link eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase} object.
         */
-       public static DerivedUnit select(Shell shell, ConversationHolder conversation, DerivedUnit unit){
-               DerivedUnitSelectionDialog dialog = new DerivedUnitSelectionDialog(shell, conversation,
+       public static DerivedUnit select(Shell shell, //ConversationHolder conversation,
+               DerivedUnit unit){
+               DerivedUnitSelectionDialog dialog = new DerivedUnitSelectionDialog(shell, //conversation,
                                "Choose Unit", false, DerivedUnitSelectionDialog.class.getCanonicalName(), unit);
                return getSelectionFromDialog(dialog);
        }
@@ -57,9 +57,11 @@ public class DerivedUnitSelectionDialog extends
         * @param settings a {@link java.lang.String} object.
         * @param cdmObject a {@link eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase} object.
         */
-       protected DerivedUnitSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+       protected DerivedUnitSelectionDialog(Shell shell, //ConversationHolder conversation,
+               String title,
                        boolean multi, String settings, DerivedUnit cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /** {@inheritDoc} */
@@ -78,8 +80,8 @@ public class DerivedUnitSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-               model = CdmStore.getService(IOccurrenceService.class).getDerivedUnitUuidAndTitleCache();
+       protected void callService(String pattern) {
+           model = CdmStore.getService(IOccurrenceService.class).getDerivedUnitUuidAndTitleCache(limitOfInitialElements,pattern);
        }
 
        /** {@inheritDoc} */
@@ -90,7 +92,7 @@ public class DerivedUnitSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Unit ");
+       protected String[] getNewWizardText() {
+               return new String[]{ "New Unit"};
        }
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/ExtReferenceSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/ExtReferenceSelectionDialog.java
new file mode 100644 (file)
index 0000000..bf8613c
--- /dev/null
@@ -0,0 +1,258 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.dialog.selection;
+
+
+
+
+ import java.util.UUID;
+
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.cdm.api.application.ICdmRepository;
+import eu.etaxonomy.cdm.api.service.IReferenceService;
+import eu.etaxonomy.cdm.model.agent.Person;
+import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
+import eu.etaxonomy.cdm.model.common.OriginalSourceType;
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
+import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
+import eu.etaxonomy.taxeditor.newWizard.NewReferenceWizard;
+import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo;
+import eu.etaxonomy.taxeditor.remoting.source.ICdmRemoteSource;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+
+/**
+ * @author k.luther
+ * @date 02.05.2017
+ *
+
+ */
+public class ExtReferenceSelectionDialog extends
+    AbstractFilteredCdmResourceSelectionDialog<Reference> {
+
+        protected static boolean isInReference = false;
+        private Reference currentReference;
+        ICdmRepository controller;
+        ICdmRemoteSource remoteSource ;
+        Reference remoteSourceRef;
+        IReferenceService service = null;
+
+
+        /**
+         * <p>select</p>
+         *
+         * @param reference a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
+         * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
+         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+         * @return a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
+         */
+        public static Reference select(Shell shell, //ConversationHolder conversation,
+                Reference reference, boolean isInReference) {
+            ExtReferenceSelectionDialog dialog = new ExtReferenceSelectionDialog(shell, //conversation,
+                    "Choose a reference", false, reference, isInReference);
+            return getSelectionFromDialog(dialog);
+        }
+
+        /**
+         * <p>select</p>
+         *
+         * @param reference a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
+         * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
+         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+         * @return a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
+         */
+        public static Reference select(Shell shell, //ConversationHolder conversation,
+                Reference reference) {
+            ExtReferenceSelectionDialog dialog = new ExtReferenceSelectionDialog(shell, //conversation,
+                    "Choose a reference", false, reference);
+            return getSelectionFromDialog(dialog);
+        }
+
+
+
+
+
+
+        /**
+         * <p>Constructor for FilteredReferenceSelectionDialog.</p>
+         *
+         * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
+         * @param title a {@link java.lang.String} object.
+         * @param reference a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
+         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+         * @param multi a boolean.
+         */
+        protected ExtReferenceSelectionDialog(Shell shell, //ConversationHolder conversation,
+                String title, boolean multi, Reference reference) {
+            super(shell, //conversation,
+                    title, multi, ExtReferenceSelectionDialog.class.getCanonicalName(), null);
+            this.currentReference = reference;
+
+//            controller = CdmStore.getCurrentApplicationConfiguration();
+//            String currentValue = System.getProperty("cdm.server.dev.port");
+            System.setProperty("cdm.server.dev.port", "8080");
+            remoteSource = CdmServerInfo.getDevServerRemoteSource();
+            remoteSourceRef = ReferenceFactory.newDatabase();
+            remoteSourceRef.setTitle(remoteSource.getName());
+         System.setProperty("cdm.server.dev.port", "80");
+        }
+
+
+
+
+        /**
+         * <p>Constructor for FilteredReferenceSelectionDialog.</p>
+         *
+         * @param shell a {@link org.eclipse.swt.widgets.Shell} object.
+         * @param title a {@link java.lang.String} object.
+         * @param reference a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
+         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+         * @param multi a boolean.
+         */
+        protected ExtReferenceSelectionDialog(Shell shell, //ConversationHolder conversation,
+                String title, boolean multi, Reference reference, boolean isInReference) {
+            super(shell, //conversation,
+                    title, multi, ExtReferenceSelectionDialog.class.getCanonicalName(), null);
+            this.isInReference = isInReference;
+            this.currentReference = reference;
+
+//            controller = CdmStore.getCurrentApplicationConfiguration();
+//            CdmServerInfoConfig parameterObject = new CdmServerInfoConfig("localhost", "localhost", 8080, "cdmserver/", true);
+//            CdmServerInfo selectedCsii = new CdmServerInfo(parameterObject);
+//            CdmInstanceInfo selectedCdmInstance = selectedCsii.getInstanceFromName("local-cuba") ;
+//            Integer port;
+//            remoteSource = selectedCsii.getCdmRemoteSource(selectedCdmInstance, 80);
+
+
+        }
+
+
+        /* (non-Javadoc)
+         * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#getPersistentObject(java.util.UUID)
+         */
+        /** {@inheritDoc} */
+        @Override
+        protected Reference getPersistentObject(UUID cdmUuid) {
+            Reference extRef = service.load(cdmUuid);
+
+            Reference newRef = ReferenceFactory.newReference( extRef.getType());
+            if (extRef.getTitle() != null){
+                newRef.setTitle(extRef.getTitle());
+            }else{
+                newRef.setTitleCache(extRef.getTitleCache(), true);
+            }
+            if (extRef.getAbbrevTitle() != null){
+                newRef.setAbbrevTitle(extRef.getAbbrevTitle());
+            }else{
+                newRef.setAbbrevTitleCache(extRef.getAbbrevTitleCache(), true);
+            }
+
+            if (extRef.getInReference() != null){
+                Reference inRef = extRef.getInReference();
+                Reference newRefInRef = ReferenceFactory.newReference( extRef.getInBook().getType());
+                if (inRef.getTitle() != null){
+                    newRefInRef.setTitle(inRef.getTitle());
+                }else{
+                    newRefInRef.setTitleCache(inRef.getTitleCache(), true);
+                }
+                if (inRef.getAbbrevTitle() != null){
+                    newRefInRef.setAbbrevTitle(inRef.getAbbrevTitle());
+                }else{
+                    newRefInRef.setAbbrevTitleCache(inRef.getAbbrevTitleCache(), true);
+                }
+                newRefInRef.addSource(OriginalSourceType.Other, String.valueOf(newRefInRef.getId()), "Reference", remoteSourceRef, null);
+                newRef.setInReference(newRefInRef);
+                newRef.setProtectedTitleCache(false);
+                newRef.setProtectedAbbrevTitleCache(false);
+                newRef.addSource(OriginalSourceType.Other, String.valueOf(newRef.getId()), "Reference", remoteSourceRef, null);
+            }
+            TeamOrPersonBase author;
+            if (extRef.getAuthorship() != null){
+                if (extRef.getAuthorship() instanceof Person){
+                     author = Person.NewTitledInstance(extRef.getAuthorship().getTitleCache());
+                     author.setProtectedTitleCache(true);
+                }else{
+                   author = Team.NewInstance();
+                   Person newMember;
+
+                   for (Person member:((Team)extRef.getAuthorship()).getTeamMembers()){
+                       newMember = Person.NewTitledInstance(member.getTitleCache());
+                       ((Team)author).addTeamMember(newMember);
+                   }
+
+                }
+                newRef.setAuthorship(author);
+            }
+
+            newRef = CdmStore.getService(IReferenceService.class).save(newRef);
+
+            return newRef;
+        }
+
+        /* (non-Javadoc)
+         * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#search
+         */
+        /** {@inheritDoc} */
+        @Override
+        protected void callService(String pattern) {
+
+
+            if (remoteSource != null){
+//               if (service == null){
+//                   service = CdmApplicationRemoteConfiguration.getExtReferenceService(remoteSource);
+//               }
+               if (pattern.equals("?")){ //$NON-NLS-1$
+                    if (isInReference && currentReference != null){
+                        model = service.getUuidAndTitleCache(null, null, currentReference.getType());
+                    }else{
+                        model = service.getUuidAndTitleCache(null, null);
+                    }
+                }else{
+                    if (isInReference && currentReference != null){
+                        model = service.getUuidAndTitleCache(limitOfInitialElements, pattern, currentReference.getType());
+                    }else{
+                        model = service.getUuidAndTitleCache(limitOfInitialElements,pattern);
+
+                    }
+                }
+             }
+        }
+
+
+        /** {@inheritDoc} */
+        @Override
+        protected String getTitle(Reference cdmObject) {
+            if(cdmObject == null){
+                return "";
+            }else{
+                return super.getTitle(cdmObject);
+            }
+//          }else{
+//              return DefaultReferenceCacheStrategy.putAuthorToEndOfString(cdmObject.getTitleCache(), cdmObject.getAuthorship().getTitleCache());
+//          }
+        }
+
+        /** {@inheritDoc} */
+        @Override
+        protected AbstractNewEntityWizard getNewEntityWizard(String parameter) {
+            return new NewReferenceWizard();
+        }
+
+        /** {@inheritDoc} */
+        @Override
+        protected String[] getNewWizardText() {
+            return new String[]{"Reference "};
+        }
+
+    }
+
+
index 2f4153c8a3a03478eedf410e1fe5ee8d63a6b01f..c0efefaab6aa766716fcf18e53c0123723c0b6cb 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -15,7 +15,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.ITermService;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.description.Feature;
@@ -31,12 +30,13 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class FeatureSelectionDialog extends
                AbstractFilteredCdmResourceSelectionDialog<Feature> {
 
-       public static Feature select(Shell shell, ConversationHolder conversation, Feature feature){
-               FeatureSelectionDialog dialog = new FeatureSelectionDialog(shell, conversation,
+       public static Feature select(Shell shell, //ConversationHolder conversation,
+               Feature feature){
+               FeatureSelectionDialog dialog = new FeatureSelectionDialog(shell, //conversation,
                                "Choose Feature", false, FeatureSelectionDialog.class.getCanonicalName(), feature);
                return getSelectionFromDialog(dialog);
        }
-       
+
        /**
         * @param shell
         * @param conversation
@@ -45,43 +45,47 @@ public class FeatureSelectionDialog extends
         * @param settings
         * @param cdmObject
         */
-       protected FeatureSelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected FeatureSelectionDialog(Shell shell,//ConversationHolder conversation,
+                        String title, boolean multi,
                        String settings, Feature cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell,//conversation,
+                       title, multi, settings, cdmObject);
        }
 
        @Override
        protected Feature getPersistentObject(UUID uuid) {
-               
+
                DefinedTermBase<?> term = CdmStore.getService(ITermService.class).load(uuid);
-               
+
                if(term instanceof Feature){
                        return (Feature) term;
                }
-               
+
                return null;
        }
 
        @Override
-       protected void initModel() {
+       protected void callService(String pattern) {
                List<Feature> features = CdmStore.getService(ITermService.class).list(Feature.class, null, null, null, null);
-               
+
                List<UuidAndTitleCache<Feature>> featureUuidAndTitleCache = new ArrayList<UuidAndTitleCache<Feature>>();
-               
+
                for(Feature feature : features){
                        UuidAndTitleCache<Feature> uuidAndTitleCache = new UuidAndTitleCache<Feature>(Feature.class, feature.getUuid(), feature.getId(), feature.getTitleCache());
-                       featureUuidAndTitleCache.add(uuidAndTitleCache);
+                       if (uuidAndTitleCache.getTitleCache().matches(pattern)) {
+                featureUuidAndTitleCache.add(uuidAndTitleCache);
+            }
                }
-               
+
                model =  featureUuidAndTitleCache;
+
        }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
-       protected String getNewWizardLinkText() {
+       protected String[] getNewWizardText() {
                return null;
        }
 
index ef0aeef657825baa4ada1c2b58acf5dc020fa15d..cd536fff3ad1826064813988518411e0af2ddd61 100644 (file)
@@ -13,17 +13,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
@@ -38,16 +29,18 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class FeatureTreeSelectionDialog extends
                AbstractFilteredCdmResourceSelectionDialog<FeatureTree> {
 
-       public static FeatureTree select(Shell shell, ConversationHolder conversation, FeatureTree featureTree) {
-               FeatureTreeSelectionDialog dialog = new FeatureTreeSelectionDialog(shell, conversation,
+       public static FeatureTree select(Shell shell, //ConversationHolder conversation,
+               FeatureTree featureTree) {
+               FeatureTreeSelectionDialog dialog = new FeatureTreeSelectionDialog(shell, //conversation,
                                "Choose a feature tree", false, featureTree);
                return getSelectionFromDialog(dialog);
        }
 
-       protected FeatureTreeSelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected FeatureTreeSelectionDialog(Shell shell,//ConversationHolder conversation,
+                        String title, boolean multi,
                        FeatureTree cdmObject) {
-               super(shell, conversation, title, multi, FeatureTreeSelectionDialog.class.getCanonicalName(), cdmObject);
+               super(shell, //conversation,
+                       title, multi, FeatureTreeSelectionDialog.class.getCanonicalName(), cdmObject);
        }
 
        /** {@inheritDoc} */
@@ -58,7 +51,7 @@ public class FeatureTreeSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
+       protected void callService(String pattern) {
                List<FeatureTree> featureTrees = CdmStore.getService(IFeatureTreeService.class).list(FeatureTree.class, null, null, null, null);
 
                if(model == null){
@@ -67,41 +60,44 @@ public class FeatureTreeSelectionDialog extends
                model.clear();
                for(FeatureTree featureTree : featureTrees){
                        UuidAndTitleCache<FeatureTree> element = new UuidAndTitleCache<FeatureTree>(FeatureTree.class, featureTree.getUuid(),featureTree.getId(), featureTree.getTitleCache());
-                       model.add(element);
+                       if (element.getTitleCache().matches(pattern)) {
+                model.add(element);
+            }
                }
-       }
 
-       /** {@inheritDoc} */
-       @Override
-       protected Control createExtendedContentArea(Composite parent) {
-               Link link = new Link(parent, SWT.NONE);
-               link.setText(getNewWizardLinkText());
-               link.addListener (SWT.Selection, new Listener () {
-                       @Override
-            public void handleEvent(Event event) {
-
-                           InputDialog input = new InputDialog(getShell(), "New feature tree", "Enter label for new feature tree", null, null);
-                               int status = input.open();
-                               if (status == IStatus.OK) {
-                                   String label = input.getValue();
-                                   if(label!=null){
-                                       FeatureTree featureTree = FeatureTree.NewInstance();
-                                       featureTree.setTitleCache(label, false);
-                                       CdmStore.getService(IFeatureTreeService.class).save(featureTree);
-                                   UuidAndTitleCache<FeatureTree> uuidAndTitleCache = new UuidAndTitleCache<FeatureTree>(FeatureTree.class, featureTree.getUuid(),featureTree.getId(), featureTree.getTitleCache());
-                                   model.add(uuidAndTitleCache);
-                                   setPattern(featureTree);
-                                   }
-                               }
-                       }
-               });
-               return link;
        }
 
+//     /** {@inheritDoc} */
+//     @Override
+//     protected Control createExtendedContentArea(Composite parent) {
+//             Link link = new Link(parent, SWT.NONE);
+//             link.setText(getNewWizardLinkText());
+//             link.addListener (SWT.Selection, new Listener () {
+//                     @Override
+//            public void handleEvent(Event event) {
+//
+//                         InputDialog input = new InputDialog(getShell(), "New feature tree", "Enter label for new feature tree", null, null);
+//                             int status = input.open();
+//                             if (status == IStatus.OK) {
+//                                 String label = input.getValue();
+//                                 if(label!=null){
+//                                     FeatureTree featureTree = FeatureTree.NewInstance();
+//                                     featureTree.setTitleCache(label, false);
+//                                     CdmStore.getService(IFeatureTreeService.class).save(featureTree);
+//                                 UuidAndTitleCache<FeatureTree> uuidAndTitleCache = new UuidAndTitleCache<FeatureTree>(FeatureTree.class, featureTree.getUuid(),featureTree.getId(), featureTree.getTitleCache());
+//                                 model.add(uuidAndTitleCache);
+//                                 setPattern(featureTree);
+//                                 }
+//                             }
+//                     }
+//             });
+//             return link;
+//     }
+
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>" , "Feature tree ");
+       protected String[] getNewWizardText() {
+               return new String[]{ "New Feature tree"};
        }
 
 
index 7cb829faa4c4d9341859bcc4c5776e7b61442499..33a176be689443c0ddd3420361561f68d5e25bf9 100644 (file)
@@ -13,7 +13,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
@@ -41,8 +40,9 @@ public class FieldUnitSelectionDialog extends
         * @param observation a {@link eu.etaxonomy.cdm.model.occurrence.FieldUnit} object.
         * @return a {@link eu.etaxonomy.cdm.model.occurrence.FieldUnit} object.
         */
-       public static FieldUnit select(Shell shell, ConversationHolder conversation, FieldUnit observation){
-               FieldUnitSelectionDialog dialog = new FieldUnitSelectionDialog(shell, conversation,
+       public static FieldUnit select(Shell shell, //ConversationHolder conversation,
+               FieldUnit observation){
+               FieldUnitSelectionDialog dialog = new FieldUnitSelectionDialog(shell, //conversation,
                                "Choose Derived Unit", false, FieldUnitSelectionDialog.class.getCanonicalName(), observation);
                return getSelectionFromDialog(dialog);
        }
@@ -57,10 +57,11 @@ public class FieldUnitSelectionDialog extends
         * @param settings a {@link java.lang.String} object.
         * @param cdmObject a {@link eu.etaxonomy.cdm.model.occurrence.FieldUnit} object.
         */
-       protected FieldUnitSelectionDialog(Shell shell, ConversationHolder conversation,
+       protected FieldUnitSelectionDialog(Shell shell, //ConversationHolder conversation,
                        String title, boolean multi, String settings,
                        FieldUnit cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
@@ -81,12 +82,13 @@ public class FieldUnitSelectionDialog extends
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-               model = CdmStore.getService(IOccurrenceService.class).getFieldUnitUuidAndTitleCache();
+       protected void callService(String pattern) {
+           model = CdmStore.getService(IOccurrenceService.class).getUuidAndTitleCache(FieldUnit.class, limitOfInitialElements, pattern);
+
        }
 
        /** {@inheritDoc} */
@@ -97,7 +99,7 @@ public class FieldUnitSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Field Unit ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Field Unit"};
        }
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FilterDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FilterDialog.java
new file mode 100644 (file)
index 0000000..eb402ed
--- /dev/null
@@ -0,0 +1,121 @@
+// $Id$
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.dialog.selection;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.cdm.api.service.IVocabularyService;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author k.luther
+ * @date 21.11.2017
+ *
+ */
+public class FilterDialog extends Dialog {
+
+    List<TermVocabulary> vocabularies = new ArrayList<TermVocabulary>();
+
+    List<TermVocabulary> selectedVocabularies = new ArrayList<TermVocabulary>();
+
+    Object preferenceId;
+
+    /**
+     * @param parentShell
+     */
+    protected FilterDialog(Shell parentShell, Object preferenceId, List<TermVocabulary> selectedVocabularies) {
+        super(parentShell);
+        vocabularies = CdmStore.getService(IVocabularyService.class).listByTermType(TermType.NamedArea, true, null, null, null, null);
+        this.preferenceId = preferenceId;
+        List<TermVocabulary> tempSelectedVocabularies = new ArrayList<>();
+        this.selectedVocabularies = selectedVocabularies;
+
+    }
+
+    @Override
+    protected Control createDialogArea(Composite parent) {
+        Composite dialogArea = new Composite(parent, SWT.NULL);
+        dialogArea.setLayout(new GridLayout(1, false));
+        for (TermVocabulary voc: vocabularies){
+            Button btnCheckButton = new Button(dialogArea, SWT.CHECK);
+            btnCheckButton.setText(voc.getLabel());
+            btnCheckButton.setData(voc);
+            if (selectedVocabularies.contains(voc)){
+                btnCheckButton.setSelection(true);
+            }else {
+                btnCheckButton.setSelection(false);
+            }
+
+            btnCheckButton.addSelectionListener(new SelectionListener(){
+
+                @Override
+                public void widgetSelected(SelectionEvent e) {
+                   if (btnCheckButton.getSelection()){
+                       Object obj = btnCheckButton.getData();
+                       if (!selectedVocabularies.contains(btnCheckButton.getData())){
+                           selectedVocabularies.add((TermVocabulary)btnCheckButton.getData());
+                       }
+                   }else{
+                       if (selectedVocabularies.contains(btnCheckButton.getData())){
+                           selectedVocabularies.remove(btnCheckButton.getData());
+                       }
+                   }
+
+                }
+
+                @Override
+                public void widgetDefaultSelected(SelectionEvent e) {
+                    // TODO Auto-generated method stub
+
+                }
+
+            });
+        }
+
+        GridData gd_table = new GridData(SWT.CENTER, SWT.CENTER, true, true, 2, 1);
+        gd_table.heightHint = 231;
+        gd_table.widthHint = 543;
+
+        return dialogArea;
+
+    }
+
+    @Override
+    protected void okPressed(){
+        for (TermVocabulary voc: vocabularies){
+            if (selectedVocabularies.contains(voc)){
+                PreferencesUtil.getPreferenceStore().setValue(getPrefKey(voc), false);
+            } else{
+                PreferencesUtil.getPreferenceStore().setValue(getPrefKey(voc), true);
+            }
+        }
+        super.okPressed();
+    }
+
+    private String getPrefKey(TermVocabulary vocabulary){
+        return "hide_"+NamedAreaSelectionDialog.class.getCanonicalName()+vocabulary.getUuid()+preferenceId;
+    }
+
+}
index 82431b0884e9d69354a6f0c743c1bc9b3385c927..d2db4595a8ba913f0e417eebeab2697466c7dbda 100644 (file)
@@ -16,7 +16,6 @@ import java.util.UUID;
 import org.eclipse.swt.widgets.Shell;
 import org.springframework.security.core.GrantedAuthority;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService;
 import eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
@@ -32,9 +31,10 @@ import eu.etaxonomy.taxeditor.ui.section.grantedAuthority.GrantedAuthorityLabelT
  */
 public class GrantedAuthoritySelectionDialog extends   AbstractFilteredCdmResourceSelectionDialog<GrantedAuthorityImpl> {
 
-       public static GrantedAuthority select(Shell shell, ConversationHolder conversation, GrantedAuthorityImpl authority){
+       public static GrantedAuthority select(Shell shell, //ConversationHolder conversation,
+               GrantedAuthorityImpl authority){
 
-               GrantedAuthoritySelectionDialog dialog = new GrantedAuthoritySelectionDialog(shell, conversation,
+               GrantedAuthoritySelectionDialog dialog = new GrantedAuthoritySelectionDialog(shell,//conversation,
                                "Choose Granted Authority", false, GrantedAuthoritySelectionDialog.class.getCanonicalName(), authority);
 
                return getSelectionFromDialog(dialog);
@@ -48,33 +48,36 @@ public class GrantedAuthoritySelectionDialog extends        AbstractFilteredCdmResource
         * @param settings
         * @param cdmObject
         */
-       protected GrantedAuthoritySelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected GrantedAuthoritySelectionDialog(Shell shell,//ConversationHolder conversation,
+               String title, boolean multi,
                        String settings, GrantedAuthorityImpl cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        @Override
-       protected void initModel() {
+       protected void callService(String pattern) {
                List<GrantedAuthorityImpl> authorities = CdmStore.getService(IGrantedAuthorityService.class).list(GrantedAuthorityImpl.class, null, null, null, null);
 
                model = new ArrayList<UuidAndTitleCache<GrantedAuthorityImpl>>();
 
                for(GrantedAuthorityImpl authority : authorities){
-                       
-                       model.add(new UuidAndTitleCache<GrantedAuthorityImpl>(GrantedAuthorityImpl.class, authority.getUuid(), authority.getId(), String.format("%s", GrantedAuthorityLabelTextProvider.getText(authority))));
+                   if (authority.getAuthority().matches(pattern)){
+                       model.add(new UuidAndTitleCache<GrantedAuthorityImpl>(GrantedAuthorityImpl.class, authority.getUuid(), authority.getId(), String.format("%s", GrantedAuthorityLabelTextProvider.getText(authority))));
+                   }
                }
+
        }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "GrantedAuthority ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New GrantedAuthority"};
        }
 
        @Override
index 84ee43ca1cb235685ee1d28a2085ab02ab9afb59..c8de21a7d83f49be6e58b414ce5897846eab51af 100644 (file)
@@ -15,7 +15,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IGroupService;
 import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
@@ -31,8 +30,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class GroupSelectionDialog extends
                AbstractFilteredCdmResourceSelectionDialog<Group> {
 
-       public static Group select(Shell shell, ConversationHolder conversation, Group group){
-               GroupSelectionDialog dialog = new GroupSelectionDialog(shell, conversation,
+       public static Group select(Shell shell, //ConversationHolder conversation,
+               Group group){
+               GroupSelectionDialog dialog = new GroupSelectionDialog(shell, //conversation,
                                "Choose Group", false, GroupSelectionDialog.class.getCanonicalName(), group);
                return getSelectionFromDialog(dialog);
        }
@@ -45,23 +45,26 @@ public class GroupSelectionDialog extends
         * @param settings
         * @param cdmObject
         */
-       protected GroupSelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected GroupSelectionDialog(Shell shell,//ConversationHolder conversation,
+               String title, boolean multi,
                        String settings, Group cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        @Override
-       protected void initModel() {
+       protected void callService(String pattern) {
                List<Group> groups = CdmStore.getService(IGroupService.class).list(Group.class, null, null, null, null);
 
                model = new ArrayList<UuidAndTitleCache<Group>>();
 
                for(Group group : groups){
-                       model.add(new UuidAndTitleCache<Group>(Group.class, group.getUuid(), group.getId(), String.format("%s", group.getName())));
+                   if ((pattern != null && group.getName().matches(pattern)) || pattern.equals("*")){
+                       model.add(new UuidAndTitleCache<Group>(Group.class, group.getUuid(), group.getId(), String.format("%s", group.getName())));
+                   }
                }
        }
 
@@ -69,8 +72,8 @@ public class GroupSelectionDialog extends
         * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Group ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Group"};
        }
 
        /* (non-Javadoc)
index 3f9b46061d84116a258f1f838f613a542c102a2a..eadc7dd0d10f856c4642b089a275e43474e6df1b 100644 (file)
@@ -13,7 +13,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Institution;
@@ -29,8 +28,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class InstitutionSelectionDialog extends
                AbstractFilteredCdmResourceSelectionDialog<Institution> {
 
-       public static Institution select(Shell shell, ConversationHolder conversation, Institution institution){
-               InstitutionSelectionDialog dialog = new InstitutionSelectionDialog(shell, conversation,
+       public static Institution select(Shell shell,// ConversationHolder conversation,
+               Institution institution){
+               InstitutionSelectionDialog dialog = new InstitutionSelectionDialog(shell, //conversation,
                                "Choose Institution", false, TeamSelectionDialog.class.getCanonicalName(), institution);
                return getSelectionFromDialog(dialog);
        }
@@ -43,10 +43,11 @@ public class InstitutionSelectionDialog extends
         * @param settings
         * @param cdmObject
         */
-       protected InstitutionSelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected InstitutionSelectionDialog(Shell shell,//ConversationHolder conversation,
+               String title, boolean multi,
                        String settings, Institution cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
@@ -63,19 +64,22 @@ public class InstitutionSelectionDialog extends
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        @Override
-       protected void initModel() {
-               model = CdmStore.getService(IAgentService.class).getInstitutionUuidAndTitleCache();
+       protected void callService(String pattern) {
+
+              model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache(Institution.class, limitOfInitialElements,pattern);
+
+
        }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Institution ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Institution"};
        }
 
        /* (non-Javadoc)
index 1a4724509ea6fa0ccf7013583d23ada541ce5807..ecf151ad0ecb24c8f16c9b5f7565762ebe8097d4 100644 (file)
@@ -12,7 +12,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IMediaService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.media.Media;
@@ -28,8 +27,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class MediaSelectionDialog extends
 AbstractFilteredCdmResourceSelectionDialog<Media> {
 
-    public static Media select(Shell shell, ConversationHolder conversation, Media media){
-        MediaSelectionDialog dialog = new MediaSelectionDialog(shell, conversation,
+    public static Media select(Shell shell, //ConversationHolder conversation,
+            Media media){
+        MediaSelectionDialog dialog = new MediaSelectionDialog(shell, //conversation,
                 "Choose Media", false, MediaSelectionDialog.class.getCanonicalName(), media);
         return getSelectionFromDialog(dialog);
     }
@@ -37,9 +37,11 @@ AbstractFilteredCdmResourceSelectionDialog<Media> {
     /**
      * <p>Constructor for FilteredDerivedUnitSelectionDialog.</p>
      */
-    protected MediaSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+    protected MediaSelectionDialog(Shell shell, //ConversationHolder conversation,
+            String title,
             boolean multi, String settings, Media cdmObject) {
-        super(shell, conversation, title, multi, settings, cdmObject);
+        super(shell, //conversation,
+                title, multi, settings, cdmObject);
     }
 
     /** {@inheritDoc} */
@@ -58,8 +60,9 @@ AbstractFilteredCdmResourceSelectionDialog<Media> {
 
     /** {@inheritDoc} */
     @Override
-    protected void initModel() {
-        model = CdmStore.getService(IMediaService.class).getUuidAndTitleCache(null, null);
+    protected void callService(String pattern) {
+        model = CdmStore.getService(IMediaService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
+
     }
 
     /* (non-Javadoc)
@@ -81,7 +84,7 @@ AbstractFilteredCdmResourceSelectionDialog<Media> {
 
     /** {@inheritDoc} */
     @Override
-    protected String getNewWizardLinkText() {
-        return "";
+    protected String[] getNewWizardText() {
+        return null;
     }
 }
index 5ae5ae4678b1e7fe8311014fa59e40976c632964..f810756ef5e1ffbd3e28f90aa12a6011287363f1 100644 (file)
@@ -11,11 +11,8 @@ package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
 import java.util.UUID;
 
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.INameService;
 import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
@@ -28,14 +25,17 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class NameSelectionDialog extends AbstractFilteredCdmResourceSelectionDialog<TaxonName> {
 
-       public static TaxonName select(Shell shell, ConversationHolder conversation, TaxonName name) {
-               NameSelectionDialog dialog = new NameSelectionDialog(shell, conversation,
+       public static TaxonName select(Shell shell, //ConversationHolder conversation,
+               TaxonName name) {
+               NameSelectionDialog dialog = new NameSelectionDialog(shell, //conversation,
                                "Choose a name", false, name);
                return getSelectionFromDialog(dialog);
        }
 
-       protected NameSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, TaxonName name) {
-               super(shell, conversation, title, multi, NameSelectionDialog.class.getCanonicalName(), name);
+       protected NameSelectionDialog(Shell shell, //ConversationHolder conversation,
+               String title, boolean multi, TaxonName name) {
+               super(shell, //conversation,
+                       title, multi, NameSelectionDialog.class.getCanonicalName(), name);
        }
 
        /** {@inheritDoc} */
@@ -45,20 +45,20 @@ public class NameSelectionDialog extends AbstractFilteredCdmResourceSelectionDia
        }
 
        /** {@inheritDoc} */
-       @Override
-       protected void initModel() {
-           Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-
-        if (pattern == null || pattern.equals("?")){
-            model = CdmStore.getService(INameService.class).getUuidAndTitleCache(null, null);
-        }else{
-            model = CdmStore.getService(INameService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
-        }
-       }
+//     @Override
+//     protected void search() {
+//         Control control =getSearchField();
+//        String pattern = null;
+//        if (control != null){
+//            pattern = ((Text)control).getText();
+//        }
+//
+//        if (pattern.equals("?")){
+//            model = CdmStore.getService(INameService.class).getUuidAndTitleCache(null, null);
+//        }else if (pattern != null){
+//            model = CdmStore.getService(INameService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
+//        }
+//     }
 
        /** {@inheritDoc} */
        @Override
@@ -68,7 +68,15 @@ public class NameSelectionDialog extends AbstractFilteredCdmResourceSelectionDia
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Name ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Name"};
        }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog#callService(java.lang.String)
+     */
+    @Override
+    void callService(String pattern) {
+        model = CdmStore.getService(INameService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
+    }
 }
index 11a26db93fb556bd43bd8dfd651ef3d2b8b2cbae..48dc329298b1304709d2cb36eaeb797ce3536965 100644 (file)
 package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 import java.util.UUID;
 
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
+import org.eclipse.wb.swt.ResourceManager;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.ITermService;
 import eu.etaxonomy.cdm.api.service.IVocabularyService;
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -63,13 +62,13 @@ public class NamedAreaSelectionDialog extends
                                selectedVocabularies.remove(vocabulary);
                        }
                        PreferencesUtil.getPreferenceStore().setValue(getPrefKey(vocabulary), !isChecked());
-                       initModel();
+                       search();
                }
        }
 
-       protected Collection<TermVocabulary> selectedVocabularies;
+       protected List<TermVocabulary> selectedVocabularies;
     protected ArrayList<TermVocabulary> preselectedVocabularies;
-    private Object preferenceID;
+
 
 
        /**
@@ -80,54 +79,63 @@ public class NamedAreaSelectionDialog extends
         * @param namedArea
         *                              A namedArea that should be selected when the dialog opens
         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
-        * @param preferenceId a class which is used for generating the preference key so that every 
+        * @param preferenceId a class which is used for generating the preference key so that every
         * dialogs can be grouped to have their own preferences depending on this id
         * @param preselectedVocabularyUuids the {@link UUID}s of the pre-selected vocabularies
         * @return a {@link eu.etaxonomy.cdm.model.location.NamedArea} object.
         */
-       public static NamedArea select(Shell shell, ConversationHolder conversation, NamedArea namedArea, String preferenceId, UUID... preselectedVocabularyUuids) {
-               NamedAreaSelectionDialog dialog = new NamedAreaSelectionDialog(shell, conversation,
+       public static NamedArea select(Shell shell, //ConversationHolder conversation,
+               NamedArea namedArea, String preferenceId, UUID... preselectedVocabularyUuids) {
+               NamedAreaSelectionDialog dialog = new NamedAreaSelectionDialog(shell, //conversation,
                                "Choose an area", false, namedArea, preferenceId, preselectedVocabularyUuids);
                return getSelectionFromDialog(dialog);
        }
 
-       protected NamedAreaSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, NamedArea namedArea, Object preferenceId, UUID... preselectedVocabularyUuids) {
-               super(shell, conversation, title, multi, NamedAreaSelectionDialog.class.getCanonicalName(), namedArea);
+       protected NamedAreaSelectionDialog(Shell shell, //ConversationHolder conversation,
+               String title, boolean multi, NamedArea namedArea, Object preferenceId, UUID... preselectedVocabularyUuids) {
+               super(shell, //conversation,
+                       title, multi, NamedAreaSelectionDialog.class.getCanonicalName(), namedArea);
                this.preferenceID = preferenceId;
                preselectedVocabularies = new ArrayList<TermVocabulary>();
                for(int i=0;i<preselectedVocabularyUuids.length;i++){
                        TermVocabulary preselectedVocabulary = CdmStore.getService(IVocabularyService.class).find(preselectedVocabularyUuids[i]);
                        preselectedVocabularies.add(preselectedVocabulary);
                }
-               Collection<TermVocabulary> tempSelectedVocabularies = new HashSet<>();
-               for(TermVocabulary vocabulary:selectedVocabularies){
+
+
+               selectedVocabularies = createSelectedVocabularies();;
+//             search;//re-init to consider pre-selected vocabularies
+       }
+
+    private List<TermVocabulary> createSelectedVocabularies() {
+        List<TermVocabulary> tempSelectedVocabularies = new ArrayList<TermVocabulary>();
+        for(TermVocabulary vocabulary:selectedVocabularies){
                        if(preselectedVocabularies.contains(vocabulary)
                                        || !PreferencesUtil.getPreferenceStore().getBoolean(getPrefKey(vocabulary))){
                                tempSelectedVocabularies.add(vocabulary);
                        }
                }
-               selectedVocabularies = tempSelectedVocabularies;
-               initModel();//re-init to consider pre-selected vocabularies
-       }
+        return tempSelectedVocabularies;
+    }
 
        /** {@inheritDoc} */
-       @Override
-       protected void fillViewMenu(IMenuManager menuManager) {
-
-               super.fillViewMenu(menuManager);
+//     @Override
+//     protected void fillViewMenu(IMenuManager menuManager) {
+//
+////           super.fillViewMenu(menuManager);
+//
+//             for(TermVocabulary<NamedArea> vocabulary : getAvailableVocabularies()){
+//                     IncludeNamedAreaVocabulary action = new IncludeNamedAreaVocabulary(vocabulary);
+//                     menuManager.add(action);
+//                     if(preselectedVocabularies.contains(vocabulary)) {
+//                         action.setChecked(true);
+//                     }
+//                     else{
+//                             action.setChecked(!PreferencesUtil.getPreferenceStore().getBoolean(getPrefKey(vocabulary)));
+//                     }
+//             }
+//     }
 
-               for(TermVocabulary<NamedArea> vocabulary : getAvailableVocabularies()){
-                       IncludeNamedAreaVocabulary action = new IncludeNamedAreaVocabulary(vocabulary);
-                       menuManager.add(action);
-                       if(preselectedVocabularies.contains(vocabulary)) {
-                           action.setChecked(true);
-                       }
-                       else{
-                               action.setChecked(!PreferencesUtil.getPreferenceStore().getBoolean(getPrefKey(vocabulary)));
-                       }
-               }
-       }
-       
        private String getPrefKey(TermVocabulary vocabulary){
                return "hide_"+NamedAreaSelectionDialog.class.getCanonicalName()+vocabulary.getUuid()+preferenceID;
        }
@@ -157,31 +165,27 @@ public class NamedAreaSelectionDialog extends
                return vocabularies;
        }
 
-       /** {@inheritDoc} */
-       @Override
-       protected void initModel() {
-
-               Set<NamedArea> terms = new HashSet<NamedArea>();
-               for(TermVocabulary<NamedArea> vocabulary : selectedVocabularies){
-                       terms.addAll(vocabulary.getTermsOrderedByLabels(CdmStore.getDefaultLanguage()));
-               }
+//     /** {@inheritDoc} */
+//     @Override
+//     protected void search() {
+//         Control control =getSearchField();
+//        String pattern = null;
+//        if (control != null){
+//            pattern = ((Text)control).getText();
+//        }
+//
+//        if (pattern == null || pattern.equals("?")){
+//            model = CdmStore.getService(ITermService.class).getUuidAndTitleCache(selectedVocabularies, limitOfInitialElements, null, PreferencesUtil.getGlobalLanguage());
+//        }else{
+//            model = CdmStore.getService(ITermService.class).getUuidAndTitleCache(selectedVocabularies, limitOfInitialElements, pattern, PreferencesUtil.getGlobalLanguage());
+//        }
+//     }
 
-               if(model == null){
-                       model = new ArrayList<UuidAndTitleCache<NamedArea>>();
-               }
-               model.clear();
-               for(Object areaObject : terms){
-                       NamedArea area = (NamedArea) HibernateProxyHelper.deproxy(areaObject);
-                       UuidAndTitleCache<NamedArea> element = new UuidAndTitleCache<NamedArea>(NamedArea.class, area.getUuid(), area.getId(), getTitle(area));
-                       model.add(element);
-               }
-       }
-
-       /** {@inheritDoc} */
-       @Override
-       protected Control createExtendedContentArea(Composite parent) {
-               return null;
-       }
+//     /** {@inheritDoc} */
+//     @Override
+//     protected Control createExtendedContentArea(Composite parent) {
+//             return null;
+//     }
 
        /** {@inheritDoc} */
        @Override
@@ -203,7 +207,63 @@ public class NamedAreaSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
+       protected String[] getNewWizardText() {
                return null;
        }
+
+       @Override
+    void createFilterButton(Composite searchAndFilter)
+           {
+            filterButton = new Button(searchAndFilter, SWT.NONE);
+//            filterButton.setText("Filter");
+            filterButton.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/funnel-icon.png"));
+//            SelectionListener filterSelectionListener = new FilterSelectionListener(preferenceID, this);
+            filterButton.addSelectionListener(new SelectionListener(){
+                @Override
+                public void widgetSelected(SelectionEvent e) {
+
+                        Object source = e.getSource();
+                        String text = null;
+                        if (source instanceof Button){
+                            Shell shell = ((Button)source).getShell();
+                            Dialog dialog = new FilterDialog(getShell(), preferenceID, selectedVocabularies);
+                            if(dialog!=null){
+                                dialog.open();
+                            }
+                            createSelectedVocabularies();
+                            search();
+                        }
+
+
+
+
+                }
+
+                @Override
+                public void widgetDefaultSelected(SelectionEvent e) {
+                    // TODO Auto-generated method stub
+
+                }
+
+
+            });
+
+        }
+
+    /**
+     *
+     */
+    public void setSelectedVocabularies() {
+        // TODO Auto-generated method stub
+
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog#callService(java.lang.String)
+     */
+    @Override
+    void callService(String pattern) {
+        model = CdmStore.getService(ITermService.class).getUuidAndTitleCache(selectedVocabularies, limitOfInitialElements, pattern, PreferencesUtil.getGlobalLanguage());
+    }
+
 }
index cb666348ef0b8e724404519d2bce693c2193706f..21155e590b016dd6a8653f2e7525304ebf4c2c21 100644 (file)
@@ -15,11 +15,8 @@ import java.util.Comparator;
 
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
@@ -47,24 +44,17 @@ public class NomenclaturalAuthorSelectionDialog extends AgentSelectionDialog {
      * @param settings
      * @param agent
      */
-    protected NomenclaturalAuthorSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+    protected NomenclaturalAuthorSelectionDialog(Shell shell, //ConversationHolder conversation,
+            String title,
             boolean multi, String settings, AgentBase agent, boolean teamMemberSelection) {
-        super(shell, conversation, title, multi, settings, agent, teamMemberSelection);
+        super(shell, //conversation,
+                title, multi, settings, agent, teamMemberSelection);
         // TODO Auto-generated constructor stub
     }
 
     @Override
-    protected void initModel() {
-        Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-        if (pattern == null || pattern.equals("?")){
-            model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(null, null, null);
-        }else{
-            model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, null);
-        }
+    protected void callService(String pattern) {
+        model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, null);
     }
 
     /** {@inheritDoc} */
@@ -97,8 +87,9 @@ public class NomenclaturalAuthorSelectionDialog extends AgentSelectionDialog {
      * @param entity a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
      * @return a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
      */
-    public static AgentBase select(Shell shell, ConversationHolder conversation, AgentBase entity, boolean teamMemberSelection) {
-        NomenclaturalAuthorSelectionDialog dialog = new NomenclaturalAuthorSelectionDialog(shell, conversation,
+    public static AgentBase select(Shell shell, //ConversationHolder conversation,
+            AgentBase entity, boolean teamMemberSelection) {
+        NomenclaturalAuthorSelectionDialog dialog = new NomenclaturalAuthorSelectionDialog(shell, //conversation,
                 "Choose Agent", false, NomenclaturalAuthorSelectionDialog.class.getCanonicalName(), entity, teamMemberSelection);
         return getSelectionFromDialog(dialog);
     }
@@ -148,44 +139,44 @@ public class NomenclaturalAuthorSelectionDialog extends AgentSelectionDialog {
        };
 
        /** {@inheritDoc} */
-       @Override
-       protected ItemsFilter createFilter() {
-               return new ItemsFilter() {
-
-                       /**
-                        * Always returns false to enforce refiltering even if the pattern is equal
-                        */
-                       @Override
-                       public boolean equalsFilter(ItemsFilter filter) {
-                               return false;
-                       }
-
-                       @Override
-                       public boolean isConsistentItem(Object item) {
-                               return false;
-                       }
-
-                       @Override
-                       public boolean matchItem(Object item) {
-                               String textTitleCache = null;
-                               String abbrevTitleCache = null;
-                               if(item instanceof UuidAndTitleCache){
-                                       if (((UuidAndTitleCache) item).getAbbrevTitleCache() != null){
-                                               abbrevTitleCache = ((UuidAndTitleCache) item).getAbbrevTitleCache();
-                                       }
-                                       if (((UuidAndTitleCache) item).getTitleCache() != null ){
-                                               textTitleCache = ((UuidAndTitleCache) item).getTitleCache();
-                                       }
-                               }else if(item instanceof String){
-                                       textTitleCache = (String) item;
-                               }
-
-                               return  (matches(textTitleCache) || matches(abbrevTitleCache)) ;
-
-                       }
-
-               };
-       }
+//     @Override
+//     protected ItemsFilter createFilter() {
+//             return new ItemsFilter() {
+//
+//                     /**
+//                      * Always returns false to enforce refiltering even if the pattern is equal
+//                      */
+//                     @Override
+//                     public boolean equalsFilter(ItemsFilter filter) {
+//                             return false;
+//                     }
+//
+//                     @Override
+//                     public boolean isConsistentItem(Object item) {
+//                             return false;
+//                     }
+//
+//                     @Override
+//                     public boolean matchItem(Object item) {
+//                             String textTitleCache = null;
+//                             String abbrevTitleCache = null;
+//                             if(item instanceof UuidAndTitleCache){
+//                                     if (((UuidAndTitleCache) item).getAbbrevTitleCache() != null){
+//                                             abbrevTitleCache = ((UuidAndTitleCache) item).getAbbrevTitleCache();
+//                                     }
+//                                     if (((UuidAndTitleCache) item).getTitleCache() != null ){
+//                                             textTitleCache = ((UuidAndTitleCache) item).getTitleCache();
+//                                     }
+//                             }else if(item instanceof String){
+//                                     textTitleCache = (String) item;
+//                             }
+//
+//                             return  (matches(textTitleCache) || matches(abbrevTitleCache)) ;
+//
+//                     }
+//
+//             };
+//     }
 
        @Override
        protected Comparator getItemsComparator() {
index 4e49bca7db586fa5fb33216fbb64a1fe0049f1fb..1725708606317ac38f886157fc5331b23f79aa87 100644 (file)
@@ -11,11 +11,8 @@ package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
 import java.util.UUID;
 
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Team;
@@ -42,8 +39,9 @@ public class NomenclaturalAuthorTeamSelectionDialog extends
         * @param team a {@link eu.etaxonomy.cdm.model.agent.Team} object.
         * @return a {@link eu.etaxonomy.cdm.model.agent.Team} object.
         */
-       public static Team select(Shell shell, ConversationHolder conversation, Team team){
-               NomenclaturalAuthorTeamSelectionDialog dialog = new NomenclaturalAuthorTeamSelectionDialog(shell, conversation,
+       public static Team select(Shell shell, //ConversationHolder conversation,
+               Team team){
+               NomenclaturalAuthorTeamSelectionDialog dialog = new NomenclaturalAuthorTeamSelectionDialog(shell, //conversation,
                                "Choose Author Team", false, NomenclaturalAuthorTeamSelectionDialog.class.getCanonicalName(), team);
                return (Team)getSelectionFromDialog(dialog);
        }
@@ -58,9 +56,11 @@ public class NomenclaturalAuthorTeamSelectionDialog extends
         * @param settings a {@link java.lang.String} object.
         * @param agent a {@link eu.etaxonomy.cdm.model.agent.Team} object.
         */
-       protected NomenclaturalAuthorTeamSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+       protected NomenclaturalAuthorTeamSelectionDialog(Shell shell, //ConversationHolder conversation,
+               String title,
                        boolean multi, String settings, Team agent) {
-               super(shell, conversation, title, multi, settings, agent);
+               super(shell, //conversation,
+                       title, multi, settings, agent);
        }
 
        /** {@inheritDoc} */
@@ -71,25 +71,33 @@ public class NomenclaturalAuthorTeamSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Team ");
+       protected String[] getNewWizardText() {
+               return new String[]{"new Team"};
        }
 
-       /** {@inheritDoc} */
-       @Override
-       protected void initModel() {
-           Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-
-               model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, Team.class);
-       }
+//     /** {@inheritDoc} */
+//     @Override
+//     protected void search() {
+//         Control control =getSearchField();
+//        String pattern = null;
+//        if (control != null){
+//            pattern = ((Text)control).getText();
+//        }
+//
+//             model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, Team.class);
+//     }
 
        /** {@inheritDoc} */
        @Override
        protected Team getPersistentObject(UUID uuid) {
                return CdmBase.deproxy(CdmStore.getService(IAgentService.class).load(uuid), Team.class) ;
        }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.dialog.selection.AbstractFilteredCdmResourceSelectionDialog#callService(java.lang.String)
+     */
+    @Override
+    void callService(String pattern) {
+        model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, Team.class);
+    }
 }
index 9fb2cfd121973d5e89a3242d9718368291c7650c..fb2049159975044f4f82d1e2fb110d817c4bd207 100644 (file)
@@ -8,11 +8,8 @@
 */
 package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Person;
@@ -33,9 +30,11 @@ public class NomenclaturalPersonAuthorSelectionDialog extends NomenclaturalAutho
      * @param settings
      * @param agent
      */
-    protected NomenclaturalPersonAuthorSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+    protected NomenclaturalPersonAuthorSelectionDialog(Shell shell, //ConversationHolder conversation,
+            String title,
             boolean multi, String settings, AgentBase agent, boolean teamMemberSelection) {
-        super(shell, conversation, title, multi, settings, agent, teamMemberSelection);
+        super(shell, //conversation,
+                title, multi, settings, agent, teamMemberSelection);
         // TODO Auto-generated constructor stub
     }
 
@@ -48,20 +47,15 @@ public class NomenclaturalPersonAuthorSelectionDialog extends NomenclaturalAutho
      * @param entity a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
      * @return a {@link eu.etaxonomy.cdm.model.agent.AgentBase} object.
      */
-    public static AgentBase select(Shell shell, ConversationHolder conversation, AgentBase entity, boolean teamMemberSelection) {
-        NomenclaturalPersonAuthorSelectionDialog dialog = new NomenclaturalPersonAuthorSelectionDialog(shell, conversation,
+    public static AgentBase select(Shell shell, //ConversationHolder conversation,
+            AgentBase entity, boolean teamMemberSelection) {
+        NomenclaturalPersonAuthorSelectionDialog dialog = new NomenclaturalPersonAuthorSelectionDialog(shell, //conversation,
                 "Choose Agent", false, NomenclaturalAuthorSelectionDialog.class.getCanonicalName(), entity,teamMemberSelection);
         return getSelectionFromDialog(dialog);
     }
 
     @Override
-    protected void initModel() {
-        Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-
+    protected void callService(String pattern) {
         model = CdmStore.getService(IAgentService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern, Person.class);
     }
 
index e13213b5cae3f41f95867999a362884d2ada9e8d..39201048568c9f33c56215b3ee69e853dc35a304 100644 (file)
@@ -9,7 +9,6 @@ import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
@@ -24,27 +23,24 @@ public class NomenclaturalReferenceSelectionDialog extends
     private TeamOrPersonBase author;
     private boolean firstCall = true;
 
-       protected NomenclaturalReferenceSelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected NomenclaturalReferenceSelectionDialog(Shell shell,//ConversationHolder conversation,
+                        String title, boolean multi,
                        Reference reference, boolean inReference, TeamOrPersonBase author) {
-               super(shell, conversation, title, multi, reference);
+               super(shell, //conversation,
+                       title, multi, reference);
                this.author = author;
                firstCall = true;
 
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#search
         */
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-           Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
+       protected void callService(String pattern) {
+        Control control =getSearchField();
 
-        }
         if (firstCall && author != null){
             pattern = author.getNomenclaturalTitle();
             if (control!= null){
@@ -54,11 +50,8 @@ public class NomenclaturalReferenceSelectionDialog extends
 
         }
 
-        if (pattern == null || pattern.equals("?")){
-            model = CdmStore.getService(IReferenceService.class).getUuidAndAbbrevTitleCache(null, null);
-        }else{
-            model = CdmStore.getService(IReferenceService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern);
-        }
+       model = CdmStore.getService(IReferenceService.class).getUuidAndAbbrevTitleCache(limitOfInitialElements, pattern);
+
        }
 
        /**
@@ -79,8 +72,9 @@ public class NomenclaturalReferenceSelectionDialog extends
         * @return a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
         */
 
-       public static Reference select(Shell shell, ConversationHolder conversation, Reference reference, TeamOrPersonBase author) {
-               NomenclaturalReferenceSelectionDialog dialog = new NomenclaturalReferenceSelectionDialog(shell, conversation,
+       public static Reference select(Shell shell, //ConversationHolder conversation,
+               Reference reference, TeamOrPersonBase author) {
+               NomenclaturalReferenceSelectionDialog dialog = new NomenclaturalReferenceSelectionDialog(shell,// conversation,
                                "Choose a reference", isInReference, reference, false, author);
                return getSelectionFromDialog(dialog);
        }
@@ -89,41 +83,41 @@ public class NomenclaturalReferenceSelectionDialog extends
         * @see org.eclipse.ui.dialogs.FilteredItemsSelectionDialog#createFilter()
         */
        /** {@inheritDoc} */
-       @Override
-       protected ItemsFilter createFilter() {
-               return new ItemsFilter() {
-
-                       /**
-                        * Always returns false to enforce refiltering even if the pattern is equal
-                        */
-                       @Override
-                       public boolean equalsFilter(ItemsFilter filter) {
-                               return false;
-                       }
-
-                       @Override
-                       public boolean isConsistentItem(Object item) {
-                               return false;
-                       }
-
-                       @Override
-                       public boolean matchItem(Object item) {
-                               return true;
-//                             String text = null;
-//                             if(item instanceof UuidAndTitleCache){
-//                                     if (((UuidAndTitleCache) item).getAbbrevTitleCache() != null){
-//                                             text = ((UuidAndTitleCache) item).getAbbrevTitleCache();
-//                                     } else{
-//                                             text = ((UuidAndTitleCache) item).getTitleCache();
-//                                     }
-//                             }else if(item instanceof String){
-//                                     text = (String) item;
-//                             }
-//                             return text != null ? matches(text) : false;
-                       }
-
-               };
-       }
+//     @Override
+//     protected ItemsFilter createFilter() {
+//             return new ItemsFilter() {
+//
+//                     /**
+//                      * Always returns false to enforce refiltering even if the pattern is equal
+//                      */
+//                     @Override
+//                     public boolean equalsFilter(ItemsFilter filter) {
+//                             return false;
+//                     }
+//
+//                     @Override
+//                     public boolean isConsistentItem(Object item) {
+//                             return false;
+//                     }
+//
+//                     @Override
+//                     public boolean matchItem(Object item) {
+//                             return true;
+////                           String text = null;
+////                           if(item instanceof UuidAndTitleCache){
+////                                   if (((UuidAndTitleCache) item).getAbbrevTitleCache() != null){
+////                                           text = ((UuidAndTitleCache) item).getAbbrevTitleCache();
+////                                   } else{
+////                                           text = ((UuidAndTitleCache) item).getTitleCache();
+////                                   }
+////                           }else if(item instanceof String){
+////                                   text = (String) item;
+////                           }
+////                           return text != null ? matches(text) : false;
+//                     }
+//
+//             };
+//     }
 
 
 
index 3ad17870ed1ad07789411f51c671639db263a60d..c947c08f905e99d8077431479093490624b7deff 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -36,15 +36,15 @@ public class OriginalSourceTypeSelectionDialog extends
         * @return a {@link eu.etaxonomy.cdm.model.common.OriginalSourceType} object.
         */
        public static OriginalSourceType select(Shell shell, ConversationHolder conversation){
-               OriginalSourceTypeSelectionDialog dialog = 
-                               new OriginalSourceTypeSelectionDialog(shell, 
+               OriginalSourceTypeSelectionDialog dialog =
+                               new OriginalSourceTypeSelectionDialog(shell,
                                                conversation,
-                                               "Choose Original Source Type", 
-                                               false, 
+                                               "Choose Original Source Type",
+                                               false,
                                                OriginalSourceTypeSelectionDialog.class.getCanonicalName());
                return getSelectionFromDialog(dialog);
        }
-       
+
        /**
         * <p>Constructor for FilteredDerivedUnitSelectionDialog.</p>
         *
@@ -54,10 +54,10 @@ public class OriginalSourceTypeSelectionDialog extends
         * @param multi a boolean.
         * @param settings a {@link java.lang.String} object.
         */
-       protected OriginalSourceTypeSelectionDialog(Shell shell, 
-                       ConversationHolder conversation, 
+       protected OriginalSourceTypeSelectionDialog(Shell shell,
+                       ConversationHolder conversation,
                        String title,
-                       boolean multi, 
+                       boolean multi,
                        String settings) {
                super(shell, conversation, title, multi, settings, OriginalSourceType.PrimaryTaxonomicSource);
        }
@@ -67,7 +67,7 @@ public class OriginalSourceTypeSelectionDialog extends
        @Override
        protected void initModel() {
                model = new ArrayList<OriginalSourceType>();
-               model.addAll(EnumSet.allOf(OriginalSourceType.class));          
+               model.addAll(EnumSet.allOf(OriginalSourceType.class));
        }
 
        /** {@inheritDoc} */
index 2c0ef31ce501adfe693b6d026f7c5a1fe7c5f4e9..20677bf77514ddf13ef4420906e4d712f1bd63e5 100644 (file)
@@ -13,7 +13,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
@@ -38,8 +37,9 @@ public class PersonSelectionDialog extends
         * @param person a {@link eu.etaxonomy.cdm.model.agent.Person} object.
         * @return a {@link eu.etaxonomy.cdm.model.agent.Person} object.
         */
-       public static Person select(Shell shell, ConversationHolder conversation, Person person){
-               PersonSelectionDialog dialog = new PersonSelectionDialog(shell, conversation,
+       public static Person select(Shell shell, //onversationHolder conversation,
+               Person person){
+               PersonSelectionDialog dialog = new PersonSelectionDialog(shell, //conversation,
                                "Choose a person", false, PersonSelectionDialog.class.getCanonicalName(), person);
                return getSelectionFromDialog(dialog);
        }
@@ -54,9 +54,11 @@ public class PersonSelectionDialog extends
         * @param cdmObject a {@link eu.etaxonomy.cdm.model.agent.Person} object.
         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
         */
-       protected PersonSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+       protected PersonSelectionDialog(Shell shell,// ConversationHolder conversation,
+               String title,
                        boolean multi, String settings, Person cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
 
@@ -71,12 +73,12 @@ public class PersonSelectionDialog extends
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-               model = CdmStore.getService(IAgentService.class).getPersonUuidAndTitleCache();
+       protected void callService(String pattern) {
+               model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache(Person.class, limitOfInitialElements, pattern);
        }
 
        /** {@inheritDoc} */
@@ -87,7 +89,7 @@ public class PersonSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Person ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Person"};
        }
 }
index a3d8845556de9c2110f63ab1d0a1ea7262fb7006..86c0f1d792801c176aff44f84b292baa7a7a1d23 100644 (file)
@@ -13,7 +13,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
@@ -27,8 +26,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class PolytomousKeySelectionDialog extends
                AbstractFilteredCdmResourceSelectionDialog<PolytomousKey> {
 
-       public static PolytomousKey select(Shell shell, ConversationHolder conversation, PolytomousKey key){
-               PolytomousKeySelectionDialog dialog = new PolytomousKeySelectionDialog(shell, conversation,
+       public static PolytomousKey select(Shell shell, //ConversationHolder conversation,
+               PolytomousKey key){
+               PolytomousKeySelectionDialog dialog = new PolytomousKeySelectionDialog(shell, //conversation,
                                "Choose Polytomous Key", false, PolytomousKeySelectionDialog.class.getCanonicalName(), key);
                return getSelectionFromDialog(dialog);
        }
@@ -41,10 +41,11 @@ public class PolytomousKeySelectionDialog extends
         * @param settings
         * @param cdmObject
         */
-       protected PolytomousKeySelectionDialog(Shell shell,
-                       ConversationHolder conversation, String title, boolean multi,
+       protected PolytomousKeySelectionDialog(Shell shell,//ConversationHolder conversation,
+                        String title, boolean multi,
                        String settings, PolytomousKey cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
@@ -56,18 +57,18 @@ public class PolytomousKeySelectionDialog extends
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        @Override
-       protected void initModel() {
-               model = CdmStore.getService(IPolytomousKeyService.class).getUuidAndTitleCache(null, null);
+       protected void callService(String pattern) {
+               model = CdmStore.getService(IPolytomousKeyService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
        }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
-       protected String getNewWizardLinkText() {
+       protected String[] getNewWizardText() {
                return null;
        }
 
index 097907ffb6d41eb2048e047e6cc1bb405e4a60b3..8ce81ace31e9eabb5321a3ceca27d4815a9647d3 100644 (file)
@@ -12,7 +12,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.molecular.IPrimerService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.molecular.Primer;
@@ -29,8 +28,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class PrimerSelectionDialog extends
 AbstractFilteredCdmResourceSelectionDialog<Primer> {
 
-    public static Primer select(Shell shell, ConversationHolder conversation, Primer primer){
-        PrimerSelectionDialog dialog = new PrimerSelectionDialog(shell, conversation,
+    public static Primer select(Shell shell, //ConversationHolder conversation,
+            Primer primer){
+        PrimerSelectionDialog dialog = new PrimerSelectionDialog(shell, //conversation,
                 "Choose Primer", false, PrimerSelectionDialog.class.getCanonicalName(), primer);
         return getSelectionFromDialog(dialog);
     }
@@ -38,9 +38,11 @@ AbstractFilteredCdmResourceSelectionDialog<Primer> {
     /**
      * <p>Constructor for FilteredDerivedUnitSelectionDialog.</p>
      */
-    protected PrimerSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+    protected PrimerSelectionDialog(Shell shell, //ConversationHolder conversation,
+            String title,
             boolean multi, String settings, Primer cdmObject) {
-        super(shell, conversation, title, multi, settings, cdmObject);
+        super(shell, //conversation,
+                title, multi, settings, cdmObject);
     }
 
     /** {@inheritDoc} */
@@ -59,8 +61,8 @@ AbstractFilteredCdmResourceSelectionDialog<Primer> {
 
     /** {@inheritDoc} */
     @Override
-    protected void initModel() {
-        model = CdmStore.getService(IPrimerService.class).getPrimerUuidAndTitleCache();
+    protected void callService(String pattern) {
+        model = CdmStore.getService(IPrimerService.class).getUuidAndTitleCache(limitOfInitialElements, pattern);
     }
 
     /* (non-Javadoc)
@@ -82,7 +84,7 @@ AbstractFilteredCdmResourceSelectionDialog<Primer> {
 
     /** {@inheritDoc} */
     @Override
-    protected String getNewWizardLinkText() {
-        return String.format("Create a new <a>%1s</a>", "Primer ");
+    protected String[] getNewWizardText() {
+        return new String[]{"New Primer"};
     }
 }
index 17433871a8c5b3f99d0b0720720f80cebf574251..f1749c3e259640875772bbcfd86d68d9dc47b3c6 100644 (file)
@@ -11,11 +11,8 @@ package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
 import java.util.UUID;
 
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.taxeditor.newWizard.AbstractNewEntityWizard;
@@ -42,8 +39,9 @@ public class ReferenceSelectionDialog extends AbstractFilteredCdmResourceSelecti
         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
         * @return a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
         */
-       public static Reference select(Shell shell, ConversationHolder conversation, Reference reference, boolean isInReference) {
-               ReferenceSelectionDialog dialog = new ReferenceSelectionDialog(shell, conversation,
+       public static Reference select(Shell shell, //ConversationHolder conversation,
+               Reference reference, boolean isInReference) {
+               ReferenceSelectionDialog dialog = new ReferenceSelectionDialog(shell, //conversation,
                                "Choose a reference", false, reference, isInReference);
                return getSelectionFromDialog(dialog);
        }
@@ -56,8 +54,9 @@ public class ReferenceSelectionDialog extends AbstractFilteredCdmResourceSelecti
      * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
      * @return a {@link eu.etaxonomy.cdm.model.reference.ReferenceBase} object.
      */
-    public static Reference select(Shell shell, ConversationHolder conversation, Reference reference) {
-        ReferenceSelectionDialog dialog = new ReferenceSelectionDialog(shell, conversation,
+    public static Reference select(Shell shell, //ConversationHolder conversation,
+            Reference reference) {
+        ReferenceSelectionDialog dialog = new ReferenceSelectionDialog(shell, //conversation,
                 "Choose a reference", false, reference);
         return getSelectionFromDialog(dialog);
     }
@@ -73,8 +72,10 @@ public class ReferenceSelectionDialog extends AbstractFilteredCdmResourceSelecti
         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
         * @param multi a boolean.
         */
-       protected ReferenceSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, Reference reference) {
-               super(shell, conversation, title, multi, ReferenceSelectionDialog.class.getCanonicalName(), null);
+       protected ReferenceSelectionDialog(Shell shell, //ConversationHolder conversation,
+               String title, boolean multi, Reference reference) {
+               super(shell, //conversation,
+                       title, multi, ReferenceSelectionDialog.class.getCanonicalName(), null);
                this.currentReference = reference;
 
 
@@ -92,8 +93,10 @@ public class ReferenceSelectionDialog extends AbstractFilteredCdmResourceSelecti
      * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
      * @param multi a boolean.
      */
-    protected ReferenceSelectionDialog(Shell shell, ConversationHolder conversation, String title, boolean multi, Reference reference, boolean isInReference) {
-        super(shell, conversation, title, multi, ReferenceSelectionDialog.class.getCanonicalName(), null);
+    protected ReferenceSelectionDialog(Shell shell, //ConversationHolder conversation,
+            String title, boolean multi, Reference reference, boolean isInReference) {
+        super(shell, //conversation,
+                title, multi, ReferenceSelectionDialog.class.getCanonicalName(), null);
         this.isInReference = isInReference;
         this.currentReference = reference;
 
@@ -110,30 +113,17 @@ public class ReferenceSelectionDialog extends AbstractFilteredCdmResourceSelecti
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.dialogs.AbstractFilteredCdmResourceSelectionDialog#search
         */
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-           Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-
-        if (pattern == null || pattern.equals("?")){
-            if (isInReference && currentReference != null){
-                model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache(null,null,currentReference.getType());
-            }else{
-                model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache(null,null);
-            }
+       protected void callService(String pattern) {
+        if (isInReference && currentReference != null){
+            model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache(limitOfInitialElements,pattern, currentReference.getType());
         }else{
-            if (isInReference && currentReference != null){
-                model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache(limitOfInitialElements,pattern, currentReference.getType());
-            }else{
-                model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache(limitOfInitialElements,pattern);
-            }
+            model = CdmStore.getService(IReferenceService.class).getUuidAndTitleCache(limitOfInitialElements,pattern);
         }
+
        }
 
 
@@ -158,8 +148,8 @@ public class ReferenceSelectionDialog extends AbstractFilteredCdmResourceSelecti
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Reference ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Reference"};
        }
 
 }
old mode 100755 (executable)
new mode 100644 (file)
index 86e8fc6..e4995d8
@@ -10,11 +10,8 @@ package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
 import java.util.UUID;
 
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IRightsService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.media.Rights;
@@ -30,8 +27,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class RightsSelectionDialog extends AbstractFilteredCdmResourceSelectionDialog<Rights> {
 
 
-    public static Rights select(Shell shell, ConversationHolder conversation, Rights rights){
-        RightsSelectionDialog dialog = new RightsSelectionDialog(shell, conversation,
+    public static Rights select(Shell shell, //ConversationHolder conversation,
+            Rights rights){
+        RightsSelectionDialog dialog = new RightsSelectionDialog(shell, //conversation,
                 "Choose Rights", false, RightsSelectionDialog.class.getCanonicalName(), rights);
         return getSelectionFromDialog(dialog);
     }
@@ -39,9 +37,11 @@ public class RightsSelectionDialog extends AbstractFilteredCdmResourceSelectionD
     /**
      * <p>Constructor for FilteredDerivedUnitSelectionDialog.</p>
      */
-    protected RightsSelectionDialog(Shell shell, ConversationHolder conversation, String title,
+    protected RightsSelectionDialog(Shell shell, //ConversationHolder conversation,
+            String title,
             boolean multi, String settings, Rights rights) {
-        super(shell, conversation, title, multi, settings, rights);
+        super(shell, //conversation,
+                title, multi, settings, rights);
     }
 
     /**
@@ -64,8 +64,7 @@ public class RightsSelectionDialog extends AbstractFilteredCdmResourceSelectionD
      * {@inheritDoc}
      */
     @Override
-    protected String getNewWizardLinkText() {
-        // TODO Auto-generated method stub
+    protected String[] getNewWizardText() {
         return null;
     }
 
@@ -82,22 +81,8 @@ public class RightsSelectionDialog extends AbstractFilteredCdmResourceSelectionD
      * {@inheritDoc}
      */
     @Override
-    protected void initModel() {
-        Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-
-        if (pattern == null || pattern.equals("?")){
-            model = CdmStore.getService(IRightsService.class).getUuidAndLabelText(null,null);
-
-        }else{
-
-                model = CdmStore.getService(IRightsService.class).getUuidAndLabelText(limitOfInitialElements,pattern);
-
-        }
-
+    protected void callService(String pattern) {
+        model = CdmStore.getService(IRightsService.class).getUuidAndLabelText(limitOfInitialElements,pattern);
     }
 
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SearchDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SearchDialog.java
new file mode 100644 (file)
index 0000000..86ac84a
--- /dev/null
@@ -0,0 +1,761 @@
+// $Id$
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.dialog.selection;
+
+
+
+import java.text.Collator;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.ListenerList;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.action.LegacyActionTools;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IColorProvider;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.IFontProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.LabelProviderChangedEvent;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StyledCellLabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.accessibility.AccessibleAdapter;
+import org.eclipse.swt.accessibility.AccessibleEvent;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.TraverseEvent;
+import org.eclipse.swt.events.TraverseListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbenchPreferenceConstants;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
+import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
+import org.eclipse.ui.internal.WorkbenchImages;
+import org.eclipse.ui.internal.WorkbenchMessages;
+import org.eclipse.ui.internal.WorkbenchPlugin;
+
+import eu.etaxonomy.cdm.model.common.ICdmBase;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.CdmFilteredItemsSelectionDialog.ItemsListSeparator;
+
+/**
+ * @author k.luther
+ * @date 15.11.2017
+ *
+ */
+public abstract class SearchDialog<T extends ICdmBase> extends Dialog{// implements IConversationEnabled{
+
+        private TableViewer list;
+        private Text searchField;
+        private String title;
+        protected Button newButton1;
+
+
+        protected Button newButton2;
+        protected Button filterButton;
+        private StructuredSelection currentSelection;
+
+        // message to show user
+        private String message = ""; //$NON-NLS-1$
+
+        protected final ContentProvider contentProvider;
+        ItemsListLabelProvider itemsListLabelProvider;
+
+        private final RefreshCacheJob refreshCacheJob;
+
+        protected Object preferenceID;
+
+        protected final int new_id = 4;
+        protected final int new_id2 = 5;
+        // Need to keep our own list of listeners
+        private final ListenerList listeners = new ListenerList();
+
+
+        private static final String EMPTY_STRING = ""; //$NON-NLS-1$
+        private GridData gd_1;
+
+        public SearchDialog(Shell parent, boolean multi) {
+            super(parent);
+            contentProvider = new ContentProvider();
+            refreshCacheJob = new RefreshCacheJob();
+
+
+        }
+
+
+        @Override
+        protected Control createDialogArea(Composite parent) {
+            Composite container = (Composite) super.createDialogArea(parent);
+
+            GridData gd = new GridData(GridData.FILL_BOTH);
+            container.setLayoutData(gd);
+
+            GridLayout layout = new GridLayout();
+            layout.numColumns = 1;
+            layout.marginWidth = 0;
+            layout.marginHeight = 0;
+            container.setLayout(layout);
+
+            final Label headerLabel = createHeader(container);
+
+            Composite searchAndFilter = new Composite(container, container.getStyle());
+            GridData gd_searchAndFilter =new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
+
+            searchAndFilter.setLayoutData(gd_searchAndFilter);
+            GridLayout searchAndFilterLayout = new GridLayout();
+            searchAndFilterLayout.numColumns = 2;
+            searchAndFilter.setLayout(searchAndFilterLayout);
+            searchField = new Text(searchAndFilter, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL);
+            searchField.getAccessible().addAccessibleListener(new AccessibleAdapter() {
+                @Override
+                public void getName(AccessibleEvent e) {
+                    e.result = LegacyActionTools.removeMnemonics(headerLabel
+                            .getText());
+                }
+            });
+            searchField.addModifyListener(new ModifyListener() {
+                @Override
+                public void modifyText(ModifyEvent e) {
+                    search();
+//                    fillContentProvider(null);
+
+                }
+            });
+            gd_1 = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
+
+            searchField.setLayoutData(gd_1);
+
+            createFilterButton(searchAndFilter);
+            new Label(searchAndFilter, SWT.NONE);
+            setList(new TableViewer(container,  SWT.SINGLE
+                    | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL));
+
+            getList().setContentProvider(contentProvider);
+            getList().setLabelProvider(getItemsListLabelProvider());
+            getList().setInput(new Object[0]);
+            getList().setItemCount(contentProvider.getNumberOfElements());
+            getList().addSelectionChangedListener(new ISelectionChangedListener() {
+                @Override
+                public void selectionChanged(SelectionChangedEvent event) {
+                    StructuredSelection selection = (StructuredSelection) event
+                            .getSelection();
+                    currentSelection = selection;
+                }
+            });
+            getList().addDoubleClickListener(new IDoubleClickListener() {
+                @Override
+                public void doubleClick(DoubleClickEvent event) {
+                    okPressed();
+                }
+            });
+//            createExtendedContentArea(container);
+            new Label(container, SWT.NONE);
+
+            return container;
+        }
+
+
+        abstract void createFilterButton(Composite searchAndFilter) ;
+
+        protected abstract void search();
+
+
+        /**
+         * Sets the title for this dialog.
+         *
+         * @param title
+         *            the title
+         */
+        public void setTitle(String title) {
+            this.title = title;
+        }
+
+        /**
+         * Create a new header which is labelled by headerLabel.
+         *
+         * @param parent
+         * @return Label the label of the header
+         */
+        private Label createHeader(Composite parent) {
+            Composite header = new Composite(parent, SWT.NONE);
+            GridData gd_header = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2, 1);
+            gd_header.horizontalIndent = 5;
+            gd_header.widthHint = 575;
+            header.setLayoutData(gd_header);
+
+            GridLayout layout = new GridLayout();
+            layout.marginLeft = 5;
+            layout.horizontalSpacing = 0;
+            layout.verticalSpacing = 1;
+            layout.marginWidth = 0;
+            layout.marginHeight = 0;
+            header.setLayout(layout);
+            new Label(header, SWT.NONE);
+            Label headerLabel = new Label(header, SWT.NONE);
+            headerLabel.setText((getMessage() != null && getMessage().trim()
+                    .length() > 0) ? getMessage()
+                    : Messages.SearchDialog_patternLabel);
+            headerLabel.addTraverseListener(new TraverseListener() {
+                @Override
+                public void keyTraversed(TraverseEvent e) {
+                    if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
+                        e.detail = SWT.TRAVERSE_NONE;
+                        searchField.setFocus();
+                    }
+                }
+            });
+            GridData gd_headerLabel = new GridData(GridData.FILL_HORIZONTAL);
+            gd_headerLabel.horizontalAlignment = SWT.LEFT;
+            gd_headerLabel.grabExcessHorizontalSpace = false;
+            gd_headerLabel.verticalAlignment = SWT.BOTTOM;
+            gd_headerLabel.minimumHeight = 10;
+            headerLabel.setLayoutData(gd_headerLabel);
+            return headerLabel;
+        }
+
+        protected String getMessage() {
+            return message;
+        }
+
+        protected void setMessage(String message){
+            this.message = message;
+        }
+
+        public Text getSearchField() {
+            return searchField;
+        }
+
+
+        public void setSearchField(Text searchField) {
+            this.searchField = searchField;
+        }
+
+        private ItemsListLabelProvider getItemsListLabelProvider() {
+            if (itemsListLabelProvider == null) {
+                itemsListLabelProvider = new ItemsListLabelProvider(
+                        new LabelProvider());
+            }
+            return itemsListLabelProvider;
+        }
+
+
+        public TableViewer getList() {
+            return list;
+        }
+
+        public void setList(TableViewer list) {
+            this.list = list;
+            Table table = list.getTable();
+            GridData gd_table = new GridData(SWT.CENTER, SWT.CENTER, true, true, 2, 1);
+            gd_table.heightHint = 231;
+            gd_table.widthHint = 543;
+            table.setLayoutData(gd_table);
+        }
+
+        public Button getNewButton1() {
+            return newButton1;
+        }
+
+
+        public void setNewButton1(Button newButton1) {
+            this.newButton1 = newButton1;
+        }
+
+
+        public Button getNewButton2() {
+            return newButton2;
+        }
+
+
+        public void setNewButton2(Button newButton2) {
+            this.newButton2 = newButton2;
+        }
+
+
+        public Button getFilterButton() {
+            return filterButton;
+        }
+
+
+        public void setFilterButton(Button filterButton) {
+            this.filterButton = filterButton;
+        }
+
+        /**
+         * Sets a new label provider for items in the list. If the label provider
+         * also implements {@link
+         * org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider
+         * .IStyledLabelProvider}, the style text labels provided by it will be used
+         * provided that the corresponding preference is set.
+         *
+         * @see IWorkbenchPreferenceConstants#USE_COLORED_LABELS
+         *
+         * @param listLabelProvider
+         *      the label provider for items in the list
+         */
+        public void setListLabelProvider(ILabelProvider listLabelProvider) {
+            getItemsListLabelProvider().setProvider(listLabelProvider);
+        }
+        protected Comparator getItemsComparator() {
+            return new Comparator<UuidAndTitleCache>() {
+                @Override
+                public int compare(UuidAndTitleCache entity1,
+                        UuidAndTitleCache entity2) {
+                    Collator collator = Collator.getInstance();
+                    if (entity1.getUuid().equals(entity2.getUuid())){
+                        return 0;
+                    }
+                    int result = collator.compare(entity1.getTitleCache(), entity2.getTitleCache());
+                    if (result == 0){
+                        result = entity1.getUuid().compareTo(entity2.getUuid());
+                    }
+                    return result;
+                }
+            };
+        }
+
+
+        class ContentProvider implements
+                IStructuredContentProvider {
+
+            private List items;
+
+            /**
+             * Creates new instance of <code>ContentProvider</code>.
+             */
+            public ContentProvider() {
+                this.items = Collections.synchronizedList(new ArrayList(2048));
+            }
+
+            /**
+             * Removes all content items and resets progress message.
+             */
+            public void reset() {
+                this.items.clear();
+
+            }
+
+            public void add(Object item) {
+                this.items.add(item);
+            }
+
+            /**
+             * Refresh dialog.
+             */
+            public void refresh() {
+                scheduleRefresh();
+            }
+
+            /**
+             * Schedule refresh job.
+             */
+            public void scheduleRefresh() {
+                refreshCacheJob.cancelAll();
+                refreshCacheJob.schedule();
+            }
+
+            /*
+             * (non-Javadoc)
+             *
+             * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+             */
+            @Override
+            public Object[] getElements(Object inputElement) {
+                return items.toArray();
+            }
+
+            public int getNumberOfElements() {
+               return items.size();
+            }
+
+            /*
+             * (non-Javadoc)
+             *
+             * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+             */
+            @Override
+            public void dispose() {
+            }
+
+            /*
+             * (non-Javadoc)
+             *
+             * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
+             *      java.lang.Object, java.lang.Object)
+             */
+            @Override
+            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+            }
+
+
+        }
+
+
+
+        public StructuredSelection getCurrentSelection() {
+            return currentSelection;
+        }
+
+        /**
+         * Fills the content provider with matching items.
+         *
+         * @param progressMonitor
+         *            must be used to report search progress. The state of this
+         *            progress monitor reflects the state of the filtering process.
+         * @throws CoreException
+         */
+        protected abstract void fillContentProvider(IProgressMonitor progressMonitor) ;
+
+
+        /**
+         * Refreshes the dialog - has to be called in UI thread.
+         */
+        public void refresh() {
+            if (getList() != null && !getList().getTable().isDisposed()) {
+
+                List lastRefreshSelection = ((StructuredSelection) getList()
+                        .getSelection()).toList();
+                getList().getTable().deselectAll();
+
+                getList().setItemCount(contentProvider.getNumberOfElements());
+                getList().refresh();
+
+                if (getList().getTable().getItemCount() > 0) {
+                    // preserve previous selection
+                    if ( lastRefreshSelection != null
+                            && lastRefreshSelection.size() > 0) {
+                        getList().setSelection(new StructuredSelection(
+                                lastRefreshSelection));
+                    } else {
+
+                        getList().getTable().setSelection(0);
+                        getList().getTable().notifyListeners(SWT.Selection, new Event());
+                    }
+                } else {
+                    getList().setSelection(StructuredSelection.EMPTY);
+                }
+
+            }
+        }
+
+        /**
+         * A job responsible for computing filtered items list presented using
+         * <code>RefreshJob</code>.
+         *
+         * @see FilteredItemsSelectionDialog.RefreshJob
+         *
+         */
+        private class RefreshCacheJob extends Job {
+
+            public RefreshCacheJob() {
+                super(
+                        WorkbenchMessages.FilteredItemsSelectionDialog_cacheRefreshJob);
+                setSystem(true);
+            }
+
+            /**
+             * Stops the job and all sub-jobs.
+             */
+            public void cancelAll() {
+                cancel();
+            }
+
+            /*
+             * (non-Javadoc)
+             *
+             * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
+             */
+            @Override
+            protected IStatus run(IProgressMonitor monitor) {
+                if (monitor.isCanceled()) {
+                    return new Status(IStatus.CANCEL, WorkbenchPlugin.PI_WORKBENCH,
+                            IStatus.CANCEL, EMPTY_STRING, null);
+                }
+
+                if (SearchDialog.this != null) {
+                    SearchDialog.this.fillContentProvider(monitor);
+                }
+
+                return new Status(IStatus.OK, PlatformUI.PLUGIN_ID, IStatus.OK,
+                        EMPTY_STRING, null);
+
+            }
+
+            /*
+             * (non-Javadoc)
+             *
+             * @see org.eclipse.core.runtime.jobs.Job#canceling()
+             */
+            @Override
+            protected void canceling() {
+                super.canceling();
+            }
+
+        }
+
+        private class ItemsListLabelProvider extends StyledCellLabelProvider
+        implements ILabelProviderListener {
+            private ILabelProvider provider;
+
+    /**
+     * Creates a new instance of the class.
+     *
+     * @param provider
+     *            the label provider for all items, not <code>null</code>
+     * @param selectionDecorator
+     *            the decorator for selected items, can be <code>null</code>
+     */
+    public ItemsListLabelProvider(ILabelProvider provider) {
+        Assert.isNotNull(provider);
+        this.provider = provider;
+        this.provider.addListener(this);
+    }
+
+    /**
+     * Sets new label provider.
+     *
+     * @param newProvider
+     *            new label provider for items in the list, not
+     *            <code>null</code>
+     */
+    public void setProvider(ILabelProvider newProvider) {
+        Assert.isNotNull(newProvider);
+        provider.removeListener(this);
+        provider.dispose();
+        provider = newProvider;
+
+        if (provider != null) {
+            provider.addListener(this);
+        }
+    }
+
+
+
+    private boolean isSelected(Object element) {
+        if (element != null && getCurrentSelection() != null) {
+            if (element.equals(getCurrentSelection())) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
+     */
+    private String getText(Object element) {
+        if (element instanceof ItemsListSeparator) {
+            return getSeparatorLabel(((ItemsListSeparator) element)
+                    .getName());
+        }
+        String str = provider.getText(element);
+        return str;
+    }
+
+    private StyledString getStyledText(Object element,
+            IStyledLabelProvider provider) {
+        StyledString string = provider.getStyledText(element);
+
+        return string;
+    }
+
+    @Override
+    public void update(ViewerCell cell) {
+        Object element = cell.getElement();
+
+        if (!(element instanceof ItemsListSeparator)
+                && provider instanceof IStyledLabelProvider) {
+            IStyledLabelProvider styledLabelProvider = (IStyledLabelProvider) provider;
+            StyledString styledString = getStyledText(element,
+                    styledLabelProvider);
+
+            cell.setText(styledString.getString());
+            cell.setStyleRanges(styledString.getStyleRanges());
+            cell.setImage(styledLabelProvider.getImage(element));
+        } else {
+            cell.setText(getText(element));
+
+        }
+        cell.setFont(getFont(element));
+        cell.setForeground(getForeground(element));
+        cell.setBackground(getBackground(element));
+
+        super.update(cell);
+    }
+
+    private String getSeparatorLabel(String separatorLabel) {
+        Rectangle rect = getList().getTable().getBounds();
+
+        int borderWidth = getList().getTable().computeTrim(0, 0, 0, 0).width;
+
+        int imageWidth = WorkbenchImages.getImage(
+                IWorkbenchGraphicConstants.IMG_OBJ_SEPARATOR).getBounds().width;
+
+        int width = rect.width - borderWidth - imageWidth;
+
+        GC gc = new GC(getList().getTable());
+        gc.setFont(getList().getTable().getFont());
+
+        int fSeparatorWidth = gc.getAdvanceWidth('-');
+        int fMessageLength = gc.textExtent(separatorLabel).x;
+
+        gc.dispose();
+
+        StringBuffer dashes = new StringBuffer();
+        int chars = (((width - fMessageLength) / fSeparatorWidth) / 2) - 2;
+        for (int i = 0; i < chars; i++) {
+            dashes.append('-');
+        }
+
+        StringBuffer result = new StringBuffer();
+        result.append(dashes);
+        result.append(" " + separatorLabel + " "); //$NON-NLS-1$//$NON-NLS-2$
+        result.append(dashes);
+        return result.toString().trim();
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
+     */
+    @Override
+    public void addListener(ILabelProviderListener listener) {
+        listeners.add(listener);
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
+     */
+    @Override
+    public void dispose() {
+        provider.removeListener(this);
+        provider.dispose();
+        super.dispose();
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
+     *      java.lang.String)
+     */
+    @Override
+    public boolean isLabelProperty(Object element, String property) {
+        if (provider.isLabelProperty(element, property)) {
+            return true;
+        }
+        return false;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
+     */
+    @Override
+    public void removeListener(ILabelProviderListener listener) {
+        listeners.remove(listener);
+    }
+
+    private Color getBackground(Object element) {
+        if (element instanceof ItemsListSeparator) {
+            return null;
+        }
+        if (provider instanceof IColorProvider) {
+            return ((IColorProvider) provider).getBackground(element);
+        }
+        return null;
+    }
+
+    private Color getForeground(Object element) {
+        if (element instanceof ItemsListSeparator) {
+            return Display.getCurrent().getSystemColor(
+                    SWT.COLOR_WIDGET_NORMAL_SHADOW);
+        }
+        if (provider instanceof IColorProvider) {
+            return ((IColorProvider) provider).getForeground(element);
+        }
+        return null;
+    }
+
+    private Font getFont(Object element) {
+        if (element instanceof ItemsListSeparator) {
+            return null;
+        }
+        if (provider instanceof IFontProvider) {
+            return ((IFontProvider) provider).getFont(element);
+        }
+        return null;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.viewers.ILabelProviderListener#labelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent)
+     */
+    @Override
+    public void labelProviderChanged(LabelProviderChangedEvent event) {
+        Object[] l = listeners.getListeners();
+        for (int i = 0; i < listeners.size(); i++) {
+            ((ILabelProviderListener) l[i]).labelProviderChanged(event);
+        }
+    }
+}
+
+    @Override
+    protected Point getInitialSize() {
+        return new Point(593, 399);
+    }
+
+
+
+}
+
+
index 092af2aeca4ee8ddddaed34c2d3e2416ded5a5cb..23dfb3d67149c03738df2937109485e379c0ec4e 100644 (file)
@@ -10,7 +10,6 @@ package eu.etaxonomy.taxeditor.ui.dialog.selection;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Institution;
@@ -57,63 +56,81 @@ import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement;
  */
 public class SelectionDialogFactory {
 
-    public static <T extends ICdmBase> T getSelectionFromDialog(Class<T> clazz, Shell shell, ConversationHolder conversation, T currentSelection){
-        return getSelectionFromDialog(clazz, shell, conversation, currentSelection, null);
+    public static <T extends ICdmBase> T getSelectionFromDialog(Class<T> clazz, Shell shell, //ConversationHolder conversation,
+            T currentSelection){
+        return getSelectionFromDialog(clazz, shell, //conversation,
+                currentSelection, null);
     }
 
-       public static <T extends ICdmBase> T getSelectionFromDialog(Class<T> clazz, Shell shell, ConversationHolder conversation, T currentSelection, ICdmFormElement parentElement){
+       public static <T extends ICdmBase> T getSelectionFromDialog(Class<T> clazz, Shell shell, //ConversationHolder conversation,
+               T currentSelection, ICdmFormElement parentElement){
 
                if(clazz.equals(Taxon.class)){
-                       return (T) TaxonBaseSelectionDialog.selectTaxon(shell, conversation, (Taxon) currentSelection);
+                       return (T) TaxonBaseSelectionDialog.selectTaxon(shell, //conversation,
+                               (Taxon) currentSelection);
                }
                if(clazz.equals(Synonym.class)){
-                       return (T) TaxonBaseSelectionDialog.selectSynonym(shellconversation);
+                       return (T) TaxonBaseSelectionDialog.selectSynonym(shell );//,conversation);
                }
                if(clazz.equals(TaxonBase.class)){
-                       return (T) TaxonBaseSelectionDialog.selectTaxonBase(shell, conversation);
+                       return (T) TaxonBaseSelectionDialog.selectTaxonBase(shell);//, conversation);
                }
                if(clazz.equals(Classification.class)){
-                       return (T) ClassificationSelectionDialog.select(shell, conversation, (Classification) currentSelection);
+                       return (T) ClassificationSelectionDialog.select(shell, //conversation,
+                               (Classification) currentSelection);
                }
                if(clazz.equals(TaxonNode.class)){
-                       return (T) TaxonNodeSelectionDialog.select(shell, conversation, null, null, (TaxonNode) currentSelection, ((TaxonNode) currentSelection).getClassification());
+                       return (T) TaxonNodeSelectionDialog.select(shell, //conversation,
+                               null, null, (TaxonNode) currentSelection, ((TaxonNode) currentSelection).getClassification());
                }
                if(clazz.equals(Reference.class) && parentElement instanceof NomenclaturalReferenceDetailElement){
-                       return (T) NomenclaturalReferenceSelectionDialog.select(shell, conversation, (Reference) currentSelection, ((NomenclaturalReferenceDetailElement)parentElement).getEntity().getCombinationAuthorship());
+                       return (T) NomenclaturalReferenceSelectionDialog.select(shell, //conversation,
+                               (Reference) currentSelection, ((NomenclaturalReferenceDetailElement)parentElement).getEntity().getCombinationAuthorship());
                }
                if(clazz.equals(Reference.class)){
                    if (parentElement instanceof ReferenceDetailElement){
-                       return (T) ReferenceSelectionDialog.select(shell, conversation, ((ReferenceDetailElement) parentElement).getEntity(), true);
+                       return (T) ReferenceSelectionDialog.select(shell, //conversation,
+                               ((ReferenceDetailElement) parentElement).getEntity(), true);
                    }
-                       return (T) ReferenceSelectionDialog.select(shell, conversation, (Reference) currentSelection);
+                       return (T) ReferenceSelectionDialog.select(shell, //conversation,
+                               (Reference) currentSelection);
                }
 
                if(clazz.equals(TaxonName.class)){
-                       return (T) NameSelectionDialog.select(shell, conversation, (TaxonName) currentSelection);
+                       return (T) NameSelectionDialog.select(shell, //conversation,
+                               (TaxonName) currentSelection);
                }
                if(clazz.equals(Team.class)){
-                       return (T) TeamSelectionDialog.select(shell, conversation, (Team) currentSelection);
+                       return (T) TeamSelectionDialog.select(shell, //conversation,
+                               (Team) currentSelection);
                }
                if(clazz.equals(TeamOrPersonBase.class) && parentElement instanceof AuthorshipDetailElement){
-            return (T) NomenclaturalAuthorSelectionDialog.select(shell, conversation, (AgentBase) currentSelection, false);
+            return (T) NomenclaturalAuthorSelectionDialog.select(shell, //conversation,
+                    (AgentBase) currentSelection, false);
         }else if(clazz.equals(TeamOrPersonBase.class)){
                    //TODO: add TeamOrPersonBaseSelectionDialog (see ticket #4545)
-                   return (T) AgentSelectionDialog.select(shell, conversation, (AgentBase) currentSelection, false);
+                   return (T) AgentSelectionDialog.select(shell, //conversation,
+                           (AgentBase) currentSelection, false);
                }
                if(clazz.equals(Person.class) && parentElement instanceof TeamMemberElement){
-                   return (T) NomenclaturalPersonAuthorSelectionDialog.select(shell, conversation, (AgentBase) currentSelection, true);
+                   return (T) NomenclaturalPersonAuthorSelectionDialog.select(shell, //conversation,
+                           (AgentBase) currentSelection, true);
         }
                if(clazz.equals(AgentBase.class)){
-                       return (T) AgentSelectionDialog.select(shell, conversation, (AgentBase) currentSelection, false);
+                       return (T) AgentSelectionDialog.select(shell, //conversation,
+                               (AgentBase) currentSelection, false);
                }
                if(clazz.equals(Feature.class)){
-                       return (T) FeatureSelectionDialog.select(shell, conversation, (Feature) currentSelection);
+                       return (T) FeatureSelectionDialog.select(shell, //conversation,
+                               (Feature) currentSelection);
                }
                if(clazz.equals(FeatureTree.class)){
-                       return (T) FeatureTreeSelectionDialog.select(shell, conversation, (FeatureTree) currentSelection);
+                       return (T) FeatureTreeSelectionDialog.select(shell, //conversation,
+                               (FeatureTree) currentSelection);
                }
                if(clazz.equals(PolytomousKey.class)){
-                       return (T) PolytomousKeySelectionDialog.select(shell, conversation, (PolytomousKey) currentSelection);
+                       return (T) PolytomousKeySelectionDialog.select(shell, //conversation,
+                               (PolytomousKey) currentSelection);
                }
                if(clazz.equals(PolytomousKeyNode.class)){
                        MessagingUtils.warningDialog("Not implemented yet", SelectionDialogFactory.class,
@@ -121,54 +138,76 @@ public class SelectionDialogFactory {
                        return null;
                }
                if(clazz.equals(DerivedUnit.class)){
-                   return (T) DerivedUnitSelectionDialog.select(shell, conversation, (DerivedUnit) currentSelection);
+                   return (T) DerivedUnitSelectionDialog.select(shell, //conversation,
+                           (DerivedUnit) currentSelection);
                }
                if(clazz.equals(FieldUnit.class)){
-                   return (T) FieldUnitSelectionDialog.select(shell, conversation, (FieldUnit) currentSelection);
+                   return (T) FieldUnitSelectionDialog.select(shell, //conversation,
+                           (FieldUnit) currentSelection);
                }
                if(clazz.equals(SpecimenOrObservationBase.class)){
-                   return (T) SpecimenOrObservationBaseSelectionDialog.select(shell, conversation, (SpecimenOrObservationBase) currentSelection);
+                   return (T) SpecimenOrObservationBaseSelectionDialog.select(shell, //conversation,
+                           (SpecimenOrObservationBase) currentSelection);
                }
                if(clazz.equals(NamedArea.class)){
                    if(parentElement instanceof IEntityElement && ((IEntityElement) parentElement).getEntity() instanceof DerivedUnitFacade){
-                       return (T) NamedAreaSelectionDialog.select(shell, conversation, (NamedArea) currentSelection, DerivedUnit.class.getCanonicalName(), Country.uuidCountryVocabulary);
+                       return (T) NamedAreaSelectionDialog.select(shell, //conversation,
+                               (NamedArea) currentSelection, DerivedUnit.class.getCanonicalName(), Country.uuidCountryVocabulary);
                    }
                    else{
-                       return (T) NamedAreaSelectionDialog.select(shell, conversation, (NamedArea) currentSelection, parentElement.getClass().getCanonicalName());
+                       return (T) NamedAreaSelectionDialog.select(shell, //conversation,
+                               (NamedArea) currentSelection, parentElement.getClass().getCanonicalName());
                    }
                }
                if(clazz.equals(Collection.class)){
-                       return (T) CollectionSelectionDialog.select(shell, conversation, (Collection) currentSelection);
+                       return (T) CollectionSelectionDialog.select(shell, //conversation,
+                               (Collection) currentSelection);
                }
                if(clazz.equals(User.class)){
-                       return (T) UserSelectionDialog.select(shell, conversation, (User) currentSelection);
+                       return (T) UserSelectionDialog.select(shell, //conversation,
+                               (User) currentSelection);
                }
                if(clazz.equals(GrantedAuthorityImpl.class)){
-                       return (T) GrantedAuthoritySelectionDialog.select(shell, conversation, (GrantedAuthorityImpl) currentSelection);
+                       return (T) GrantedAuthoritySelectionDialog.select(shell, //conversation,
+                               (GrantedAuthorityImpl) currentSelection);
                }
                if (clazz.equals(Person.class)){
-                       return (T) PersonSelectionDialog.select(shell, conversation, (Person) currentSelection);
+                       return (T) PersonSelectionDialog.select(shell, //conversation,
+                               (Person) currentSelection);
                }
                if(clazz.equals(Group.class)){
-                       return (T) GroupSelectionDialog.select(shell, conversation, (Group) currentSelection);
+                       return (T) GroupSelectionDialog.select(shell, //conversation,
+                               (Group) currentSelection);
                }
                if(clazz.equals(Institution.class)){
-                       return (T) InstitutionSelectionDialog.select(shell, conversation, (Institution) currentSelection);
+                       return (T) InstitutionSelectionDialog.select(shell, //conversation,
+                               (Institution) currentSelection);
                }
                if(clazz.equals(Primer.class)){
-                   return (T) PrimerSelectionDialog.select(shell, conversation, (Primer) currentSelection);
+                   return (T) PrimerSelectionDialog.select(shell, //conversation,
+                           (Primer) currentSelection);
                }
                if(clazz.equals(Amplification.class)){
-                   return (T) AmplificationSelectionDialog.select(shell, conversation, (Amplification) currentSelection);
+                   return (T) AmplificationSelectionDialog.select(shell, //conversation,
+                           (Amplification) currentSelection);
                }
                if(clazz.equals(Media.class)){
-                   return (T) MediaSelectionDialog.select(shell, conversation, (Media) currentSelection);
+                   return (T) MediaSelectionDialog.select(shell, //conversation,
+                           (Media) currentSelection);
                }
                if(clazz.equals(Rights.class)){
-            return (T) RightsSelectionDialog.select(shell, conversation, (Rights) currentSelection);
+            return (T) RightsSelectionDialog.select(shell, //conversation,
+                    (Rights) currentSelection);
         }
 
                return null;
        }
 
+       public static <T extends ICdmBase> T getSelectionFromExtDialog(Class<T> clazz, Shell shell, //ConversationHolder conversation,
+               ICdmFormElement parentElement){
+           return (T) ExtReferenceSelectionDialog.select(shell, //conversation,
+                   null);
+       }
+
+
 }
index 5cb05cbd2ea46d1d02dbbee2db97538220724100..643501dfbd403faf3a2cd0bf5a2ba25f8d6d00d3 100644 (file)
@@ -13,7 +13,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
@@ -27,16 +26,18 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class SpecimenOrObservationBaseSelectionDialog extends
                AbstractFilteredCdmResourceSelectionDialog<SpecimenOrObservationBase> {
 
-       public static SpecimenOrObservationBase select(Shell shell, ConversationHolder conversation, SpecimenOrObservationBase observation){
-               SpecimenOrObservationBaseSelectionDialog dialog = new SpecimenOrObservationBaseSelectionDialog(shell, conversation,
+       public static SpecimenOrObservationBase select(Shell shell, //ConversationHolder conversation,
+               SpecimenOrObservationBase observation){
+               SpecimenOrObservationBaseSelectionDialog dialog = new SpecimenOrObservationBaseSelectionDialog(shell, //conversation,
                                "Choose field unit or derived unit", false, SpecimenOrObservationBaseSelectionDialog.class.getCanonicalName(), observation);
                return getSelectionFromDialog(dialog);
        }
 
-       protected SpecimenOrObservationBaseSelectionDialog(Shell shell, ConversationHolder conversation,
+       protected SpecimenOrObservationBaseSelectionDialog(Shell shell, //ConversationHolder conversation,
                        String title, boolean multi, String settings,
                        SpecimenOrObservationBase cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /** {@inheritDoc} */
@@ -48,9 +49,9 @@ public class SpecimenOrObservationBaseSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-               model = CdmStore.getService(IOccurrenceService.class).getUuidAndTitleCache(null, null);
-       }
+       protected void callService(String pattern) {
+           model =CdmStore.getService(IOccurrenceService.class).getUuidAndTitleCache(limitOfInitialElements,pattern);
+    }
 
        /** {@inheritDoc} */
        @Override
@@ -60,7 +61,7 @@ public class SpecimenOrObservationBaseSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "field unit/derived unit");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Field Unit/Derived Unit"};
        }
 }
index 145ce16c6944992724b5da1872e512dcff05c2a5..86ecfcc1eeffb469811a33379f8ec5c889bf454e 100644 (file)
@@ -29,15 +29,15 @@ public class SpecimenOrObservationTypeSelectionDialog extends
         * @return a {@link eu.etaxonomy.cdm.model.common.OriginalSourceType} object.
         */
        public static SpecimenOrObservationType select(Shell shell, ConversationHolder conversation){
-               SpecimenOrObservationTypeSelectionDialog dialog = 
-                               new SpecimenOrObservationTypeSelectionDialog(shell, 
+               SpecimenOrObservationTypeSelectionDialog dialog =
+                               new SpecimenOrObservationTypeSelectionDialog(shell,
                                                conversation,
-                                               "Choose Specimen / Observation Type", 
-                                               false, 
+                                               "Choose Specimen / Observation Type",
+                                               false,
                                                SpecimenOrObservationTypeSelectionDialog.class.getCanonicalName());
                return getSelectionFromDialog(dialog);
        }
-       
+
        /**
         * <p>Constructor for FilteredDerivedUnitSelectionDialog.</p>
         *
@@ -47,10 +47,10 @@ public class SpecimenOrObservationTypeSelectionDialog extends
         * @param multi a boolean.
         * @param settings a {@link java.lang.String} object.
         */
-       protected SpecimenOrObservationTypeSelectionDialog(Shell shell, 
-                       ConversationHolder conversation, 
+       protected SpecimenOrObservationTypeSelectionDialog(Shell shell,
+                       ConversationHolder conversation,
                        String title,
-                       boolean multi, 
+                       boolean multi,
                        String settings) {
                super(shell, conversation, title, multi, settings, SpecimenOrObservationType.Unknown);
        }
@@ -60,7 +60,7 @@ public class SpecimenOrObservationTypeSelectionDialog extends
        @Override
        protected void initModel() {
                model = new ArrayList<SpecimenOrObservationType>();
-               model.addAll(EnumSet.allOf(SpecimenOrObservationType.class));           
+               model.addAll(EnumSet.allOf(SpecimenOrObservationType.class));
        }
 
        /** {@inheritDoc} */
index eac5330a67284cfa85369009b19a7da591e3e1ec..4d2f9957c58823d335b3c4d98fa5e4c068fa68e8 100644 (file)
@@ -12,11 +12,8 @@ package eu.etaxonomy.taxeditor.ui.dialog.selection;
 import java.util.List;
 import java.util.UUID;
 
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.ITaxonService;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
@@ -33,33 +30,36 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class TaxonBaseSelectionDialog extends AbstractFilteredCdmResourceSelectionDialog<TaxonBase> {
 
 
-    public static TaxonBase selectTaxonBase(Shell shell, ConversationHolder conversation) {
-        AbstractFilteredCdmResourceSelectionDialog<TaxonBase> dialog = new TaxonBaseSelectionDialog(TaxonBase.class, shell, conversation,
+    public static TaxonBase selectTaxonBase(Shell shell){//, ConversationHolder conversation) {
+        AbstractFilteredCdmResourceSelectionDialog<TaxonBase> dialog = new TaxonBaseSelectionDialog(TaxonBase.class, shell, //conversation,
                 "Choose a taxon/synonym", false, null, null);
         return getSelectionFromDialog(dialog);
     }
 
-    public static Taxon selectTaxon(Shell shell, ConversationHolder conversation, Taxon taxonToBeFiltered) {
+    public static Taxon selectTaxon(Shell shell, //ConversationHolder conversation,
+            Taxon taxonToBeFiltered) {
 
 
-        AbstractFilteredCdmResourceSelectionDialog<TaxonBase> dialog = new TaxonBaseSelectionDialog(Taxon.class, shell, conversation,
+        AbstractFilteredCdmResourceSelectionDialog<TaxonBase> dialog = new TaxonBaseSelectionDialog(Taxon.class, shell, //conversation,
                 "Choose a taxon", false, null, taxonToBeFiltered);
         return (Taxon) getSelectionFromDialog(dialog);
     }
 
-    public static Synonym selectSynonym(Shell shell, ConversationHolder conversation) {
-        AbstractFilteredCdmResourceSelectionDialog<TaxonBase> dialog = new TaxonBaseSelectionDialog(Synonym.class, shell, conversation,
+    public static Synonym selectSynonym(Shell shell){//, ConversationHolder conversation) {
+        AbstractFilteredCdmResourceSelectionDialog<TaxonBase> dialog = new TaxonBaseSelectionDialog(Synonym.class, shell, //conversation,
                 "Choose a synonym", false, null, null);
         return (Synonym) getSelectionFromDialog(dialog);
     }
 
     private final Class<? extends TaxonBase> clazz;
 
-    protected TaxonBaseSelectionDialog(Class<? extends TaxonBase> clazz, Shell shell, ConversationHolder conversation, String title, boolean multi, TaxonBase taxon, TaxonBase taxonToBeFiltered) {
-        super(shell, conversation, title, multi, TaxonBaseSelectionDialog.class.getCanonicalName(), taxon);
+    protected TaxonBaseSelectionDialog(Class<? extends TaxonBase> clazz, Shell shell, //ConversationHolder conversation,
+            String title, boolean multi, TaxonBase taxon, TaxonBase taxonToBeFiltered) {
+        super(shell, //conversation,
+                title, multi, TaxonBaseSelectionDialog.class.getCanonicalName(), taxon);
         this.cdmBaseToBeFiltered = taxonToBeFiltered;
         this.clazz = clazz;
-        initModel();
+        search();
     }
 
     /** {@inheritDoc} */
@@ -71,18 +71,8 @@ public class TaxonBaseSelectionDialog extends AbstractFilteredCdmResourceSelecti
     /** {@inheritDoc} */
     @SuppressWarnings({ "unchecked", "rawtypes" })
        @Override
-    protected void initModel() {
-        Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-
-        if (pattern == null || pattern.equals("?")){
-            model = (List)CdmStore.getService(ITaxonService.class).getUuidAndTitleCache(Taxon.class, null, null);
-        }else{
-            model = (List)CdmStore.getService(ITaxonService.class).getUuidAndTitleCache(Taxon.class, limitOfInitialElements, pattern);
-        }
+    protected void callService(String pattern) {
+        model = (List)CdmStore.getService(ITaxonService.class).getUuidAndTitleCache(Taxon.class, limitOfInitialElements, pattern);
     }
 
     /** {@inheritDoc} */
@@ -93,7 +83,7 @@ public class TaxonBaseSelectionDialog extends AbstractFilteredCdmResourceSelecti
 
     /** {@inheritDoc} */
     @Override
-    protected String getNewWizardLinkText() {
-        return String.format("Create a new <a>%1s</a>", "Taxon ");
+    protected String[] getNewWizardText() {
+        return new String[]{"New Taxon"};
     }
 }
index 09e106b5ff26a99d0d571367810bccb73bb52e8e..b25f02f1ff1b6576810cf907c9204df4a9bcd77d 100644 (file)
@@ -19,9 +19,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IClassificationService;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
@@ -34,9 +32,10 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelectionDialog<TaxonNode> implements SelectionListener{
 
-       public static TaxonNode select(Shell shell, ConversationHolder conversation, String title, List<UUID> excludeTaxa, TaxonNode node, Classification classification) {
+       public static TaxonNode select(Shell shell, //ConversationHolder conversation,
+               String title, List<UUID> excludeTaxa, TaxonNode node, Classification classification) {
                TaxonNodeSelectionDialog dialog = new TaxonNodeSelectionDialog(shell,
-                               conversation,
+                               //conversation,
                                title,
                                excludeTaxa,
                                false,
@@ -52,24 +51,29 @@ public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelecti
        private Classification selectedClassification;
        private final List<UUID> excludeTaxa;
 
-       protected TaxonNodeSelectionDialog(Shell shell, ConversationHolder conversation, String title, List<UUID> excludeTaxa, boolean multi, TaxonNode node, Classification classification) {
-               super(shell, conversation, title, multi, TaxonNodeSelectionDialog.class.getCanonicalName(), node);
+       protected TaxonNodeSelectionDialog(Shell shell, //ConversationHolder conversation,
+               String title, List<UUID> excludeTaxa, boolean multi, TaxonNode node, Classification classification) {
+               super(shell, //conversation,
+                       title, multi, TaxonNodeSelectionDialog.class.getCanonicalName(), node);
 
                ILabelProvider labelProvider = new FilteredCdmResourceLabelProvider();
 
                setListLabelProvider(labelProvider);
-               setDetailsLabelProvider(labelProvider);
+//             setDetailsLabelProvider(labelProvider);
                this.excludeTaxa = excludeTaxa;
                if(classification != null){
                        selectedClassification = classification;
                }
-               initModel();
+
+               fillClassifications();
+               createClassificationSelectionCombo(shell);
        }
 
        /** {@inheritDoc} */
        @Override
-       protected Control createExtendedContentArea(Composite parent) {
-               return createClassificationSelectionCombo(parent);
+       protected Control createDialogArea(Composite parent) {
+           Composite container = (Composite) super.createDialogArea(parent);
+               return createClassificationSelectionCombo(container);
        }
 
        /*
@@ -123,18 +127,12 @@ public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelecti
 
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-               // default to first tree
-               // TODO this will be problematic and can only be seen as workaround
-
-           Control control = getPatternControl();
-        String pattern = null;
-        if (control != null){
-            pattern = ((Text)control).getText();
-        }
-
+       protected void callService(String pattern) {
+           model = CdmStore.getService(IClassificationService.class).getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification.getUuid(), limitOfInitialElements, pattern);
+       }
 
-               if(classifications == null){
+    private void fillClassifications() {
+        if(classifications == null){
                        classifications = CdmStore.getService(IClassificationService.class).list(null, null, null, null, null);
                        Collections.sort(classifications, new Comparator<Classification>() {
 
@@ -150,18 +148,15 @@ public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelecti
                     return result;
                 }
             });
-                       if (this.cdmBaseToBeFiltered == null){
-                           selectedClassification = classifications.iterator().next();
-                       } else {
+                       if (selectedClassification == null){
+                           if (this.cdmBaseToBeFiltered == null){
+                               selectedClassification = classifications.iterator().next();
+                           } else {
                            selectedClassification = this.cdmBaseToBeFiltered.getClassification();
+                           }
                        }
                }
-               if (pattern == null || pattern.equals("?")){
-                   model = CdmStore.getService(IClassificationService.class).getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification.getUuid(),  limitOfInitialElements, pattern);
-               }else{
-                   model = CdmStore.getService(IClassificationService.class).getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(selectedClassification.getUuid(),  null, null);
-               }
-       }
+    }
 
        /** {@inheritDoc} */
        @Override
@@ -171,7 +166,7 @@ public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelecti
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
+       protected String[] getNewWizardText() {
                return null;
        }
 
@@ -181,7 +176,9 @@ public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelecti
                selectedClassification = classifications.get(classificationSelectionCombo.getSelectionIndex());
 
 //             refresh();
-               setPattern(null);
+               if (getSearchField().getText() != null){
+                   search();
+               }
        }
 
        /** {@inheritDoc} */
index 275a5d56d5d100c990221f0b436559b0640eb483..b3b872f374037580b0ab92339e9c616b01887ae1 100644 (file)
@@ -5,21 +5,21 @@ import java.util.UUID;
 \r
 import org.eclipse.swt.widgets.Shell;\r
 \r
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
 import eu.etaxonomy.cdm.model.taxon.Classification;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
 \r
 public class TaxonNodeSelectionNaturalOrderDialog extends\r
                TaxonNodeSelectionDialog {\r
 \r
-       protected TaxonNodeSelectionNaturalOrderDialog(Shell shell,\r
-                       ConversationHolder conversation, String title,\r
+       protected TaxonNodeSelectionNaturalOrderDialog(Shell shell,//ConversationHolder conversation,\r
+               String title,\r
                        List<UUID> excludeTaxa, boolean multi, TaxonNode node,\r
                        Classification classification) {\r
-               super(shell, conversation, title, excludeTaxa, multi, node, classification);\r
+               super(shell, //conversation,\r
+                       title, excludeTaxa, multi, node, classification);\r
                // TODO Auto-generated constructor stub\r
        }\r
-       \r
-       \r
+\r
+\r
 \r
 }\r
index f1e131c0ea86203ff39ec9abfb17c75bb260af21..787092116a72cc113ad9631ef81c66e4d690379b 100644 (file)
@@ -13,7 +13,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.cdm.model.common.CdmBase;
@@ -39,8 +38,9 @@ public class TeamSelectionDialog extends
         * @param team a {@link eu.etaxonomy.cdm.model.agent.Team} object.
         * @return a {@link eu.etaxonomy.cdm.model.agent.Team} object.
         */
-       public static Team select(Shell shell, ConversationHolder conversation, Team team){
-               TeamSelectionDialog dialog = new TeamSelectionDialog(shell, conversation,
+       public static Team select(Shell shell, //ConversationHolder conversation,
+               Team team){
+               TeamSelectionDialog dialog = new TeamSelectionDialog(shell, //conversation,
                                "Choose Team", false, TeamSelectionDialog.class.getCanonicalName(), team);
                return getSelectionFromDialog(dialog);
        }
@@ -55,19 +55,21 @@ public class TeamSelectionDialog extends
         * @param cdmObject a {@link eu.etaxonomy.cdm.model.agent.Team} object.
         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
         */
-       protected TeamSelectionDialog(Shell shell, ConversationHolder conversation,
+       protected TeamSelectionDialog(Shell shell, //ConversationHolder conversation,
                        String title, boolean multi, String settings,
                        Team cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        /** {@inheritDoc} */
        @Override
-       protected void initModel() {
-               model = CdmStore.getService(IAgentService.class).getTeamUuidAndTitleCache();
+       protected void callService(String pattern) {
+               model = CdmStore.getService(IAgentService.class).getUuidAndTitleCache(Team.class, limitOfInitialElements, pattern);
+
        }
 
        /** {@inheritDoc} */
@@ -78,8 +80,8 @@ public class TeamSelectionDialog extends
 
        /** {@inheritDoc} */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "Team ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New Team"};
        }
 
        /** {@inheritDoc} */
index c1683b1b34a5467dee8547c35f60b8759e6073f0..0f5e9da0550761b7b27a4221fa6ddcc3d9aa0439 100644 (file)
@@ -15,7 +15,6 @@ import java.util.UUID;
 
 import org.eclipse.swt.widgets.Shell;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IUserService;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
@@ -38,8 +37,9 @@ public class UserSelectionDialog extends
         * @param user
         * @return
         */
-       public static User select(Shell shell, ConversationHolder conversation, User user){
-               UserSelectionDialog dialog = new UserSelectionDialog(shell, conversation,
+       public static User select(Shell shell, //ConversationHolder conversation,
+               User user){
+               UserSelectionDialog dialog = new UserSelectionDialog(shell, //conversation,
                                "Choose User", false, UserSelectionDialog.class.getCanonicalName(), user);
                return getSelectionFromDialog(dialog);
        }
@@ -52,22 +52,25 @@ public class UserSelectionDialog extends
         * @param settings
         * @param cdmObject
         */
-       protected UserSelectionDialog(Shell shell, ConversationHolder conversation,
+       protected UserSelectionDialog(Shell shell, //ConversationHolder conversation,
                        String title, boolean multi, String settings, User cdmObject) {
-               super(shell, conversation, title, multi, settings, cdmObject);
+               super(shell, //conversation,
+                       title, multi, settings, cdmObject);
        }
 
        /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#search
         */
        @Override
-       protected void initModel() {
+       protected void callService(String pattern) {
                List<User> users = CdmStore.getService(IUserService.class).list(User.class, null, null, null, null);
 
                model = new ArrayList<UuidAndTitleCache<User>>();
 
                for(User user : users){
-                       model.add(new UuidAndTitleCache<User>(User.class, user.getUuid(), user.getId(), String.format("%s, %s", user.getUsername(), user.getPerson())));
+                   if (user.getUsername().matches(pattern)) {
+                model.add(new UuidAndTitleCache<User>(User.class, user.getUuid(), user.getId(), String.format("%s, %s", user.getUsername(), user.getPerson())));
+            }
                }
        }
 
@@ -75,8 +78,8 @@ public class UserSelectionDialog extends
         * @see eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
         */
        @Override
-       protected String getNewWizardLinkText() {
-               return String.format("Create a new <a>%1s</a>", "User ");
+       protected String[] getNewWizardText() {
+               return new String[]{"New User"};
        }
 
        /* (non-Javadoc)
index 55668cb9ac56316dec09271ee99b773d2c872638..7e1496522e3773d8b0f8ee5bde7471781639c873 100644 (file)
@@ -538,7 +538,9 @@ public class CdmFormFactory extends FormToolkit {
             if (control.equals(formElement.getLayoutComposite())) {
                 continue;
             } else {
-                control.dispose();
+                if (control != null && !control.isDisposed()){
+                    control.dispose();
+                }
                 control = null;
             }
         }
@@ -2799,7 +2801,8 @@ public class CdmFormFactory extends FormToolkit {
     public <T extends CdmBase> EntitySelectionElement<T> createSelectionElement(Class<T> clazz,
             ConversationHolder conversation, ICdmFormElement parentElement, String labelString, T selection, int mode,
             int style, boolean filterElement) {
-        EntitySelectionElement<T> element = new EntitySelectionElement<T>(this, conversation, parentElement, clazz,
+        EntitySelectionElement<T> element = new EntitySelectionElement<T>(this, //conversation,
+                parentElement, clazz,
                 labelString, selection, mode, style, filterElement);
         adapt(element);
         parentElement.addElement(element);
@@ -2807,9 +2810,11 @@ public class CdmFormFactory extends FormToolkit {
     }
 
     public <T extends CdmBase> EntitySelectionElement<T> createSelectionElement(Class<T> clazz,
-            ConversationHolder conversation, ICdmFormElement parentElement, String labelString, T selection, int mode,
+//            ConversationHolder conversation,
+            ICdmFormElement parentElement, String labelString, T selection, int mode,
             int style) {
-        EntitySelectionElement<T> element = new EntitySelectionElement<T>(this, conversation, parentElement, clazz,
+        EntitySelectionElement<T> element = new EntitySelectionElement<T>(this, //conversation,
+                parentElement, clazz,
                 labelString, selection, mode, style);
         adapt(element);
         parentElement.addElement(element);
@@ -2851,7 +2856,8 @@ public class CdmFormFactory extends FormToolkit {
     public <T extends CdmBase> EntitySelectionElementWithAbbreviatedTitle<T> createSelectionElementWithAbbreviatedTitle(
             Class<T> clazz, ConversationHolder conversation, ICdmFormElement parentElement, String labelString,
             T selection, int mode, int style) {
-        EntitySelectionElementWithAbbreviatedTitle<T> element = new EntitySelectionElementWithAbbreviatedTitle<T>(this, conversation, parentElement, clazz,
+        EntitySelectionElementWithAbbreviatedTitle<T> element = new EntitySelectionElementWithAbbreviatedTitle<T>(this, //conversation,
+                parentElement, clazz,
                 labelString, selection, mode, style);
         adapt(element);
         parentElement.addElement(element);
@@ -2860,7 +2866,8 @@ public class CdmFormFactory extends FormToolkit {
 
     public TaxonNodeSelectionElement createTaxonNodeSelectionElement(ConversationHolder conversation,
             ICdmFormElement parentElement, String labelString, TaxonNode selection, int mode, int style) {
-        TaxonNodeSelectionElement element = new TaxonNodeSelectionElement(this, conversation, parentElement,
+        TaxonNodeSelectionElement element = new TaxonNodeSelectionElement(this, //conversation,
+                parentElement,
                 labelString, selection, mode, style);
         adapt(element);
         parentElement.addElement(element);
index 608be8118652e48576d63afb74700b6b61d41188..370afa3437a8f598bcdf66063f339fd13276d3c4 100644 (file)
@@ -318,7 +318,7 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
                        Integer referencingObjectsCount = CdmStore.getCommonService().getReferencingObjectsCount(cdmBase);
 
                        if (referencingObjectsCount > 1){
-                               setWarnForReferencedObjects(formFactory.createLabel(formElement, CdmUtils.Nz("The reference is referenced by " + referencingObjectsCount+ " objects, if you change it, it is changed for all these objects")));
+                               setWarnForReferencedObjects(formFactory.createLabel(formElement, CdmUtils.Nz("The "+ cdmBase.getUserFriendlyTypeName()+" is referenced by " + referencingObjectsCount+ " objects, if you change it, it is changed for all these objects")));
                                getWarnForReferencedObjects().setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
                                getWarnForReferencedObjects().setLayout(LayoutConstants.FILL(2, 3));
                                getWarnForReferencedObjects().setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
index a9ffb6378446b426a4b5d0449eef9e94508e6202..0fb16db17bc93a2ec120e6e4a2367fada3016125 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -43,7 +43,7 @@ public class InstitutionDetailElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
         * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
@@ -52,7 +52,7 @@ public class InstitutionDetailElement extends
        protected void createControls(ICdmFormElement formElement,
                        Institution entity, int style) {
                this.setWarnForReferencingObjects(formElement);
-                       
+
                text_name = formFactory.createTextWithLabelElement(formElement, "Name",
                                entity.getName(), style);
                text_code = formFactory.createTextWithLabelElement(formElement, "Code",
@@ -60,15 +60,16 @@ public class InstitutionDetailElement extends
                // section_institutionTypes
                selection_partOfInstitution = formFactory
                                .createSelectionElement(Institution.class,
-                                               getConversationHolder(), formElement, "Is Part Of",
+                                               //getConversationHolder(),
+                                       formElement, "Is Part Of",
                                                entity.getIsPartOf(),
-                                               EntitySelectionElement.EDITABLE | EntitySelectionElement.SELECTABLE | EntitySelectionElement.DELETABLE, 
+                                               EntitySelectionElement.EDITABLE | EntitySelectionElement.SELECTABLE | EntitySelectionElement.DELETABLE,
                                                style);
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
         * .lang.Object)
index 0bcaed53abaffb39016259ec683b07243efcf23b..3d2073e8e63fdc5ba9c0bc9db9f8dc6e9f13653c 100644 (file)
@@ -43,7 +43,8 @@ public class TeamMemberElement extends AbstractEntityCollectionElement<Person> {
        public void createControls(ICdmFormElement element, int style) {
                selection_person = formFactory
                                .createSelectionElement(Person.class,
-                                               getConversationHolder(), this, "Person", null,
+                                               //getConversationHolder(),
+                                       this, "Person", null,
                                                EntitySelectionElement.EDITABLE | EntitySelectionElement.SELECTABLE,
                                                style);
        }
index 96ecc71de97da3f5c3504d900e106c0162de3971..af7e05f289a075baf04bc0feff56c75bb1661570 100644 (file)
@@ -79,7 +79,8 @@ public class ClassificationDetailElement extends
        protected void createControls(ICdmFormElement formElement,
                Classification entity, int style) {
            text_treeLabel = formFactory.createTextWithLabelElement(formElement, "Label", entity != null ? entity.getName().getText() : null, SWT.NULL);
-           selection_reference = formFactory.createSelectionElement(Reference.class, getConversationHolder(), formElement, "Reference",
+           selection_reference = formFactory.createSelectionElement(Reference.class, //getConversationHolder(),
+                   formElement, "Reference",
                    entity != null ? entity.getReference() : null, EntitySelectionElement.ALL, SWT.NULL);
            text_microReference = formFactory.createTextWithLabelElement(formElement, "Reference Detail",
                    entity != null ? entity.getMicroReference() : null, SWT.NULL);
index a82f21223c2117c31b6e54ac8111af8dac3914b5..d0d9db187e898f86f5286e4452682020873c3a2a 100644 (file)
@@ -80,12 +80,14 @@ public class TaxonNodeAgentRelationCollectionElement extends AbstractEntityColle
         if (entity != null){
             selection_toPerson = formFactory
                     .createSelectionElement(TeamOrPersonBase.class,
-                            getConversationHolder(), element, "Agent", entity.getAgent(),
+                            //getConversationHolder(),
+                            element, "Agent", entity.getAgent(),
                             EntitySelectionElement.ALL, style);
         } else{
             selection_toPerson = formFactory
                     .createSelectionElement(TeamOrPersonBase.class,
-                            getConversationHolder(), element, "Agent", null,
+                            //getConversationHolder(),
+                            element, "Agent", null,
                             EntitySelectionElement.ALL, style);
         }
         label = formFactory.createLabel(element, null);
index bbb79f8192d79016205287206f6c8b3875b179d4..8908fbf4f3edee82947aa247182a07fb7b2fba87 100644 (file)
@@ -15,7 +15,6 @@ import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
-import eu.etaxonomy.cdm.model.name.INonViralName;
 import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.taxon.Classification;
@@ -84,26 +83,27 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<ITaxonTreeN
        protected void createControls(ICdmFormElement formElement,
                ITaxonTreeNode entity, int style) {
                selection_classification = formFactory
-                               .createSelectionElement(Classification.class,
-                                               getConversationHolder(), formElement, "Classification",
+                               .createSelectionElement(Classification.class,//getConversationHolder(),
+                                       formElement, "Classification",
                                                null, EntitySelectionElement.DELETABLE, style);
                selection_parentTaxonNode = formFactory
                                .createTaxonNodeSelectionElement(getConversationHolder(), formElement, "Parent", null,
                                                EntitySelectionElement.DELETABLE, style);
 
                selection_reuseExistingTaxon = formFactory
-                               .createSelectionElement(Taxon.class,
-                                               getConversationHolder(), formElement,
+                               .createSelectionElement(Taxon.class,//getConversationHolder(),
+                                       formElement,
                                                "Reuse existing taxon", null,
                                                EntitySelectionElement.DELETABLE, style);
 
                selection_reuseExistingName = formFactory
-                               .createSelectionElement(TaxonName.class,
-                                               getConversationHolder(), formElement,
+                               .createSelectionElement(TaxonName.class,//getConversationHolder(),
+                                       formElement,
                                                "Reuse existing name", null,
                                                EntitySelectionElement.DELETABLE, style);
                selection_SecRef = formFactory
-                .createSelectionElement(Reference.class,getConversationHolder(), formElement, "Secundum Reference", null,
+                .createSelectionElement(Reference.class,//getConversationHolder(),
+                        formElement, "Secundum Reference", null,
                         EntitySelectionElement.DELETABLE, style);
                if (isCreateNew()){
                    textNewTaxonName = formFactory.createTextWithLabelElement(formElement,"New Taxon", "", style);
index 8aabb3e50502421b10f478c566d6e3b2ae96d4ab..1e1df2edc4428cc86977b710052836d39f0160d5 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2009 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.
 */
@@ -35,8 +35,8 @@ public class ReferenceEntityDetailElement extends AbstractCdmDetailElement<Refer
        protected void createControls(ICdmFormElement formElement,
                        ReferencedEntityBase entity, int style) {
                selection_reference = formFactory
-                               .createSelectionElement(Reference.class,
-                                               getConversationHolder(), formElement, "Reference",
+                               .createSelectionElement(Reference.class,//getConversationHolder(),
+                                                formElement, "Reference",
                                                entity.getCitation(),
                                                EntitySelectionElement.ALL, style);
                text_referenceDetail = formFactory.createTextWithLabelElement(
index 154778f2af86782e5de89ae6ba1af177a43a6486..cad5a2fbf8654658e30f187a817d1ed39dbe2bc8 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -23,7 +23,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * <p>
  * DerivedUnitElement class.
  * </p>
- * 
+ *
  * @author n.hoffmann
  * @created Sep 16, 2010
  * @version 1.0
@@ -37,7 +37,7 @@ public class DerivedUnitElement extends
         * <p>
         * Constructor for DerivedUnitElement.
         * </p>
-        * 
+        *
         * @param formFactory
         *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
         *            object.
@@ -61,7 +61,7 @@ public class DerivedUnitElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls
         * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
@@ -70,14 +70,15 @@ public class DerivedUnitElement extends
        @Override
        public void createControls(ICdmFormElement element, int style) {
                selection_derivedUnit = formFactory.createSelectionElement(
-                               DerivedUnit.class, getConversationHolder(), element,
-                               "Specimen", null, EntitySelectionElement.SELECTABLE | EntitySelectionElement.EDITABLE,
+                               DerivedUnit.class, //getConversationHolder(),
+                               element, "Specimen", null,
+                               EntitySelectionElement.SELECTABLE | EntitySelectionElement.EDITABLE,
                                style);
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent
         * (java.lang.Object)
index a2651e253d36996022b4d04b7eeaef230d55dbed..53e561771aae8ee890735c5527d0b79a032dd22d 100644 (file)
@@ -61,7 +61,8 @@ public class DescribedSpecimenSection extends AbstractEntityCollectionSection<Ta
        /** {@inheritDoc} */
        @Override
        public SpecimenOrObservationBase createNewElement() {
-               DerivedUnit selection = DerivedUnitSelectionDialog.select(getShell(), getConversationHolder(), null);
+               DerivedUnit selection = DerivedUnitSelectionDialog.select(getShell(), //getConversationHolder(),
+                       null);
                return selection;
        }
 
index 44451ce39dfb2e4c8800dcc08f9cf090387124b2..aca2759ba16616e0670dc45a2702d8cedc976a25 100644 (file)
@@ -45,8 +45,8 @@ public class DescriptionElementSourceElement extends
        public void createControls(ICdmFormElement formElement, int style) {
                super.createControls(formElement, style);
                selection_name = formFactory
-                               .createSelectionElement(TaxonName.class,
-                                               getConversationHolder(), formElement, "Name in Source",
+                               .createSelectionElement(TaxonName.class,//getConversationHolder(),
+                                       formElement, "Name in Source",
                                                null, EntitySelectionElement.ALL, SWT.NULL);
        }
 
index 88c2f17484137df3783a5f24a8c841f80e8ea18a..afcea7222ac9c958b1616d5a9fc161c8df5c2ec2 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * <p>
  * DescriptionSourceElement class.
  * </p>
- * 
+ *
  * @author n.hoffmann
  * @created Mar 18, 2010
  * @version 1.0
@@ -36,7 +36,7 @@ public class DescriptionSourceElement extends
         * <p>
         * Constructor for DescriptionSourceElement.
         * </p>
-        * 
+        *
         * @param cdmFormFactory
         *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
         *            object.
@@ -61,8 +61,8 @@ public class DescriptionSourceElement extends
        @Override
        public void createControls(ICdmFormElement element, int style) {
                selection_descriptionSource = formFactory
-                               .createSelectionElement(Reference.class,
-                                               getConversationHolder(), element, "Description Source",
+                               .createSelectionElement(Reference.class,//getConversationHolder(),
+                                       element, "Description Source",
                                                null, EntitySelectionElement.ALL, style);
        }
 
index 5b65a7261315230376ee624e2e7e47aa3a81c783..922a8e28a5bff3f03ac88b719232296469b97bc1 100644 (file)
@@ -56,7 +56,7 @@ public class CommonNameDetailElement extends AbstractDetailedDescriptionDetailEl
 
                combo_language = formFactory.createDefinedTermComboElement(TermType.Language, this, "Language", entity.getLanguage(), style);
 
-               selection_namedArea = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
+               selection_namedArea = formFactory.createSelectionElement(NamedArea.class, //getConversationHolder(),
                                formElement, "Area",
                                entity.getArea(), EntitySelectionElement.NOTHING, style);
        }
index b19959a322405169806f9d907a9f19f93d623d7f..1c08cbf7a76acbd195758acc66c3b09dd5c36e17 100644 (file)
@@ -50,7 +50,7 @@ public class DistributionDetailElement extends
        @Override
        protected void createControls(ICdmFormElement formElement,
                        Distribution entity, int style) {
-               selection_namedArea = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
+               selection_namedArea = formFactory.createSelectionElement(NamedArea.class, //getConversationHolder(),
                                formElement, "Area",
                                entity.getArea(), EntitySelectionElement.NOTHING, style);
                ICdmFormElement parent = this.getParentElement();
index 536dbafc282139a9db72d8acb10307c2fcada1bd..f655b9be1346760692b275d2e763ee8571eaeab8 100644 (file)
@@ -45,7 +45,8 @@ public class IndividualsAssociationDetailElement extends
                        IndividualsAssociation entity, int style) {
                selection_derivedUnit = formFactory
                                .createSelectionElement(SpecimenOrObservationBase.class,
-                                               getConversationHolder(), formElement, "Occurrence/Unit",
+                                               //getConversationHolder(),
+                                       formElement, "Occurrence/Unit",
                                                CdmBase.deproxy(entity.getAssociatedSpecimenOrObservation(),SpecimenOrObservationBase.class),
                                                EntitySelectionElement.ALL, style);
 
old mode 100755 (executable)
new mode 100644 (file)
index 1522e4b..bb260e7
@@ -65,8 +65,8 @@ public class TaxonInteractionDetailElement extends
                        TaxonInteraction entity, int style) {
 
            taxonSelection = formFactory
-                .createSelectionElement(Taxon.class,
-                        getConversationHolder(), formElement, "Taxon",
+                .createSelectionElement(Taxon.class,//getConversationHolder(),
+                        formElement, "Taxon",
                         CdmBase.deproxy(entity.getTaxon2(),Taxon.class),
                         EntitySelectionElement.ALL, style);
 
index f40a6403ddb65ee28a42f7fb75e88b86cee180a9..a5af0d1714da810e87a0ccacc5b9f41cea352e01 100644 (file)
@@ -53,7 +53,8 @@ public class GrantedAuthorityCollectionElement extends AbstractEntityCollectionE
        @Override
        public void createControls(ICdmFormElement element, int style) {
                selection_authority = formFactory.createSelectionElement(
-                                       GrantedAuthorityImpl.class, getConversationHolder(), element, "", getEntity(), EntitySelectionElement.SELECTABLE, style);
+                                       GrantedAuthorityImpl.class, //getConversationHolder(),
+                                       element, "", getEntity(), EntitySelectionElement.SELECTABLE, style);
        }
 
        /* (non-Javadoc)
index de07e5e74ef54836b9d0944d9c4f6524aac46a24..c55c516025311cd55d47c8dfcb2dd3c06be22db9 100644 (file)
@@ -65,7 +65,8 @@ public class GrantedAuthorityDetailSection extends
 //                             .warningDialog("Not implemented yet", getClass(),
 //                                             "This functionality needs to be implemented in CDM Library first.");
 
-               GrantedAuthority selection = GrantedAuthoritySelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null);
+               GrantedAuthority selection = GrantedAuthoritySelectionDialog.select(getLayoutComposite().getShell(), //getConversationHolder(),
+                       null);
                return selection;
        }
 
@@ -119,7 +120,7 @@ public class GrantedAuthorityDetailSection extends
      */
     @Override
     public GrantedAuthority addExisting() {
-      
+
         return null;
     }
 
index 3c0cd7574f2e26f06a1f3c8ca943099d7f279bb7..cd091b7c3548d5f3d7c89b800dbf6e4ec5892e64 100644 (file)
@@ -1,14 +1,13 @@
 /**
 * Copyright (C) 2012 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
 package eu.etaxonomy.taxeditor.ui.section.group;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
@@ -19,12 +18,13 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  *
  */
 public class GroupSelectionElement extends EntitySelectionElement<Group> {
-       
-       public GroupSelectionElement(CdmFormFactory formFactory,
-                       ConversationHolder conversation, ICdmFormElement parentElement,
+
+       public GroupSelectionElement(CdmFormFactory formFactory,//ConversationHolder conversation,
+               ICdmFormElement parentElement,
                        String labelString, Group entity, int mode,
                        int style) {
-               super(formFactory, conversation, parentElement, Group.class, labelString, entity,
+               super(formFactory, //conversation,
+                       parentElement, Group.class, labelString, entity,
                                mode, style);
        }
 
index 5e169537b853277643122918d4064c733be7dcc2..a635f341f7fb79286b2ba89b7d4992b1070bc762 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -43,7 +43,7 @@ public class MemberDetailElement extends AbstractEntityCollectionElement<User> {
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#setEntity
         * (java.lang.Object)
@@ -55,21 +55,21 @@ public class MemberDetailElement extends AbstractEntityCollectionElement<User> {
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#
         * createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, int)
         */
        @Override
        public void createControls(ICdmFormElement element, int style) {
                selection_user = formFactory
-                               .createSelectionElement(User.class,
-                                               getConversationHolder(), element, "", entity,
+                               .createSelectionElement(User.class,//getConversationHolder(),
+                                       element, "", entity,
                                                EntitySelectionElement.EDITABLE, style);
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#handleEvent
         * (java.lang.Object)
index 02018f4748c451c3655a4792bfba3a21b333341d..184530c0d556c155ce292970c271570196e04b57 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -52,7 +52,8 @@ public class MemberDetailSection extends AbstractEntityCollectionSection<Group,
         */
        @Override
        public User createNewElement() {
-               User selection = UserSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null);
+               User selection = UserSelectionDialog.select(getLayoutComposite().getShell(), //getConversationHolder(),
+                       null);
                return selection;
        }
 
@@ -106,6 +107,6 @@ public class MemberDetailSection extends AbstractEntityCollectionSection<Group,
         return false;
     }
 
-       
+
 
 }
index 49177b025548f2784f008e5a48afd8bc441866f7..60dee5d65a815bae9720cebb6632cf6afc119f95 100644 (file)
@@ -55,8 +55,8 @@ public class PolytomousKeyNodeDetailElement extends
                                        formElement, "Question", parent.getQuestion(), 50, style);
 
                        selection_feature = formFactory
-                                       .createSelectionElement(Feature.class,
-                                                       getConversationHolder(), formElement, "Character",
+                                       .createSelectionElement(Feature.class,//getConversationHolder(),
+                                               formElement, "Character",
                                                        parent.getFeature(),
                                                        EntitySelectionElement.EDITABLE | EntitySelectionElement.DELETABLE, style);
                }
@@ -66,21 +66,21 @@ public class PolytomousKeyNodeDetailElement extends
 
 
                selection_taxon = formFactory
-                               .createSelectionElement(Taxon.class,
-                                               getConversationHolder(), formElement, "Taxon",
+                               .createSelectionElement(Taxon.class,//getConversationHolder(),
+                                       formElement, "Taxon",
                                                entity.getTaxon(), EntitySelectionElement.DELETABLE,
                                                style);
 
 
                selection_subkey = formFactory
-                               .createSelectionElement(PolytomousKey.class,
-                                               getConversationHolder(), formElement, "Subkey",
+                               .createSelectionElement(PolytomousKey.class,//getConversationHolder(),
+                                       formElement, "Subkey",
                                                entity.getSubkey(),
                                                EntitySelectionElement.EDITABLE | EntitySelectionElement.DELETABLE, style);
 
                selection_otherNode = formFactory
-                               .createSelectionElement(PolytomousKeyNode.class,
-                                               getConversationHolder(), formElement, "Other Node",
+                               .createSelectionElement(PolytomousKeyNode.class,//getConversationHolder(),
+                                       formElement, "Other Node",
                                                entity.getOtherNode(),
                                                EntitySelectionElement.DELETABLE, style);
 
index df82175ec4185aa98dccaf41a8318fc706f63b21..963a3d2e231187edc7c80494c1e01e11cf8f24d8 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -43,7 +43,7 @@ public class TaxonomicScopeSection extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#
         * getCollection(java.lang.Object)
         */
@@ -54,21 +54,21 @@ public class TaxonomicScopeSection extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#
         * createNewElement()
         */
        @Override
        public Taxon createNewElement() {
-               Taxon selection = TaxonBaseSelectionDialog.selectTaxon(getShell(),
-                               getConversationHolder(), null);
+               Taxon selection = TaxonBaseSelectionDialog.selectTaxon(getShell(),//getConversationHolder(),
+                       null);
 
                return selection;
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#addElement
         * (java.lang.Object)
@@ -80,7 +80,7 @@ public class TaxonomicScopeSection extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#
         * removeElement(java.lang.Object)
         */
@@ -91,7 +91,7 @@ public class TaxonomicScopeSection extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#
         * getEmptyString()
         */
@@ -102,7 +102,7 @@ public class TaxonomicScopeSection extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#
         * getTooltipString()
         */
index 0c74f53ae5d28b39ea38f61a0b0f0bebd10a095c..309a7c60b7d0539f7e72cc22fc4ccfcc6adcbecb 100644 (file)
@@ -3,17 +3,14 @@
  */
 package eu.etaxonomy.taxeditor.ui.section.media;
 
-import java.time.ZonedDateTime;
 import java.util.Map;
 
 import org.eclipse.jface.action.IAction;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
-
 import org.eclipse.swt.widgets.Button;
 import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
@@ -22,7 +19,6 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.model.DateConverter;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
@@ -77,16 +73,17 @@ public class MediaMetaElement extends AbstractEntityCollectionElement<Media> imp
             }
         });
         text_title = formFactory.createLanguageStringWithLabelElement(element, "Title", null, style);
-        selection_artist = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), element, "Artist", null, EntitySelectionElement.ALL, style);
+        selection_artist = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
+                element, "Artist", null, EntitySelectionElement.ALL, style);
         addElement(selection_artist);
-       
+
         mediaCreated = formFactory.createDateElement(element, "Media Created", getEntity().getMediaCreated(), style, false);
         addElement(mediaCreated.getController());
         text_description = formFactory.createLanguageStringWithLabelElement(element, "Description", null, 100, true, style);
-        
-    
-        
-        
+
+
+
+
         mediaDetailElement = formFactory.createMediaDetailElement(element);
         addElement(mediaDetailElement);
     }
@@ -116,14 +113,15 @@ public class MediaMetaElement extends AbstractEntityCollectionElement<Media> imp
         }
 
         text_title.setLanguageString(title);
-     
+
 
     }
 
     @Override
     protected Media selectFromDialog() {
 
-       setEntity(MediaSelectionDialog.select(AbstractUtility.getShell(), null, null));
+       setEntity(MediaSelectionDialog.select(AbstractUtility.getShell(), //null,
+               null));
         return entity;
     }
 
index e85971ef7311f472649f47781d0fd1417f71f81f..cb3c4deb7cf7dc1850a811357f66e4ad401a3a74 100644 (file)
@@ -74,7 +74,8 @@ public class MediaSection extends AbstractEntityCollectionSection<IdentifiableMe
      */
     @Override
     public Media addExisting() {
-        return MediaSelectionDialog.select(getShell(), getConversationHolder(), null);
+        return MediaSelectionDialog.select(getShell(), //getConversationHolder(),
+                null);
     }
 
     /**
index c4fd0df05717327495a8264c10b9978a4501f6f7..65e3920f9b9faab6681e92dd14e160c9bbf39fac 100644 (file)
@@ -52,8 +52,8 @@ public class NameTypeDesignationElement extends
                checkbox_conservedType = formFactory.createCheckbox(formElement,
                                "Conserved Type", false, style);
                selection_typeName = formFactory
-                               .createSelectionElement(TaxonName.class,
-                                               getConversationHolder(), formElement, "Name", null,
+                               .createSelectionElement(TaxonName.class,//getConversationHolder(),
+                                       formElement, "Name", null,
                                                EntitySelectionElement.ALL, style);
                combo_typeStatus = formFactory.createDefinedTermComboElement(TermType.NameTypeDesignationStatus, formElement,
                                                "Designation Status", null, style);
@@ -68,7 +68,7 @@ public class NameTypeDesignationElement extends
                checkbox_conservedType.setSelection(entity.isConservedType());
                checkbox_rejectedType.setSelection(entity.isRejectedType());
 
-               selection_typeName.setEntity((TaxonName) HibernateProxyHelper.deproxy(entity.getTypeName()));
+               selection_typeName.setEntity(HibernateProxyHelper.deproxy(entity.getTypeName()));
 
                combo_typeStatus.setSelection(HibernateProxyHelper.deproxy(entity.getTypeStatus(), NameTypeDesignationStatus.class));
 
index 25923dc6b524888433ce46f0f058aae50df69727..5cc0d094eb3a00f7d5d6805e7755a20f554b0727 100644 (file)
@@ -66,7 +66,8 @@ public class NonViralNameDetailSection extends AbstractCdmDetailSection<TaxonNam
                    Action chooseNameAction = new Action("Choose Name", IAction.AS_PUSH_BUTTON){
                        @Override
                        public void run() {
-                           TaxonName taxonName = NameSelectionDialog.select(getShell(), getConversationHolder(), getEntity());
+                           TaxonName taxonName = NameSelectionDialog.select(getShell(), //getConversationHolder(),
+                                   getEntity());
                            if(taxonName!=null){
                             TaxonName nonViralName = HibernateProxyHelper.deproxy(taxonName);
                             taxonBase.setName(nonViralName);
index cb0652e18cbab9c9017efe508af184ffbb84981e..e3df27d54be104453c5b5adcd5af2aa458f98914 100644 (file)
@@ -47,7 +47,8 @@ public class SpecimenTypeDesignationElement extends
        public void createControls(ICdmFormElement formElement, int style) {
                selection_typeSpecimen = formFactory
                                .createSelectionElement(DerivedUnit.class,
-                                               getConversationHolder(), formElement, "Specimen", null,
+//                                             getConversationHolder(),
+                                       formElement, "Specimen", null,
                                                EntitySelectionElement.ALL, style);
                combo_typeStatus = formFactory.createDefinedTermComboElement(TermType.SpecimenTypeDesignationStatus,
                                                formElement, "Designation Status", null, style);
index a31f42b867975827196e7c34cbb3774b6b412e02..bd12c5fb8e669283a6a4f47fc9e47bb64181c1f4 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -25,7 +25,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * <p>
  * Abstract AbstractEventDetailElement class.
  * </p>
- * 
+ *
  * @author n.hoffmann
  * @created Oct 14, 2010
  * @version 1.0
@@ -41,7 +41,7 @@ public abstract class AbstractEventDetailElement<T extends EventBase> extends
         * <p>
         * Constructor for AbstractEventDetailElement.
         * </p>
-        * 
+        *
         * @param formFactory
         *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
         *            object.
@@ -65,7 +65,7 @@ public abstract class AbstractEventDetailElement<T extends EventBase> extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity
         * (java.lang.Object)
@@ -80,7 +80,7 @@ public abstract class AbstractEventDetailElement<T extends EventBase> extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls
         * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
@@ -89,8 +89,8 @@ public abstract class AbstractEventDetailElement<T extends EventBase> extends
        @Override
        public void createControls(ICdmFormElement element, int style) {
                selection_agent = formFactory
-                               .createSelectionElement(AgentBase.class,
-                                               getConversationHolder(), element, "Actor", null,
+                               .createSelectionElement(AgentBase.class,//getConversationHolder(),
+                                                element, "Actor", null,
                                                EntitySelectionElement.ALL, style);
                element_timePeriod = formFactory.createTimePeriodElement(element,
                                "Time Period", null, style);
index a47e134fbb22a552619411f7c59adc3983fc634e..3d10026d74d6090f6c39d34e5bc5798f4c10e5ba 100644 (file)
@@ -59,7 +59,8 @@ public class CollectingAreasDetailSection extends AbstractEntityCollectionSectio
        /** {@inheritDoc} */
        @Override
        public NamedArea createNewElement() {
-               NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null, FieldUnit.class.getCanonicalName());
+               NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), //getConversationHolder(),
+                       null, FieldUnit.class.getCanonicalName());
 
                return selection;
        }
index cc7f2d93464afb9ade2dc597a24a85633b5b5b17..656b7d5505f95c763bb16ab57b481a888c63fd61 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * <p>
  * CollectionDetailElement class.
  * </p>
- * 
+ *
  * @author n.hoffmann
  * @created Oct 13, 2010
  * @version 1.0
@@ -48,7 +48,7 @@ public class CollectionDetailElement extends
         * <p>
         * Constructor for CollectionDetailElement.
         * </p>
-        * 
+        *
         * @param formFactory
         *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
         *            object.
@@ -63,7 +63,7 @@ public class CollectionDetailElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
         * (eu.etaxonomy.taxeditor.forms.ICdmFormElement,
@@ -87,20 +87,20 @@ public class CollectionDetailElement extends
                                formElement, "Town Or Location", entity.getTownOrLocation(),
                                style);
                selection_institute = formFactory
-                               .createSelectionElement(Institution.class,
-                                               getConversationHolder(), formElement, "Institute",
+                               .createSelectionElement(Institution.class,//getConversationHolder(),
+                                       formElement, "Institute",
                                                entity.getInstitute(),
                                                EntitySelectionElement.ALL, style);
                selection_superCollection = formFactory
-                               .createSelectionElement(Collection.class,
-                                               getConversationHolder(), formElement,
+                               .createSelectionElement(Collection.class,//getConversationHolder(),
+                                       formElement,
                                                "Super Collection", entity.getSuperCollection(),
                                                EntitySelectionElement.ALL, style);
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
         * .lang.Object)
index e0f929ab8f287ee66df231c31d9a4d45d5cc503a..5cfda2aed7d0324b91ae9b1d847d25a611357c9c 100644 (file)
@@ -96,7 +96,8 @@ public class DerivedUnitBaseDetailElement extends
                        // we ignore this
             MessagingUtils.info(e.getMessage());
                }
-        selection_storedUnder = formFactory.createSelectionElement(TaxonName.class, getConversationHolder(), formElement, "Stored Under", entity.getStoredUnder(), EntitySelectionElement.ALL, style);
+        selection_storedUnder = formFactory.createSelectionElement(TaxonName.class, //getConversationHolder(),
+                formElement, "Stored Under", entity.getStoredUnder(), EntitySelectionElement.ALL, style);
 
                try {
             text_exsicatum = formFactory.createTextWithLabelElement(formElement, "Exsiccatum", entity.getExsiccatum(), style);
index 5834ea5f10e7eb078e1988b3f17a6bc856b8f681..2b29013cff385177555ce453d27d0249e3829eb2 100644 (file)
@@ -83,7 +83,7 @@ public class DerivedUnitGeneralDetailElement extends
                    combo_specorobstype = formFactory.createEnumComboElement(SpecimenOrObservationType.class, formElement, style);
                    combo_specorobstype.setSelection(entity.getType());
                    combo_specorobstype.setEnabled(showSpecimenType);
-                   selection_country = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
+                   selection_country = formFactory.createSelectionElement(NamedArea.class, //getConversationHolder(),
                            formElement, "Country",
                            entity.getCountry(), EntitySelectionElement.NOTHING, style);
 
@@ -103,16 +103,16 @@ public class DerivedUnitGeneralDetailElement extends
                    element_date = formFactory.createTimePeriodElement(formElement, "Date",
                            entity.getGatheringPeriod(), style);
                    selection_collector = formFactory
-                           .createSelectionElement(AgentBase.class,
-                                   getConversationHolder(), formElement, "Collector",
+                           .createSelectionElement(AgentBase.class,//getConversationHolder(),
+                                   formElement, "Collector",
                                    entity.getCollector(), EntitySelectionElement.ALL,
                                    style);
                    text_collectingNumber = formFactory.createTextWithLabelElement(formElement,
                            "Collecting number", entity.getFieldNumber(), style);
                }
                selection_collection = formFactory
-                               .createSelectionElement(Collection.class,
-                                               getConversationHolder(), formElement, "Collection",
+                               .createSelectionElement(Collection.class,//getConversationHolder(),
+                                       formElement, "Collection",
                                                entity.getCollection(),
                                                EntitySelectionElement.ALL, style);
                text_accessionNumber = formFactory.createTextWithLabelElement(
index c083c039ab5cfcf2f3f0655e2d2e600a1cc5c6ae..d04ac84e1dba747a5921b7d9d485ad525d8bf55b 100644 (file)
@@ -80,13 +80,13 @@ public class DeterminationEventDetailElement extends
        @Override
        public void createControls(ICdmFormElement element, int style) {
            selectionTaxonNameBase = formFactory
-                   .createSelectionElement(TaxonName.class,
-                           getConversationHolder(), element, "Taxon Name", null,
-                           EntitySelectionElement.NOTHING, style);
+                   .createSelectionElement(TaxonName.class,//getConversationHolder(),
+                            element, "Taxon Name", null,
+                           EntitySelectionElement.ALL, style);
                selection_taxonBase = formFactory
-                               .createSelectionElement(TaxonBase.class,
-                                               getConversationHolder(), element, "Taxon", null,
-                                               EntitySelectionElement.NOTHING, style);
+                               .createSelectionElement(TaxonBase.class,//getConversationHolder(),
+                                                element, "Taxon", null,
+                                               EntitySelectionElement.ALL, style);
 
 
                // TODO set of references
@@ -112,7 +112,7 @@ public class DeterminationEventDetailElement extends
                    getEntity().setTaxonName(selectionTaxonNameBase.getSelection());
                    //empty taxon field if name does not belong the taxon
                    TaxonBase taxonBase = selection_taxonBase.getEntity();
-                       if(taxonBase!=null && taxonBase.getName()!=null 
+                       if(taxonBase!=null && taxonBase.getName()!=null
                                        && !taxonBase.getName().equals(selectionTaxonNameBase.getSelection())){
                                selection_taxonBase.setEntity(null);
                        }
index 7b4c0ab497f96170b3622a7d4250c7b96ff5a7ba..90c373523db9958d8ccf80a9b22f143340e38a6c 100644 (file)
@@ -74,8 +74,8 @@ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<Deri
 
         combo_specorobstype = formFactory.createEnumComboElement(SpecimenOrObservationType.class, formElement, style);
         combo_specorobstype.setSelection(entity.getType());
-        selection_country = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(), formElement,
-                "Country", entity.getCountry(), EntitySelectionElement.NOTHING, style);
+        selection_country = formFactory.createSelectionElement(NamedArea.class, //getConversationHolder(),
+                formElement, "Country", entity.getCountry(), EntitySelectionElement.NOTHING, style);
         if(PreferencesUtil.isCollectingAreaInGeneralSection()){
             section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
             section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
@@ -89,8 +89,8 @@ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<Deri
                                formElement, "Elevation : ", entity, MinMaxTextSection.UnitType.ELEVATION,  style);
 
         element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
-        selection_collector = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement,
-                "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
+        selection_collector = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
+                formElement, "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
         text_collectingNumber = formFactory.createTextWithLabelElement(formElement, "Collecting number",
                 entity.getFieldNumber(), style);
         checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
index 6a7eeda118f54f3bfd11f91aed5acf071bbe4604..217e75cb53cf7ec475316fb70fcd0c2d910554f0 100644 (file)
@@ -58,7 +58,8 @@ public class GeoScopeDetailSection extends AbstractEntityCollectionSection<Class
        /** {@inheritDoc} */
        @Override
        public NamedArea createNewElement() {
-               NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null, Classification.class.getCanonicalName());
+               NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), //getConversationHolder(),
+                       null, Classification.class.getCanonicalName());
 
                return selection;
        }
index 5029c9e1fe1603367a916145ef32cba2f97e0cf0..f26588f4601d3e6b328c309129283a22101e62c3 100644 (file)
@@ -41,7 +41,8 @@ public class GeoScopePolyKeyDetailSection extends AbstractEntityCollectionSectio
        /** {@inheritDoc} */
        @Override
        public NamedArea createNewElement() {
-               NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null, PolytomousKey.class.getCanonicalName());
+               NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), //getConversationHolder(),
+                       null, PolytomousKey.class.getCanonicalName());
 
                return selection;
        }
index b3a221a1ea366ef4fee738a2374606333206ac28..68f8169cedc7ca5cb84eaf9cca7a26ef3b8a27fc 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * <p>
  * CollectingAreasDetailElement class.
  * </p>
- * 
+ *
  * @author n.hoffmann
  * @created Oct 14, 2010
  * @version 1.0
@@ -36,7 +36,7 @@ public class NamedAreaDetailElement extends
         * <p>
         * Constructor for CollectingAreasDetailElement.
         * </p>
-        * 
+        *
         * @param formFactory
         *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
         *            object.
@@ -58,7 +58,7 @@ public class NamedAreaDetailElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity
         * (java.lang.Object)
@@ -71,7 +71,7 @@ public class NamedAreaDetailElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls
         * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
@@ -79,14 +79,14 @@ public class NamedAreaDetailElement extends
        /** {@inheritDoc} */
        @Override
        public void createControls(ICdmFormElement formElement, int style) {
-               selection_namedArea = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
+               selection_namedArea = formFactory.createSelectionElement(NamedArea.class, //getConversationHolder(),
                                formElement, "Area",
                                null, EntitySelectionElement.NOTHING, style);
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent
         * (java.lang.Object)
index 4176c4a812d2710ef0a9ea071202eccceb5f8997..4eae4d1e4ddf6735b1bf01511e4ecfc6acc64c7b 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * <p>
  * SpecimenCollectionDetailElement class.
  * </p>
- * 
+ *
  * @author n.hoffmann
  * @created Oct 14, 2010
  * @version 1.0
@@ -36,7 +36,7 @@ public class SpecimenCollectionDetailElement extends
         * <p>
         * Constructor for SpecimenCollectionDetailElement.
         * </p>
-        * 
+        *
         * @param formFactory
         *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
         *            object.
@@ -58,7 +58,7 @@ public class SpecimenCollectionDetailElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity
         * (java.lang.Object)
@@ -72,7 +72,7 @@ public class SpecimenCollectionDetailElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls
         * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
@@ -81,14 +81,14 @@ public class SpecimenCollectionDetailElement extends
        @Override
        public void createControls(ICdmFormElement element, int style) {
                selection_derivedUnit = formFactory
-                               .createSelectionElement(DerivedUnit.class,
-                                               getConversationHolder(), element, "Derived Unit", null,
+                               .createSelectionElement(DerivedUnit.class,//getConversationHolder(),
+                                       element, "Derived Unit", null,
                                                EntitySelectionElement.EDITABLE | EntitySelectionElement.SELECTABLE, style);
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent
         * (java.lang.Object)
@@ -97,7 +97,7 @@ public class SpecimenCollectionDetailElement extends
        @Override
        public void handleEvent(Object eventSource) {
                if (eventSource == selection_derivedUnit) {
-                       this.setEntity((DerivedUnit) selection_derivedUnit.getSelection());
+                       this.setEntity(selection_derivedUnit.getSelection());
                }
        }
 
index 35ed856b44f682f2d0ae0bd89d4aaf840aa9b4fc..0155a4cfd7477d81594a3460a1682ad79ff72e1b 100644 (file)
@@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @author n.hoffmann
  * @created May 17, 2010
  */
-public class DerivedUnitTypeDesignationElement 
+public class DerivedUnitTypeDesignationElement
                extends AbstractTypeDesignationElement<SpecimenTypeDesignation> {
 
     private TermComboElement<SpecimenTypeDesignationStatus> combo_typeStatus;
@@ -79,7 +79,8 @@ public class DerivedUnitTypeDesignationElement
         this.style = style;
 
         selectionTaxonName = formFactory.createSelectionElement(
-                TaxonName.class, getConversationHolder(), parentFormElement, "Scientific Name", null,
+                TaxonName.class, //getConversationHolder(),
+                parentFormElement, "Scientific Name", null,
                 EntitySelectionElement.EDITABLE | EntitySelectionElement.SELECTABLE, style);
 
         combo_typeStatus = formFactory.createDefinedTermComboElement(TermType.SpecimenTypeDesignationStatus,
index e16d44aa5d533e09b35e3a131d37b0cfcd06489a..f8d2fa28837feab15ba6a45025fe713d7062572e 100644 (file)
@@ -87,7 +87,8 @@ public class PreservedSpecimenDetailElement extends
 
         PreservationMethod preservationMethod = entity.getPreservation();
         combo_preservationMethod = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Preservation Method", preservationMethod==null?null:preservationMethod.getDefinedMaterialOrMethod(), style);
-        selection_storedUnder = formFactory.createSelectionElement(TaxonName.class, getConversationHolder(), formElement, "Stored Under", entity.getStoredUnder(), EntitySelectionElement.ALL, style);
+        selection_storedUnder = formFactory.createSelectionElement(TaxonName.class, //getConversationHolder(),
+                formElement, "Stored Under", entity.getStoredUnder(), EntitySelectionElement.ALL, style);
 
         text_exsicatum = formFactory.createTextWithLabelElement(formElement, "Exsiccatum", entity.getExsiccatum(), style);
 
index f5348c74a393c37e4d685a5790cd08a6dfc034a4..b4a51ecf7bec40e414d3f3f695d70be18ad2bdae 100644 (file)
@@ -52,8 +52,8 @@ public class PreservedSpecimenGeneralDetailElement extends AbstractCdmDetailElem
                 formElement, "Title Cache", entity.getTitleCache(),
                 entity.isProtectedTitleCache(), style);
         selection_collection = formFactory
-                .createSelectionElement(Collection.class,
-                        getConversationHolder(), formElement, "Collection",
+                .createSelectionElement(Collection.class,//getConversationHolder(),
+                        formElement, "Collection",
                         entity.getCollection(),
                         EntitySelectionElement.ALL, style);
         text_accessionNumber = formFactory.createTextWithLabelElement(
index 24e9fc8f94a17c66791165f2788f9315d4891629..43b7b9bdb56617b2281971c02631911e25a57691 100644 (file)
@@ -53,7 +53,8 @@ public class AmplificationCloningDetailElement extends AbstractCdmDetailElement<
         Cloning cloning = entity.getCloning();
         textCloningStrain = formFactory.createTextWithLabelElement(formElement, "Cloning Strain", cloning==null?"":cloning.getStrain(), style);
         date = formFactory.createTimePeriodElement(formElement, "Cloning Date", cloning==null?null:cloning.getTimeperiod(), style);
-        selectionCloningStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Cloning Staff", cloning==null?null:cloning.getActor(), EntitySelectionElement.ALL, style);
+        selectionCloningStaff = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
+                formElement, "Cloning Staff", cloning==null?null:cloning.getActor(), EntitySelectionElement.ALL, style);
         comboCloningMaterialOrMethod = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Cloning Mat. & Meth.", cloning==null?null:cloning.getDefinedMaterialOrMethod(), style);
     }
 
index a86cea3920c3862759551d8b9cb40d94a421e47b..0ac54b6b4feda5feb121a4ef6f1c6e85d8730024 100644 (file)
@@ -60,12 +60,16 @@ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement<
         textDesignation = formFactory.createTextWithLabelElement(formElement, "Designation", entity.getLabelCache(), style);
         textDesignation.setEnabled(false);
         textDesignation.setBackground(getPersistentBackground());
-        selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", entity.getInstitution(), EntitySelectionElement.ALL, style);
-        selectionAmplificationStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Amplification staff", entity.getActor(), EntitySelectionElement.ALL, style);
+        selectionInstitution = formFactory.createSelectionElement(Institution.class, //getConversationHolder(),
+                formElement, "Institution", entity.getInstitution(), EntitySelectionElement.ALL, style);
+        selectionAmplificationStaff = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
+                formElement, "Amplification staff", entity.getActor(), EntitySelectionElement.ALL, style);
         dateAmplification = formFactory.createTimePeriodElement(formElement, "Date", entity.getTimeperiod(), style);
         comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
-        selectionPrimerFW = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer FW", entity.getForwardPrimer(), EntitySelectionElement.ALL, style);
-        selectionPrimerRW = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer RW", entity.getReversePrimer(), EntitySelectionElement.ALL, style);
+        selectionPrimerFW = formFactory.createSelectionElement(Primer.class,// getConversationHolder(),
+                formElement, "Primer FW", entity.getForwardPrimer(), EntitySelectionElement.ALL, style);
+        selectionPrimerRW = formFactory.createSelectionElement(Primer.class, //getConversationHolder(),
+                formElement, "Primer RW", entity.getReversePrimer(), EntitySelectionElement.ALL, style);
 
         AnnotationSection annotationSection = formFactory.createAnnotationSection(getConversationHolder(), formElement, style);
         annotationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
index 8a30fa00670b7238f6820c83600f5de82101d5bb..2dc44b58f373152d5b38e40f87c7cdf33184a5c5 100644 (file)
@@ -45,8 +45,10 @@ public class AmplificationPrimerDetailElement extends AbstractCdmDetailElement<A
      */
     @Override
     protected void createControls(ICdmFormElement formElement, Amplification entity, int style) {
-        selectionPrimerForward = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Forward Primer", entity.getForwardPrimer(), EntitySelectionElement.ALL, style);
-        selectionPrimerReverse = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Reverse Primer", entity.getReversePrimer(), EntitySelectionElement.ALL, style);
+        selectionPrimerForward = formFactory.createSelectionElement(Primer.class, //getConversationHolder(),
+                formElement, "Forward Primer", entity.getForwardPrimer(), EntitySelectionElement.ALL, style);
+        selectionPrimerReverse = formFactory.createSelectionElement(Primer.class, //getConversationHolder(),
+                formElement, "Reverse Primer", entity.getReversePrimer(), EntitySelectionElement.ALL, style);
     }
 
     /*
index 8a3966d52a420504752b173a75eca4318a3cd71f..932aad668899fc25639e6e1f80adc05dda189b56 100644 (file)
@@ -36,8 +36,8 @@ public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaS
     @Override
     protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
         selection_collection = formFactory
-                .createSelectionElement(Collection.class,
-                        getConversationHolder(), formElement, "Collection",
+                .createSelectionElement(Collection.class,//getConversationHolder(),
+                        formElement, "Collection",
                         entity.getCollection(),
                         EntitySelectionElement.ALL, style);
         textBarcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style);
index ef48a3f076cf752fdd5218c94a1582e1ba05e477..0dad1cfadc646357fd5d5544e4568748f89ba811 100644 (file)
@@ -6,7 +6,7 @@
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
+
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import eu.etaxonomy.cdm.model.agent.AgentBase;
@@ -69,8 +69,10 @@ public class DnaSamplePreparationPreservationDetailElement extends AbstractCdmDe
         if(entity.getDerivedFrom()!=null){
             materialOrMethodText = entity.getDerivedFrom().getDescription();
         }
-        selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", institution, EntitySelectionElement.ALL, style);
-        selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", staff, EntitySelectionElement.ALL, style);
+        selectionInstitution = formFactory.createSelectionElement(Institution.class, //getConversationHolder(),
+                formElement, "Institution", institution, EntitySelectionElement.ALL, style);
+        selectionStaff = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
+                formElement, "Staff", staff, EntitySelectionElement.ALL, style);
         datePreparationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
         numberPreservationTemperature = formFactory.createNumberTextWithLabelElement(formElement, "Preservation Temp. [C°]", temperature, style);
         txtMaterialOrMethods = formFactory.createTextWithLabelElement(formElement, "Materials && Methods", materialOrMethodText, style);
index bad967f5bdae3b94706246de8e3e906fcb37941f..0b9cf47c6f07fc62a3858e94b988b95b593f19c1 100644 (file)
@@ -65,8 +65,8 @@ public class PrimerGeneralDetailElement extends AbstractCdmDetailElement<Primer>
         comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
 
         selectionReference = formFactory
-                .createSelectionElement(Reference.class,
-                        getConversationHolder(), formElement, "Reference",
+                .createSelectionElement(Reference.class,//getConversationHolder(),
+                        formElement, "Reference",
                         entity.getPublishedIn(),
                         EntitySelectionElement.ALL, style);
 
index 71c7108b9332f9f21d183c744137ab3001b8d417..b648cc31118bfd0a11946f9a727f7b4d07af1ce2 100644 (file)
@@ -40,8 +40,8 @@ public class SequenceReferenceCollectionDetailElement extends AbstractEntityColl
     @Override
     public void createControls(ICdmFormElement formElement, int style) {
         selection_reference = formFactory
-                .createSelectionElement(Reference.class,
-                        getConversationHolder(), formElement, "Reference",
+                .createSelectionElement(Reference.class,//getConversationHolder(),
+                        formElement, "Reference",
                         null, EntitySelectionElement.SELECTABLE|EntitySelectionElement.EDITABLE, style);
         text_referenceDetail = formFactory.createTextWithLabelElement(
                 formElement, "Reference Detail", null, SWT.NULL);
index a331dc64ebbe8caa21ef81c2a7aa0fb723d9beec..4f817fb94b7aec083f922e449cdedb14a5664fb8 100644 (file)
@@ -46,13 +46,15 @@ public class SingleReadGeneralDetailElement extends AbstractCdmDetailElement<Sin
      */
     @Override
     protected void createControls(ICdmFormElement formElement, SingleRead entity, int style) {
-        selectionPrimer = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer", entity.getPrimer(), EntitySelectionElement.ALL, style);
+        selectionPrimer = formFactory.createSelectionElement(Primer.class, //getConversationHolder(),
+                formElement, "Primer", entity.getPrimer(), EntitySelectionElement.ALL, style);
         AmplificationResult amplificationResult = entity.getAmplificationResult();
         if(amplificationResult==null){
             amplificationResult = AmplificationResult.NewInstance();
             amplificationResult.addSingleRead(entity);
         }
-        selectionAmplification = formFactory.createSelectionElement(Amplification.class, getConversationHolder(), formElement, "Amplification", amplificationResult.getAmplification(), EntitySelectionElement.ALL, style);
+        selectionAmplification = formFactory.createSelectionElement(Amplification.class, //getConversationHolder(),
+                formElement, "Amplification", amplificationResult.getAmplification(), EntitySelectionElement.ALL, style);
 
         AnnotationSection annotationSection = formFactory.createAnnotationSection(getConversationHolder(), formElement, style);
         annotationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
index 46c04b2b2eddd6a3fa7eab46004ad4c06a084bbc..d3e7aa21f5b69394eeae84d6009e2dea25344378 100644 (file)
@@ -83,11 +83,14 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
         if(entity.getPreservation()!=null){
             preservationMedium = entity.getPreservation().getMedium();
         }
-        selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", institution, EntitySelectionElement.ALL, style);
-        selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", staff, EntitySelectionElement.ALL,style);
+        selectionInstitution = formFactory.createSelectionElement(Institution.class, //getConversationHolder(),
+                formElement, "Institution", institution, EntitySelectionElement.ALL, style);
+        selectionStaff = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
+                formElement, "Staff", staff, EntitySelectionElement.ALL,style);
         datePreparation = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
         comboPreservationMedium = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Preservation medium", preservationMedium, style);
-        selectionCollection = formFactory.createSelectionElement(Collection.class, getConversationHolder(), formElement, "Collection", entity.getCollection(), EntitySelectionElement.ALL, style);
+        selectionCollection = formFactory.createSelectionElement(Collection.class, //getConversationHolder(),
+                formElement, "Collection", entity.getCollection(), EntitySelectionElement.ALL, style);
         textAccessionNumber = formFactory.createTextWithLabelElement(formElement, "Accession Number", entity.getAccessionNumber(), style);
         textBarcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style);
         checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
index 3f27d30e624d64fbc3d2587c5faef60a4179b5b6..ad9acf99465f35040359fcea36b3e7f93ea547af 100644 (file)
@@ -8,8 +8,6 @@
  */
 package eu.etaxonomy.taxeditor.ui.section.occurrence.media;
 
-import java.time.ZonedDateTime;
-
 import org.joda.time.DateTime;
 
 import eu.etaxonomy.cdm.api.service.IVocabularyService;
@@ -24,7 +22,6 @@ import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
 import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.taxeditor.model.DateConverter;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -75,12 +72,14 @@ public class MediaSpecimenGeneralDetailElement extends AbstractCdmDetailElement<
         else{
             comboKindOfUnit = formFactory.createDefinedTermComboElement(mediaSpecimenVocabulary, formElement, "Kind of Media", entity.getKindOfUnit(), style);
             textTitleLanguageString = formFactory.createLanguageStringWithLabelElement(formElement, "Motif", media.getTitle(), style);
-            selectionArtist = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Prepared by", media.getArtist(), EntitySelectionElement.ALL, style);
+            selectionArtist = formFactory.createSelectionElement(AgentBase.class, //getConversationHolder(),
+                    formElement, "Prepared by", media.getArtist(), EntitySelectionElement.ALL, style);
             DateTime mediaCreated = entity.getMediaSpecimen().getMediaCreated();
-            
+
             date = formFactory.createDateElement(formElement, "Preparation Date", mediaCreated, style, true);
             textMethodLanguageString = formFactory.createLanguageStringWithLabelElement(formElement, "Method", media.getDescription(Language.getDefaultLanguage()), style);
-            selection_collection = formFactory.createSelectionElement(Collection.class, getConversationHolder(), formElement, "Collection", entity.getCollection(), EntitySelectionElement.ALL, style);
+            selection_collection = formFactory.createSelectionElement(Collection.class,// getConversationHolder(),
+                    formElement, "Collection", entity.getCollection(), EntitySelectionElement.ALL, style);
             text_accessionNumber = formFactory.createTextWithLabelElement(formElement, "Accession Number", entity.getAccessionNumber(), style);
 
             //the first PrimaryMediaSource is used for storing the reference
@@ -91,7 +90,8 @@ public class MediaSpecimenGeneralDetailElement extends AbstractCdmDetailElement<
                     break;
                 }
             }
-            selection_publishedIn = formFactory.createSelectionElement(Reference.class, getConversationHolder(), formElement, "Published in", publishedIn, EntitySelectionElement.ALL, style);
+            selection_publishedIn = formFactory.createSelectionElement(Reference.class, //getConversationHolder(),
+                    formElement, "Published in", publishedIn, EntitySelectionElement.ALL, style);
             checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
 
             mediaDetailElement = formFactory.createMediaDetailElement(formElement);
old mode 100755 (executable)
new mode 100644 (file)
index 259fbff..b50ee14
@@ -16,26 +16,20 @@ import java.util.Arrays;
 import java.util.List;
 
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
 import org.joda.time.DateTime;
 
-import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Institution;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
 import eu.etaxonomy.cdm.model.reference.ReferenceType;
-import eu.etaxonomy.taxeditor.model.DateConverter;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.IErrorIntolerableElement;
 import eu.etaxonomy.taxeditor.ui.element.IExceptionHandler;
-import eu.etaxonomy.taxeditor.ui.element.LabelElement;
-import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
 import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
@@ -145,8 +139,8 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
 
                // author team
                selection_authorTeam = formFactory
-                               .createSelectionElement(AgentBase.class,
-                                               getConversationHolder(), formElement, "Author",
+                               .createSelectionElement(AgentBase.class,//getConversationHolder(),
+                                       formElement, "Author",
                                                entity.getAuthorship(),
                                                EntitySelectionElement.ALL, style);
 
@@ -159,7 +153,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                        if (referenceType.equals(ReferenceType.Generic)) {
                                createGenericControls(this, entity, SWT.NULL);
                                createPublicationControls(this, referenceType, entity, SWT.NULL);
-                               
+
                        } else {
                                if (referenceType.isPrintedUnit()) {
                                        createPrintedUnitControls(this, referenceType, entity,
@@ -175,7 +169,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                                if (referenceType.isSection()) {
                                        createSectionControls(this, entity, SWT.NULL);
                                }
-                               
+
                        }
                }
 
@@ -190,9 +184,9 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
 
        private void createWebPageControls(ReferenceDetailElement referenceDetailElement, Reference reference, int style) {
                DateTime accessed = reference.getAccessed();
-               
+
                 text_accessed = formFactory.createDateElement(referenceDetailElement, "Accessed", accessed, style, false);
-               
+
        }
 
        /*
@@ -255,8 +249,8 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
 
                if (createInReferenceWidget) {
                        selection_inReference = formFactory
-                                       .createSelectionElement(Reference.class,
-                                                       getConversationHolder(), element, label,
+                                       .createSelectionElement(Reference.class,//getConversationHolder(),
+                                               element, label,
                                                        reference.getInReference(),
                                                        EntitySelectionElement.ALL, style);
                }
@@ -288,8 +282,8 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                // pages
                text_pages = formFactory.createTextWithLabelElement(element, "Pages",
                                reference.getPages(), style);
-               
-               
+
+
        }
 
        /**
@@ -320,8 +314,8 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                if (referenceType.equals(ReferenceType.Report)) {
                        // institution
                        selection_institution = formFactory
-                                       .createSelectionElement(Institution.class,
-                                                       getConversationHolder(), element, "Institution",
+                                       .createSelectionElement(Institution.class,//getConversationHolder(),
+                                               element, "Institution",
                                                        reference.getInstitution(),
                                                        EntitySelectionElement.ALL, style);
                }
@@ -329,8 +323,8 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                if (referenceType.equals(ReferenceType.Thesis)) {
                        // school
                        selection_institution = formFactory
-                                       .createSelectionElement(Institution.class,
-                                                       getConversationHolder(), element, "School",
+                                       .createSelectionElement(Institution.class,//getConversationHolder(),
+                                               element, "School",
                                                        reference.getSchool(),
                                                        EntitySelectionElement.ALL, style);
                }
@@ -384,8 +378,8 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
                        ReferenceType referenceType, Reference reference, int style) {
                // in series
                selection_inSeries = formFactory
-                               .createSelectionElement(Reference.class,
-                                               getConversationHolder(), element, "In Series",
+                               .createSelectionElement(Reference.class,//getConversationHolder(),
+                                       element, "In Series",
                                                (Reference) reference.getInSeries(),
                                                EntitySelectionElement.ALL, style);
 
@@ -626,7 +620,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem
            setIrrelevant(pushedState, except);
        }
 
-       
+
 
 
 }
index 0e412090452326e10652705e380ea945d37bcd66..c89d8979fc7019aec7c9ebb5a0d7d00f58cf8feb 100644 (file)
@@ -50,8 +50,8 @@ public abstract class AbstractReferencedEntityElement<T extends ReferencedEntity
        @Override
        public void createControls(ICdmFormElement formElement, int style) {
                selection_reference = formFactory
-                               .createSelectionElement(Reference.class,
-                                               getConversationHolder(), formElement, "Reference",
+                               .createSelectionElement(Reference.class,//getConversationHolder(),
+                                                formElement, "Reference",
                                                null, EntitySelectionElement.ALL, style);
                text_referenceDetail = formFactory.createTextWithLabelElement(
                                formElement, "Reference Detail", null, SWT.NULL);
index 852a2fefed19d7686cbf0a55e9e52867c639a554..b16c20ad953aa25940ee6fa33d365c34b03f8ad0 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.supplemental;
 
@@ -18,7 +18,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * <p>
  * CreditElement class.
  * </p>
- * 
+ *
  * @author n.hoffmann
  * @created Nov 16, 2009
  * @version 1.0
@@ -32,7 +32,7 @@ public class CreditElement extends AbstractEntityCollectionElement<Credit> {
         * <p>
         * Constructor for CreditElement.
         * </p>
-        * 
+        *
         * @param formElement
         *            a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
         *            object.
@@ -54,7 +54,7 @@ public class CreditElement extends AbstractEntityCollectionElement<Credit> {
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
         * #createControls(org.eclipse.swt.widgets.Composite, int)
@@ -63,8 +63,8 @@ public class CreditElement extends AbstractEntityCollectionElement<Credit> {
        @Override
        public void createControls(ICdmFormElement element, int style) {
                agentSelection = formFactory
-                               .createSelectionElement(AgentBase.class,
-                                               getConversationHolder(), this, "Agent", null,
+                               .createSelectionElement(AgentBase.class,//getConversationHolder(),
+                                       this, "Agent", null,
                                                EntitySelectionElement.ALL, style);
                text = formFactory.createMultiLineTextWithLabel(this, "Text", 100,
                                style);
@@ -72,7 +72,7 @@ public class CreditElement extends AbstractEntityCollectionElement<Credit> {
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite
         * #setElement(eu.etaxonomy.cdm.model.common.AnnotatableEntity)
index ecaf130ff5d28d611c6163aa67a4e86f59f235a2..ba93b9e6b2849a6141e4ac906c9aadb337c7fa96 100644 (file)
@@ -69,7 +69,8 @@ public class RightsElement extends AbstractEntityCollectionElement<Rights> {
        public void createControls(ICdmFormElement element, int style) {
                combo_rightsType = formFactory.createDefinedTermComboElement(TermType.RightsType, this, "Rights Type", null, style);
                selection_agent = formFactory.createSelectionElement(
-                               AgentBase.class, getConversationHolder(), this, "Agent",
+                               AgentBase.class, //getConversationHolder(),
+                               this, "Agent",
                                null, EntitySelectionElement.ALL, style);
                text = formFactory.createMultiLineTextWithLabel(this, "Text", 100,
                                style);
index 5fc674c8ef99f4e3f2cd69c94e508b462842a667..7216436dded467863d7ee029370985574408b53d 100644 (file)
@@ -75,7 +75,8 @@ public class RightsSection extends AbstractEntityCollectionSection<IdentifiableE
      */
     @Override
     public Rights addExisting() {
-        return RightsSelectionDialog.select(getShell(), getConversationHolder(), null);
+        return RightsSelectionDialog.select(getShell(), //getConversationHolder(),
+                null);
     }
 
     /**
index f260902cbd0c6c07c6533304a1616b430cf8b9b0..035adc641cf6b6ff0e615696fd2f544abcf96060 100644 (file)
@@ -71,8 +71,8 @@ public class TaxonBaseDetailElement extends AbstractIdentifiableEntityDetailElem
 
 
 
-               selection_secundum = formFactory.createSelectionElement(Reference.class,
-                               getConversationHolder(), formElement, "Secundum",
+               selection_secundum = formFactory.createSelectionElement(Reference.class,//getConversationHolder(),
+                                formElement, "Secundum",
                                entity.getSec(), EntitySelectionElement.ALL,
                                style);
 
index 25c186cb54365d900d148b3c519e854947cde876..aa03a0689ede731e99b19dc4948bdf40c77db7e9 100644 (file)
@@ -1,8 +1,8 @@
 /**
  * Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy 
+ * European Distributed Institute of Taxonomy
  * http://www.e-taxonomy.eu
- * 
+ *
  * The contents of this file are subject to the Mozilla Public License Version 1.1
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
@@ -43,7 +43,7 @@ public class TaxonDetailElement extends AbstractEntityCollectionElement<Taxon> {
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#setEntity
         * (java.lang.Object)
@@ -55,7 +55,7 @@ public class TaxonDetailElement extends AbstractEntityCollectionElement<Taxon> {
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#
         * createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, int)
         */
@@ -63,13 +63,14 @@ public class TaxonDetailElement extends AbstractEntityCollectionElement<Taxon> {
        public void createControls(ICdmFormElement element, int style) {
                selection_taxon = formFactory
                                .createSelectionElement(Taxon.class,
-                                               getConversationHolder(), element, "Taxon", null,
+//                                             getConversationHolder(),
+                                       element, "Taxon", null,
                                                EntitySelectionElement.NOTHING, style);
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#handleEvent
         * (java.lang.Object)
index 625b431c513f526f84bcfcf6105136fe8861e020..d4763904c0db4d012057c2d893b25adf998f31b9 100644 (file)
@@ -68,7 +68,7 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
                                        getTaxonRelationshipTypeInverseContainer(), style);
                        combo_taxonRelationshipType.setEnabled(false);
                        selection_relatedTaxon = formFactory.createSelectionElement(
-                                       Taxon.class, getConversationHolder(),
+                                       Taxon.class, //getConversationHolder(),
                                        formElement, "Related Taxon", getRelatedTaxon(),
                                        EntitySelectionElement.SELECTABLE, style);
                        checkBoxDoubtful = formFactory.createCheckbox(formElement, "Relation is doubtful", entity.isDoubtful(), style);
@@ -88,8 +88,8 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
                        addControl(taxonElement);
                        addElement(taxonElement);
 
-                       sensuReference = formFactory.createSelectionElement(Reference.class,
-                               getConversationHolder(), formElement, "Sensu",
+                       sensuReference = formFactory.createSelectionElement(Reference.class,//getConversationHolder(),
+                                formElement, "Sensu",
                                taxon.getSec(), EntitySelectionElement.ALL,
                                style);
 
@@ -98,8 +98,8 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<Tax
                                        taxon.getSecMicroReference(),null,
                                        SWT.WRAP);
 
-                       secReference = formFactory.createSelectionElement(Reference.class,
-                                       getConversationHolder(), formElement, "Misappl. Sec.",
+                       secReference = formFactory.createSelectionElement(Reference.class,//getConversationHolder(),
+                                       formElement, "Misappl. Sec.",
                                        entity.getCitation(), EntitySelectionElement.ALL,
                                        style);
 
index 0d09578eba5e3c3cd53a207b25bd147474490cd0..87be89877866be9d16cd27cf21a9c806022dec9d 100644 (file)
@@ -23,14 +23,12 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.taxeditor.model.ImageResources;
-import eu.etaxonomy.taxeditor.ui.dialog.selection.NameSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonBaseSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;
 
 /**
  * @author n.hoffmann
@@ -51,7 +49,7 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
 
        @Override
        public String getHeading() {
-               
+
                return getEntity() != null ? StringUtils.replace( getEntity().getType().getLabel(), "for", ""): "Taxon Relation";
        }
 
@@ -75,11 +73,11 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
        public TaxonBase getTaxonBase() {
                return taxon;
        }
-       
+
        private void setName(TaxonName name){
                this.name = name;
        }
-       
+
        @Override
        protected Control createToolbar() {
                ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
@@ -89,7 +87,8 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
                    Action chooseTaxonAction = new Action("Choose Taxon", IAction.AS_PUSH_BUTTON){
                        @Override
                        public void run() {
-                           Taxon taxon = TaxonBaseSelectionDialog.selectTaxon(getShell(), getConversationHolder(), getEntity().getFromTaxon());
+                           Taxon taxon = TaxonBaseSelectionDialog.selectTaxon(getShell(), //getConversationHolder(),
+                                   getEntity().getFromTaxon());
                            if(taxon!=null){
                             taxon = HibernateProxyHelper.deproxy(taxon);
                             name = taxon.getName();
@@ -97,7 +96,7 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
                             rel.setFromTaxon(taxon);
                             setEntity(rel);
                             setTaxonBase(taxon);
-                           
+
                             firePropertyChangeEvent(TaxonRelationshipDetailSection.this);
                            }
                        }
index f611e6bb9b8b66dc02088693d16dff616feffbfa..18b60466518e0b6c9d3977de27fec35dccac3137 100644 (file)
@@ -10,7 +10,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
- * 
+ *
  * @author n.hoffmann
  * @created Mar 10, 2011
  * @version 1.0
@@ -36,7 +36,7 @@ public class GroupsByUserDetailElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#setEntity
         * (java.lang.Object)
@@ -48,21 +48,21 @@ public class GroupsByUserDetailElement extends
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#
         * createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, int)
         */
        @Override
        public void createControls(ICdmFormElement element, int style) {
                selection_group = formFactory
-                               .createSelectionElement(Group.class,
-                                               getConversationHolder(), element, "", getEntity(),
+                               .createSelectionElement(Group.class,//getConversationHolder(),
+                                       element, "", getEntity(),
                                                EntitySelectionElement.NOTHING, style);
        }
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#handleEvent
         * (java.lang.Object)
index e9b8b1b73b84c0cbee46417c0048d57e4eaad83a..c453a1e15098ef7df177baf4d67261cffa03507b 100644 (file)
@@ -45,7 +45,8 @@ public class GroupsByUserDetailSection extends AbstractEntityCollectionSection<U
         */
        @Override
        public Group createNewElement() {
-               Group selectedGroup = GroupSelectionDialog.select(getShell(), getConversationHolder(), null);
+               Group selectedGroup = GroupSelectionDialog.select(getShell(), //getConversationHolder(),
+                       null);
                return selectedGroup;
        }
 
index 673befb06c6497402ec0828738f1e111aec875e8..cc33c9b651849a76d4dcbc727c733d6192342df0 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * 
+ *
  */
 package eu.etaxonomy.taxeditor.ui.section.user;
 
@@ -15,7 +15,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
  * @author n.hoffmann
- * 
+ *
  */
 public class UserDetailElement extends AbstractCdmDetailElement<User> {
 
@@ -34,7 +34,7 @@ public class UserDetailElement extends AbstractCdmDetailElement<User> {
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
         * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
@@ -58,10 +58,10 @@ public class UserDetailElement extends AbstractCdmDetailElement<User> {
 
                selection_person = formFactory
                                .createSelectionElement(Person.class,
-                                               getConversationHolder(), 
-                                               formElement, 
+                                               //getConversationHolder(),
+                                               formElement,
                                                "Person",
-                                               entity.getPerson(), 
+                                               entity.getPerson(),
                                                EntitySelectionElement.EDITABLE | EntitySelectionElement.SELECTABLE,
                                                style);
 
@@ -77,7 +77,7 @@ public class UserDetailElement extends AbstractCdmDetailElement<User> {
        }
 
        /**
-        * 
+        *
         * @return
         */
        private boolean userIsAuthenticated() {
@@ -87,7 +87,7 @@ public class UserDetailElement extends AbstractCdmDetailElement<User> {
 
        /*
         * (non-Javadoc)
-        * 
+        *
         * @see
         * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
         * .lang.Object)
index 6650b838af6c2de73c8ffef12a6bd8c121d90cfd..872846befeda12a527960f1195bf786f711d1e12 100644 (file)
@@ -1,19 +1,19 @@
 package eu.etaxonomy.taxeditor.ui.selection;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 
 public class ClassificationSelectionElement extends EntitySelectionElement<Classification> {
 
-       public ClassificationSelectionElement(CdmFormFactory formFactory,
-                       ConversationHolder conversation, ICdmFormElement parentElement,
+       public ClassificationSelectionElement(CdmFormFactory formFactory,//ConversationHolder conversation, #
+               ICdmFormElement parentElement,
                        Class<Classification> clazz, String labelString,
                        Classification entity, int mode, int style) {
-               super(formFactory, conversation, parentElement, clazz, labelString, entity,
+               super(formFactory, //conversation,
+                       parentElement, clazz, labelString, entity,
                                mode, style);
-               
+
        }
 
 }
index 0f6aecbbd1ac530046506c5f0f376d4877d95341..30ebf05424735d0362dbfb1c6fc614e09cd73e48 100644 (file)
@@ -31,7 +31,7 @@ import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.model.molecular.Amplification;
 import eu.etaxonomy.cdm.model.molecular.Primer;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.preference.Resources;
@@ -58,7 +58,8 @@ import eu.etaxonomy.taxeditor.ui.section.grantedAuthority.GrantedAuthorityLabelT
  * @param <T>
  */
 public class EntitySelectionElement<T extends CdmBase> extends
-               AbstractCdmFormElement implements  SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement<T>, ILabeledElement, IConversationEnabled, Observer {
+               AbstractCdmFormElement implements  SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement<T>, ILabeledElement, //IConversationEnabled,
+               Observer {
 
        private static final EnumSet<CRUD> UPDATE = EnumSet.of(CRUD.UPDATE);
        private static final EnumSet<CRUD> DELETE = EnumSet.of(CRUD.DELETE);
@@ -67,12 +68,13 @@ public class EntitySelectionElement<T extends CdmBase> extends
        /**
         * Bitmask for configuring functionality of selection element
         */
-       public static final int NOTHING = 0; // 000
-       public static final int EDITABLE = 1 << 0; // 001
-       public static final int DELETABLE = 1 << 1; // 010
-       public static final int SELECTABLE = 1 << 2; // 100
-       public static final int ALL = EDITABLE | DELETABLE | SELECTABLE; // 111
-
+       public static final int NOTHING = 0; // 0000
+       public static final int EDITABLE = 1 << 0; // 0001
+       public static final int DELETABLE = 1 << 1; // 0010
+       public static final int SELECTABLE = 1 << 2; // 0100
+       public static final int EXTERNAL = 1 << 3; // 1000
+       public static final int ALL = EDITABLE | DELETABLE | SELECTABLE ; // 0111
+       public static final int ALL_WITH_EXT = EDITABLE | DELETABLE | SELECTABLE | EXTERNAL ; // 1111
        protected T entity;
        protected T filteredEntity;
 
@@ -80,6 +82,8 @@ public class EntitySelectionElement<T extends CdmBase> extends
        protected Text text;
        protected Button button_selection;
 
+       protected Button button_selectionExt;
+
        private SelectionArbitrator selectionArbitrator;
 
        protected Button button_edit;
@@ -93,23 +97,26 @@ public class EntitySelectionElement<T extends CdmBase> extends
        private final boolean isEditable;
 
        private final boolean isDeletable;
+       private final boolean isExternal;
 
-       private final ConversationHolder conversation;
+//     private final ConversationHolder conversation;
        private Class<T> clazz;
 
        public EntitySelectionElement(CdmFormFactory formFactory,
-                       ConversationHolder conversation, ICdmFormElement parentElement, Class<T> clazz,
+//                     ConversationHolder conversation,
+               ICdmFormElement parentElement, Class<T> clazz,
                        String labelString, T entity, int mode, int style, boolean filterElement) {
                super(formFactory, parentElement);
 
                this.clazz = clazz;
                this.isEditable = (mode & EDITABLE) == EDITABLE;
                this.isDeletable = (mode & DELETABLE) == DELETABLE;
+               this.isExternal= (mode & EXTERNAL) == EXTERNAL;
                boolean isSelectable = (mode & SELECTABLE) == SELECTABLE;
 
                this.labelString = (labelString == null || labelString.equals("")) ? "" : labelString;
 
-               this.conversation = conversation;
+//             this.conversation = conversation;
 
                if (isSelectable && formFactory.getSelectionProvider() != null) {
                        selectionArbitrator = formFactory.createSelectionArbitrator(this);
@@ -128,10 +135,11 @@ public class EntitySelectionElement<T extends CdmBase> extends
 
     }
 
-    public EntitySelectionElement(CdmFormFactory formFactory,
-            ConversationHolder conversation, ICdmFormElement parentElement, Class<T> clazz,
+    public EntitySelectionElement(CdmFormFactory formFactory,//ConversationHolder conversation,
+             ICdmFormElement parentElement, Class<T> clazz,
             String labelString, T entity, int mode, int style){
-        this(formFactory, conversation, parentElement, clazz, labelString, entity, mode, style, false);
+        this(formFactory, //conversation,
+                parentElement, clazz, labelString, entity, mode, style, false);
     }
 
        private void createControls(Composite parent, int style) {
@@ -150,6 +158,9 @@ public class EntitySelectionElement<T extends CdmBase> extends
                if (isDeletable) {
                        columns += 1;
                }
+               if (isExternal) {
+            columns += 1;
+        }
 
                selectableComposite.setLayout(LayoutConstants.LAYOUT(columns, false));
                selectableComposite.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
@@ -172,7 +183,16 @@ public class EntitySelectionElement<T extends CdmBase> extends
 
                addControl(button_selection);
                button_selection.addSelectionListener(this);
-
+               if (isExternal){
+               button_selectionExt = formFactory.createButton(selectableComposite, null,
+                    SWT.PUSH);
+               button_selectionExt.setImage(ImageResources
+                    .getImage(ImageResources.BROWSE_ICON));
+               button_selectionExt.setToolTipText("Browse existing from external cdm store");
+               button_selectionExt.setText("Ext");
+            addControl(button_selectionExt);
+            button_selectionExt.addSelectionListener(this);
+               }
                if (isEditable) {
                        button_edit = formFactory.createButton(selectableComposite, null,
                                        SWT.PUSH);
@@ -196,8 +216,16 @@ public class EntitySelectionElement<T extends CdmBase> extends
 
        @Override
     public void widgetSelected(SelectionEvent e) {
-               T selection = SelectionDialogFactory.getSelectionFromDialog(clazz, getShell(), getConversationHolder(), getFilteredEntity(), getParentElement());
-               setSelectionInternal(selection);
+           if (e.getSource().equals(button_selection) ){
+               T selection = SelectionDialogFactory.getSelectionFromDialog(clazz, getShell(), //getConversationHolder(),
+                       getFilteredEntity(), getParentElement());
+            setSelectionInternal(selection);
+           }else{
+               Reference selection = SelectionDialogFactory.getSelectionFromExtDialog(Reference.class, getShell(),//null,
+                       getParentElement());
+            setSelectionInternal((T)selection);
+           }
+
        }
 
        /**
@@ -437,9 +465,12 @@ public class EntitySelectionElement<T extends CdmBase> extends
         * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
         *         object.
         */
-       @Override
+//     @Override
        public ConversationHolder getConversationHolder() {
-               return conversation;
+           if(getParentElement() instanceof IConversationEnabled) {
+            return ((IConversationEnabled)getParentElement()).getConversationHolder();
+        }
+           return null;
        }
 
        /** {@inheritDoc} */
@@ -474,9 +505,9 @@ public class EntitySelectionElement<T extends CdmBase> extends
        }
 
        /** {@inheritDoc} */
-       @Override
-       public void update(CdmDataChangeMap changeEvents) {
-       }
+//     @Override
+//     public void update(CdmDataChangeMap changeEvents) {
+//     }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement#removeElements()
index ac926a72535dec61c3f82aa393819cde6bbd3c80..96a521c6e0071ec70d9cf741442699d5e1f581a9 100644 (file)
@@ -3,7 +3,6 @@
  */
 package eu.etaxonomy.taxeditor.ui.selection;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
@@ -22,9 +21,10 @@ public class EntitySelectionElementWithAbbreviatedTitle<T extends CdmBase> exten
      * @param mode
      * @param style
      */
-    public EntitySelectionElementWithAbbreviatedTitle(CdmFormFactory formFactory, ConversationHolder conversation,
+    public EntitySelectionElementWithAbbreviatedTitle(CdmFormFactory formFactory,// ConversationHolder conversation,
             ICdmFormElement parentElement, Class<T> clazz, String labelString, T entity, int mode, int style) {
-        super(formFactory, conversation, parentElement, clazz, labelString, entity, mode, style);
+        super(formFactory, //conversation,
+                parentElement, clazz, labelString, entity, mode, style);
     }
 
     @Override
index 94b0beaf0122f80fa0d7645cf7fa15ca556aa848..e661c7aae2c97f11a4462d372ffc68b7865abc7f 100644 (file)
@@ -11,7 +11,6 @@ package eu.etaxonomy.taxeditor.ui.selection;
 
 import org.eclipse.swt.events.SelectionEvent;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.taxeditor.ui.dialog.selection.NomenclaturalAuthorTeamSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -52,10 +51,11 @@ public class NomenclaturalAuthorTeamSelectionElement extends
         * @param style
         *            a int.
         */
-       public NomenclaturalAuthorTeamSelectionElement(CdmFormFactory formFactory,
-                       ConversationHolder conversation, ICdmFormElement parentElement,
+       public NomenclaturalAuthorTeamSelectionElement(CdmFormFactory formFactory,//ConversationHolder conversation,
+               ICdmFormElement parentElement,
                        String labelString, Team entity, int mode, int style) {
-               super(formFactory, conversation, parentElement, Team.class, labelString, entity,
+               super(formFactory,// conversation,
+                       parentElement, Team.class, labelString, entity,
                                mode, style);
        }
 
@@ -69,7 +69,8 @@ public class NomenclaturalAuthorTeamSelectionElement extends
        @Override
        public void widgetSelected(SelectionEvent e) {
                Team newSelection = NomenclaturalAuthorTeamSelectionDialog.select(
-                               getShell(), getConversationHolder(), entity);
+                               getShell(), //getConversationHolder(),
+                               entity);
                setSelectionInternal(newSelection);
        }
 }
index 0a753619a39653427458f4008e693d3a744d4705..febb2126c24620d7c61a0e82871169c229f40de5 100644 (file)
@@ -10,7 +10,6 @@ package eu.etaxonomy.taxeditor.ui.selection;
 
 import org.eclipse.swt.events.SelectionEvent;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
@@ -27,10 +26,11 @@ public class TaxonNodeSelectionElement extends EntitySelectionElement<TaxonNode>
 
        private Classification classification;
 
-       public TaxonNodeSelectionElement(CdmFormFactory formFactory,
-                       ConversationHolder conversation, ICdmFormElement parentElement,
+       public TaxonNodeSelectionElement(CdmFormFactory formFactory,//ConversationHolder conversation,
+               ICdmFormElement parentElement,
                        String labelString, TaxonNode entity, int mode, int style) {
-               super(formFactory, conversation, parentElement, TaxonNode.class, labelString, entity, mode,
+               super(formFactory, //conversation,
+                       parentElement, TaxonNode.class, labelString, entity, mode,
                                style);
        }
 
@@ -55,8 +55,8 @@ public class TaxonNodeSelectionElement extends EntitySelectionElement<TaxonNode>
        /** {@inheritDoc} */
        @Override
        public void widgetSelected(SelectionEvent e) {
-               TaxonNode newSelection = TaxonNodeSelectionDialog.select(getShell(),
-                               getConversationHolder(), "Select parent taxon", null, null, getClassification());
+               TaxonNode newSelection = TaxonNodeSelectionDialog.select(getShell(),//getConversationHolder(),
+                       "Select parent taxon", null, null, getClassification());
                setSelectionInternal(newSelection);
        }
 
index 3805858b0506e8fe47e49becc6f81f13eda8a298..833b38bb14fcfe3c977f9f7de455d0029ec533fc 100644 (file)
@@ -84,7 +84,9 @@ IConversationEnabled, IPartContentHasDetails, IPartContentHasSupplementalData, I
      */
     @Override
     public void setFocus() {
-        tableViewer.getControl().setFocus();
+        if (!tableViewer.getControl().isDisposed()) {
+            tableViewer.getControl().setFocus();
+        }
         //make sure to bind again if maybe in another view the conversation was unbound
         if(!conversation.isBound()){
             conversation.bind();
index 3ae9096cc59b6297255b9564837b2be3fa887bf4..d02a89e4decf4216a974ad48daecce225e693adc 100644 (file)
@@ -14,6 +14,8 @@ import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Named;
 
+import org.apache.log4j.Logger;
+import org.apache.lucene.search.similarities.Distribution;
 import org.eclipse.e4.core.di.annotations.Optional;
 import org.eclipse.e4.ui.di.PersistState;
 import org.eclipse.e4.ui.di.UISynchronize;
@@ -25,12 +27,12 @@ import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWTException;
+import org.hibernate.proxy.HibernateProxyHelper;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.description.Distribution;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
@@ -58,7 +60,7 @@ public abstract class AbstractCdmEditorPartE4
      * If it is <code>true</code> then it is currently delaying a selection.
      */
     private boolean isInDelay;
-
+    private static final Logger logger = Logger.getLogger(AbstractCdmEditorPartE4.class);
 
     /**
      * This class invokes internal_selectionChanged() in a separate thread.
@@ -129,8 +131,15 @@ public abstract class AbstractCdmEditorPartE4
             return;
         }
         if (viewer != null && viewer.getControl()!= null && viewer.getInput() != null && !viewer.getControl().isDisposed()){
-            viewer.getControl().setEnabled(true);
+           try{
+               viewer.getControl().setEnabled(true);
+           }catch(SWTException e){
+              logger.debug("Something went wrong for viewer.getControl().setEnabled(true) in " + this.getClass().getSimpleName(), e);
+           }
+
         }
+
+
         if(previousSelection==null ||
                 previousSelection!=selection){//skip redundant rendering of details view
             if(delaySelection==null){
index bbeed1a251504dacbf32ed4b450c6f21bf84ea82..e50a088f07fdca6b1652155e847332890d94f5e4 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: eu.etaxonomy.taxeditor.test
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.test;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: EDIT
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
index 295da03991e49fd6a27d3e6df3db9c9ebd54872e..af8589e89c424ecbd74358a2e50c9f4e110001c8 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
   <artifactId>eu.etaxonomy.taxeditor.test</artifactId>
   <packaging>eclipse-test-plugin</packaging>
index 24a72c46df793518b443611a7771ad839ea14096..ef32bb2049976ce056ef131a352c85c88d460d02 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Webapp
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.webapp;singleton:=true
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Require-Bundle: org.eclipse.core.runtime
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
index 9c3134404bc24f8e4f445abcabadf84ada3eab5e..f518cb2678ce368c283ebd4cbf884ffa5ffa537d 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>eu.etaxonomy.taxeditor.webapp</artifactId>
index 5fe2f379b4ce87325ef960b3daef6524ae63d2d7..1d32a8ba59f462efe61b60d380666780a4b15400 100644 (file)
@@ -4,7 +4,7 @@ Export-Package: eu.etaxonomy.taxeditor.bulkeditor,
  eu.etaxonomy.taxeditor.workbench,
  eu.etaxonomy.taxeditor.workbench.part
 Bundle-Name: Workbench Bundle
-Bundle-Version: 4.11.4
+Bundle-Version: 4.13.0.qualifier
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.e4.ui.workbench,
index 8d0fd7d5cbffbc42933e11cacdb09398b837bbfc..efe29efc55d927def0322eec6203df6631cd5955 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index b883b0920bbca8db9893febd1e6989ed29aaf955..814322dd9b2c8a7dffb648dbf611ff9604245402 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?><product application="eu.etaxonomy.taxeditor.application.application" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" includeLaunchers="true" name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product" useFeatures="true" version="4.11.4">
+<?pde version="3.5"?><product application="eu.etaxonomy.taxeditor.application.application" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" includeLaunchers="true" name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product" useFeatures="true" version="4.13.0.qualifier">
   <aboutInfo>
     <image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
     <text>
index 378bbf40f7d456eb2a632cce577d95d267c30736..91b73f7d5260b2d8f6644ebeef784f85dfb910f6 100644 (file)
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?pde version="3.5"?>
-
-<product name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product.jre" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" application="eu.etaxonomy.taxeditor.application.application" version="4.11.4" useFeatures="true" includeLaunchers="true">
-
+<product name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product.jre" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" application="eu.etaxonomy.taxeditor.application.application" version="4.13.0.qualifier" useFeatures="true" includeLaunchers="true">
    <aboutInfo>
       <image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
       <text>
index 3bddab22f346a01e0a98c6a1d8fdf58a737fae5c..859ac6ba4f573964958ab433491434f972868a7e 100644 (file)
@@ -2,7 +2,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.11.4</version>
+    <version>4.13.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 536fa576235f6a65920f0a8eaafff02c3c9c1cf2..36a6e4bb7b078a45b644ab19b301bb457d85e847 100644 (file)
 <plugin id="org.eclipse.xtext.xtext.generator.source"/>
 <plugin id="org.hamcrest.library"/>
 </includeBundles>
-</target>
\ No newline at end of file
+</target>
+
diff --git a/pom.xml b/pom.xml
index 4aaee786d47a3e0efd5b00fdbfdb74fe0ad7155b..64994e84ff41e9fc77b825182b27a627ba99dc5f 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
   </prerequisites>
   <groupId>eu.etaxonomy</groupId>
   <artifactId>taxeditor-parent</artifactId>
-  <version>4.11.4</version>
+  <version>4.13.0-SNAPSHOT</version>
   <name>EDIT Taxonomic Editor</name>
   <description>The Taxonomic Editor for EDIT's platform for
     cybertaxonomy
   <properties>
     <java.codelevel>1.8</java.codelevel>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <cdmlib.version>4.11.0</cdmlib.version>
+    <cdmlib.version>4.13.0-SNAPSHOT</cdmlib.version>
     <!-- TODO can we use project.version ????? -->
     <!-- Increasing tycho above 0.22.0 will fail for the macosx build because 
       for higher version numbers tycho needs to be build against Eclipse Mars or 
       higher -->
     <tycho.version>1.0.0</tycho.version>
-    <taxeditor.version>4.11.0</taxeditor.version>
+    <taxeditor.version>4.13.0-SNAPSHOT</taxeditor.version>
     <update.dir>snapshot</update.dir>
     <unitils.version>3.4.2</unitils.version>
     <log4j.version>1.2.17</log4j.version>