eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF -text
eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin.properties -text
eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_de.properties -text
-eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_en.properties -text
eu.etaxonomy.taxeditor.application/about.mappings -text
eu.etaxonomy.taxeditor.application/build.properties -text
eu.etaxonomy.taxeditor.application/icons/256color_16x16.gif -text
eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF -text
eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/bundle.properties -text
eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/bundle_de.properties -text
-eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/bundle_en.properties -text
+eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/messages.properties -text
+eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/messages_de.properties -text
eu.etaxonomy.taxeditor.bulkeditor/build.properties -text
eu.etaxonomy.taxeditor.bulkeditor/icons/merge_candidate.gif -text
eu.etaxonomy.taxeditor.bulkeditor/icons/merge_target.gif -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java -text
+eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/Messages.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameRelationshipEditorInput.java -text
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java -text
eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF -text
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin.properties -text
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_de.properties -text
-eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_en.properties -text
eu.etaxonomy.taxeditor.editor/build.properties -text
eu.etaxonomy.taxeditor.editor/icons/address-book-new.png -text
eu.etaxonomy.taxeditor.editor/icons/camera-photo.png -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/handler/EditCdmAuthoritiesHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/EditNewTaxonHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/EditSequenceHandler.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/FixClassificationHierarchyHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/LoadPherogramHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenAlignmentEditorHandler.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenChecklistEditorHandler.java -text
eu.etaxonomy.taxeditor.navigation/META-INF/MANIFEST.MF -text
eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle.properties -text
eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_de.properties -text
-eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_en.properties -text
eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages.properties -text
eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_de.properties -text
-eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_en.properties -text
eu.etaxonomy.taxeditor.navigation/build.properties -text
eu.etaxonomy.taxeditor.navigation/icons/check.png -text
eu.etaxonomy.taxeditor.navigation/icons/edit_16x16.gif -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/dnd/TaxonNavigatorDragAdapterAssistant.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/ChangeAcceptedTaxonToSynonymHandler.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CopyHandler.java -text
+eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CreateClassificationHierarchyHandler.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/EditHandler.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveFactualDataHandler.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/EditClassificationOperation.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateClassification.java -text
+eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateNewTaxonHierarchyOperation.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreatePolytomousKey.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateTaxonNode.java -text
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java -text
eu.etaxonomy.taxeditor.printpublisher/META-INF/MANIFEST.MF -text
eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle.properties -text
eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_de.properties -text
-eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_en.properties -text
eu.etaxonomy.taxeditor.printpublisher/build.properties -text
eu.etaxonomy.taxeditor.printpublisher/p2.inf -text
eu.etaxonomy.taxeditor.printpublisher/plugin.xml -text
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF -text
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties -text
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties -text
-eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_en.properties -text
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties -text
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties -text
-eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_en.properties -text
eu.etaxonomy.taxeditor.store/build.properties -text
eu.etaxonomy.taxeditor.store/icons/256color_16x16.bmp -text
eu.etaxonomy.taxeditor.store/icons/256color_32x32.bmp -text
eu.etaxonomy.taxeditor.store/icons/amplification_derivate-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/applications-office.png -text
eu.etaxonomy.taxeditor.store/icons/artwork_derivate-16x16-32.png -text
+eu.etaxonomy.taxeditor.store/icons/artwork_derivate_data-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/autonym_no_bg.gif -text
eu.etaxonomy.taxeditor.store/icons/back.gif -text
eu.etaxonomy.taxeditor.store/icons/basionym.gif -text
eu.etaxonomy.taxeditor.store/icons/delete_edit.gif -text
eu.etaxonomy.taxeditor.store/icons/derivate_search_view-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/detail_image_derivate-16x16-32.png -text
+eu.etaxonomy.taxeditor.store/icons/detail_image_derivate_data-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/dna_derivate-16x16-32.png -text
+eu.etaxonomy.taxeditor.store/icons/dna_derivate_data-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/eclipse.gif -text
eu.etaxonomy.taxeditor.store/icons/edit_16x16.gif -text
eu.etaxonomy.taxeditor.store/icons/edit_16x16.ico -text
eu.etaxonomy.taxeditor.store/icons/expandAll.jpg -text
eu.etaxonomy.taxeditor.store/icons/export.gif -text
eu.etaxonomy.taxeditor.store/icons/fieldunit-16x16-32.png -text
+eu.etaxonomy.taxeditor.store/icons/fieldunit_data-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/file_obj.gif -text
eu.etaxonomy.taxeditor.store/icons/filter.gif -text
eu.etaxonomy.taxeditor.store/icons/flat.gif -text
eu.etaxonomy.taxeditor.store/icons/leaf_detail.png -text
eu.etaxonomy.taxeditor.store/icons/linkto_help.gif -text
eu.etaxonomy.taxeditor.store/icons/living_plant_photo_derivate-16x16-32.png -text
+eu.etaxonomy.taxeditor.store/icons/living_plant_photo_derivate_data-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/lock.png -text
eu.etaxonomy.taxeditor.store/icons/lock_open.png -text
eu.etaxonomy.taxeditor.store/icons/lockedstate.gif -text
eu.etaxonomy.taxeditor.store/icons/smartmode_co.gif -text
eu.etaxonomy.taxeditor.store/icons/sort.gif -text
eu.etaxonomy.taxeditor.store/icons/specimen_derivate-16x16-32.png -text
+eu.etaxonomy.taxeditor.store/icons/specimen_derivate_data-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/specimen_scan_derivate-16x16-32.png -text
+eu.etaxonomy.taxeditor.store/icons/specimen_scan_derivate_data-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/step_done.gif -text
eu.etaxonomy.taxeditor.store/icons/swap.gif -text
eu.etaxonomy.taxeditor.store/icons/swap2.gif -text
eu.etaxonomy.taxeditor.store/icons/thin_max_view.gif -text
eu.etaxonomy.taxeditor.store/icons/thin_restore_view.GIF -text
eu.etaxonomy.taxeditor.store/icons/tissue_sample-16x16-32.png -text
+eu.etaxonomy.taxeditor.store/icons/tissue_sample_data-16x16-32.png -text
eu.etaxonomy.taxeditor.store/icons/trash.gif -text
eu.etaxonomy.taxeditor.store/icons/tree_icon_small.jpg -text
eu.etaxonomy.taxeditor.store/icons/undo.gif -text
eu.etaxonomy.taxeditor.store/plugin.xml -text
eu.etaxonomy.taxeditor.store/pom.xml -text
eu.etaxonomy.taxeditor.store/schema/eu.etaxonomy.taxeditor.store.cdmViewer.exsd -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/Messages.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/CdmDataSourceRepository.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceCredentialsWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceH2WizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/dnd/CdmAuthorityTableDropTargetListener.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/dnd/transfer/TaxonNodeTransfer.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/ISecuredEditor.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/UsageTermCollection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDragListener.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDropAdapter.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermEditor.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbstractImportWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ClassificationChooserWizardPage.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/CsvExportWizard.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/CsvNameExportWizard.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/CsvPrintExportWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/DarwinCoreArchiveExportWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/EndnoteImportWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ExcelNormalExplicitTaxaImportWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/StoreUtil.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/UsageTermCollection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/UseObjectStore.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/internal/TaxeditorStorePlugin.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/bar/AuthenticatedUserBar.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/VocabularyComboElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DefaultLanguageDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/LoginDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/UriDialog.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateModifierElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/identifier/IdentifierDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/identifier/IdentifierDetailSection.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeoScopeDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/IDerivedUnitFacadeDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OriginalLabelDataSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateModifierCollectionSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewPart.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewerComparator.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/Messages.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/AbstractDataSourceHandler.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/ChangeConnectionHandler.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CloneDataSourceHandler.java -text
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
- <classpathentry including="**/*.java" kind="src" path="src/test/java"/>
- <classpathentry kind="src" path="src/main/resources/"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/main/java"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/test/java"/>\r
+ <classpathentry kind="src" path="src/main/resources"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
Bundle-ManifestVersion: 2
Bundle-Name: Application
Bundle-SymbolicName: eu.etaxonomy.taxeditor.application;singleton:=true
-Bundle-Version: 3.5.1.qualifier
+Bundle-Version: 3.5.2.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
Bundle-Vendor: EDIT
Bundle-Localization: OSGI-INF/l10n/plugin
the License.
extension.name = Taxonomischer Editor
perspective.name = Taxonomisch
-perspective.name.0 = Polytomer Key
-perspective.name.1 = Anwendungen
+perspective.name.0 = Polytomer Schlüssel
+perspective.name.1 = Nutzung
perspective.name.2 = Derivate
menu.label = Datei
menu.label.0 = Bearbeiten
+++ /dev/null
-productName=EDIT Taxonomic Editor\r
-productBlurb=EDIT Taxonomic Editor\n\Version: {0}\nBuild Date: {1} CET\n\n\\r
-Copyright (C) 2009-2014 EDIT\n\European Distributed Institute of Taxonomy \n\\r
-http://cybertaxonomy.eu/ \n\n\\r
-The contents of this product are subject to the Mozilla Public License Version 1.1 \n\\r
-you may not use this product except in compliance with the License. \n\\r
-You may obtain a copy of the License at http://www.mozilla.org/MPL/ \n\\r
-Software distributed under the License is distributed on an 'AS IS' basis, \n\\r
-WITHOUT WARRANTY OF ANY KIND, either express or implied. \n\\r
-See the License for the specific language governing rights and limitations under \n\\r
-the License.\r
-extension.name = Taxonomic Editor\r
-perspective.name = Taxonomic\r
-perspective.name.0 = Polytomous Key\r
-perspective.name.1 = Uses\r
-perspective.name.2 = Derivates\r
-menu.label = General\r
-menu.label.0 = Edit\r
-menu.label.1 = Window\r
-menu.label.2 = Help\r
-menu.label.3 = New\r
-command.label = Close\r
-command.label.0 = Close All\r
-command.label.1 = Save\r
-command.label.2 = Save All\r
-command.label.3 = Import...\r
-command.label.4 = Export...\r
-command.label.5 = Exit\r
-command.label.6 = Undo\r
-command.label.7 = Redo\r
-command.label.8 = Cut\r
-command.label.9 = Copy\r
-command.label.10 = Paste\r
-command.label.11 = Delete\r
-command.label.12 = Preferences\r
-command.label.13 = Help Contents\r
-command.label.14 = Search\r
-command.label.15 = Dynamic Help\r
-command.label.16 = Parser Help Website\r
-command.label.17 = Check for Updates\r
-command.label.18 = Install New Software...\r
-command.label.19 = About Taxonomic Editor\r
-command.label.20 = About the EDIT Platform\r
-command.label.21 = New\r
-command.label.22 = Save\r
-product.name = EDIT Taxonomic Editor\r
-command.name = Parser Help\r
-command.name.0 = About the EDIT Platform\r
-activity.description = Disable unwanted eclipse UI\r
-activity.name = Disable\r
-product.name.0 = EDIT Taxonomic Editor
\ No newline at end of file
icons/,\
OSGI-INF/l10n/plugin.properties,\
OSGI-INF/l10n/plugin_de.properties,\
- OSGI-INF/l10n/plugin_en.properties,\
splash.bmp,\
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
// leading to a recursive infinite loop of :
// initial exception thrown -> status handling -> dialog opening + logging of status ->
// status handling -> dialog opening + logging of status ... and so on
- if(t != null && t instanceof RuntimeException) {
+ if(t != null && t instanceof RuntimeException && ! "Widget is disposed".equals(t.getMessage())){
MessagingUtils.errorDialog("Unexpected error",
null,
MessagingUtils.UNEXPECTED_ERROR_MESSAGE,
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
- <classpathentry including="**/*.java" kind="src" path="src/test/java"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/main/java"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/test/java"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
Bundle-ManifestVersion: 2
Bundle-Name: Bulkeditor Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.bulkeditor;singleton:=true
-Bundle-Version: 3.5.1.qualifier
+Bundle-Version: 3.5.2.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
Bundle-Vendor: EDIT
Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
#Properties file for eu.etaxonomy.taxeditor.bulkeditor
editor.name = Bulk Editor
-editor.name.0 = Namen Editor
+editor.name.0 = Namens Editor
editor.name.1 = Daten-Import Editor
menu.label = Bulk Editor
menu.label.0 = Suche Specimen
view.name = Referenzierende Objekte
page.name = Markertyp
page.name.0 = Bulk Editor
-command.label = \u00D6ffnen im Taxon-Editor
+command.label = Im Taxon-Editor \u00D6ffnen
command.label.0 = Markiere Zeile als Ziel f\u00fcr Duplikatenentfernung
command.label.1 = Markiere als Kandidat(en) f\u00fcr Duplikatenentfernung
-command.label.2 = Entferne Kandidat von Duplikatenentfernung
+command.label.2 = Entferne Kandidat f\u00fcr Duplikatenentfernung
command.label.3 = Dedupliziere Gruppe
command.label.4 = L\u00f6schen
\ No newline at end of file
+++ /dev/null
-#Properties file for eu.etaxonomy.taxeditor.bulkeditor
-editor.name = Bulk Editor
-editor.name.0 = Name Editor
-editor.name.1 = Data Import Editor
-menu.label = Bulk Editor
-menu.label.0 = Search Specimen
-menu.label.1 = New
-menu.label.2 = Set Marker Type
-view.name = Referencing Objects
-page.name = Marker Types
-page.name.0 = Bulk Editor
\ No newline at end of file
--- /dev/null
+BulkEditorInputType_0=Person and Team\r
+BulkEditorInputType_1=Reference\r
+BulkEditorInputType_2=Name\r
+BulkEditorInputType_3=Name Relationship\r
+BulkEditorInputType_4=Specimen and Observation\r
+BulkEditorInputType_5=User\r
+BulkEditorInputType_6=Group\r
+BulkEditorInputType_7=Taxon\r
--- /dev/null
+BulkEditorInputType_0=Person und Team \r
+BulkEditorInputType_1=Referenz\r
+BulkEditorInputType_2=Name\r
+BulkEditorInputType_3=Namensbeziehung\r
+BulkEditorInputType_4=Beleg und Beobachtung\r
+BulkEditorInputType_5=Nutzer\r
+BulkEditorInputType_6=Nutzergruppe\r
+BulkEditorInputType_7=Taxon\r
icons/,\\r
plugin.xml,\\r
p2.inf,\\r
- OSGI-INF/l10n/bundle.properties\r
+ OSGI-INF/l10n/bundle.properties,\\r
+ OSGI-INF/l10n/bundle_de.properties,\\r
+ OSGI-INF/l10n/messages.properties,\\r
+ OSGI-INF/l10n/messages_de.properties\r
+
\ No newline at end of file
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
/** {@inheritDoc} */
@Override
public boolean isMergingEnabled() {
- return false;
+ return true;
}
/** {@inheritDoc} */
package eu.etaxonomy.taxeditor.bulkeditor.input;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
+import java.util.ResourceBundle;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.swt.SWT;
import eu.etaxonomy.cdm.api.service.IReferenceService;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.IUserService;
-import eu.etaxonomy.cdm.api.service.ReferenceServiceImpl;
-import eu.etaxonomy.cdm.io.dwca.in.INamespaceReader;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
public enum BulkEditorInputType {
- AGENT("Authors and Author Teams", AgentEditorInput.ID),
- REFERENCE("Reference", ReferenceEditorInput.ID),
- NAME("Name", NameEditorInput.ID),
- NAME_RELATIONSHIP("Name Relationship", NameRelationshipEditorInput.ID),
- OCCURRENCE("Specimens and Observations", OccurrenceEditorInput.ID),
- USER("User", UserEditorInput.ID),
- GROUP("Group", GroupEditorInput.ID),
- TAXON("Taxon", TaxonEditorInput.ID);
+ AGENT(Messages.BulkEditorInputType_0, AgentEditorInput.ID),
+ REFERENCE(Messages.BulkEditorInputType_1, ReferenceEditorInput.ID),
+ NAME(Messages.BulkEditorInputType_2, NameEditorInput.ID),
+ NAME_RELATIONSHIP(Messages.BulkEditorInputType_3, NameRelationshipEditorInput.ID),
+ OCCURRENCE(Messages.BulkEditorInputType_4, OccurrenceEditorInput.ID),
+ USER(Messages.BulkEditorInputType_5, UserEditorInput.ID),
+ GROUP(Messages.BulkEditorInputType_6, GroupEditorInput.ID),
+ TAXON(Messages.BulkEditorInputType_7, TaxonEditorInput.ID);
public String id;
public String label;
+ public ResourceBundle resourceBundle;
BulkEditorInputType(String label, String id) {
this.id = id;
return new TaxonEditorInput();
default:
throw new IllegalStateException(
- "No input class for the given input type defined.");
+ "No input class for the given input type defined."); //$NON-NLS-1$
}
}
return ITaxonService.class;
default:
throw new IllegalStateException(
- "No input class for the given input type defined.");
+ "No input class for the given input type defined."); //$NON-NLS-1$
}
}
}
\ No newline at end of file
--- /dev/null
+package eu.etaxonomy.taxeditor.bulkeditor.input;\r
+\r
+import org.eclipse.osgi.util.NLS;\r
+\r
+public class Messages extends NLS {\r
+ private static final String BUNDLE_NAME = "OSGI-INF/l10n/messages"; //$NON-NLS-1$\r
+ public static String BulkEditorInputType_0;\r
+ public static String BulkEditorInputType_1;\r
+ public static String BulkEditorInputType_2;\r
+ public static String BulkEditorInputType_3;\r
+ public static String BulkEditorInputType_4;\r
+ public static String BulkEditorInputType_5;\r
+ public static String BulkEditorInputType_6;\r
+ public static String BulkEditorInputType_7;\r
+ static {\r
+ // initialize resource bundle\r
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);\r
+ }\r
+\r
+ private Messages() {\r
+ }\r
+}\r
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.reference.Reference;
try {
if (objectClass.getSuperclass().equals(TeamOrPersonBase.class) ){
referencedObject = CdmStore.getService(IAgentService.class).load(entity);
- } else if (objectClass.getSuperclass().equals(TaxonNameBase.class)){
+ } else if (objectClass.getSuperclass().equals(NonViralName.class)){
referencedObject = CdmStore.getService(INameService.class).load(entity);
} else if (objectClass.getSuperclass().equals(TaxonBase.class)){
referencedObject = CdmStore.getService(ITaxonService.class).load(entity);
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry kind="src" path="src/test/java"/>
- <classpathentry kind="src" path="src/main/resources"/>
- <classpathentry kind="src" path="src/test/resources"/>
- <classpathentry exported="true" kind="lib" path="lib/activation-1.1.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/aopalliance-1.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.7.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.7.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/avro-1.6.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-anim-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-awt-util-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-bridge-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-css-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-dom-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-ext-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-extension-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-gvt-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-js-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-parser-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-script-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-svg-dom-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-svggen-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-transcoder-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-util-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-xml-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cglib-nodep-2.2.2.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.8.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-codec-20041127.091804.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.4.jar" sourcepath="lib/commons-dbcp-1.4-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-io-2.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-lang-2.6.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-pool-1.5.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/concurrent-1.3.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/dbunit-2.4.9.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/doxia-core-1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/doxia-logging-api-1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/doxia-module-apt-1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/doxia-module-xhtml-1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/doxia-sink-api-1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/dozer-5.3.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/easymock-3.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/easymockclassextension-2.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/ehcache-core-2.6.9.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/ezmorph-1.0.6.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/fop-1.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/guava-r05.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/h2-1.3.170.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hamcrest-core-1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-c3p0-4.1.10.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-cglib-repack-2.1_3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-commons-annotations-4.0.1.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-core-4.1.10.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-ehcache-4.1.10.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-entitymanager-4.1.10.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-4.1.10.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-jpa-2.0-api-1.0.1.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-4.2.0.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-analyzers-4.2.0.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-engine-4.2.0.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-orm-4.2.0.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-4.3.1.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hsqldb-1.8.0.10.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/httpclient-4.2.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/httpcore-4.2.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/icu4j-2.6.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/identificationKeyAPI-1.0-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/identificationKeyAPI-1.0-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/itextpdf-5.4.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jackson-core-asl-1.8.8.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jackson-mapper-asl-1.8.8.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jakarta-regexp-1.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/javassist-3.17.1-GA.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jaxb-api-2.2.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jaxb-impl-2.2-EA.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jaxb-xjc-2.2-EA.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jaxb1-impl-2.2-EA.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jaxen-1.1.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jboss-logging-3.1.3.GA.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jdbc4-2.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jdom-1.1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/joda-time-2.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/json-lib-2.4-jdk15.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jsr250-api-1.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jtds-1.3.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/junit-4.11.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/junit-benchmarks-0.5.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/log4j-1.2.17.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lsid-client-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lsid-server-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-analyzers-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-core-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-facet-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-grouping-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-highlighter-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-kuromoji-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-memory-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-misc-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-phonetic-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-queries-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-smartcn-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-spatial-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-spellchecker-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-stempel-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/mchange-commons-java-0.2.3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.1.24.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/objenesis-1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/odfdom-java-0.8.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/ognl-2.6.9.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/opencsv-2.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.eclipse.equinox.common-3.6.0.v20110523.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.osgi.core-1.0.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.aop-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.aspects-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.beans-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.context-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.core-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.expression-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.jdbc-3.2.2.RELEASE.jar" sourcepath="lib/org.springframework.jdbc-3.2.2.RELEASE-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.orm-3.2.2.RELEASE.jar" sourcepath="lib/org.springframework.orm-3.2.2.RELEASE-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.oxm-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.test-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.transaction-3.2.2.RELEASE.jar" sourcepath="lib/org.springframework.transaction-3.2.2.RELEASE-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.web-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.web.servlet-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/osgi-3.6.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/p6spy-1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/paranamer-2.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/plexus-classworlds-1.2-alpha-9.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/plexus-container-default-1.0-alpha-30.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/plexus-utils-2.0.5.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/postgresql-9.1-901.jdbc4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/sanselan-0.97-incubator.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/servlet-api-2.5.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.7.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/slf4j-log4j12-1.7.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/snappy-java-1.0.4.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/solr-analysis-extras-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/solr-core-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/solr-solrj-3.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-aop-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-beans-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-context-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-context-support-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-core-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-expression-3.2.2.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-modules-cache-0.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-security-config-3.1.3.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-security-core-3.1.3.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/stax-1.2.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/stax-api-1.0.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-core-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-database-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-dbmaintainer-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-dbunit-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-easymock-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-inject-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-mock-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-orm-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/unitils-spring-3.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/usertype.jodatime-2.0.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/usertype.spi-2.0.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/validation-api-1.0.0.GA.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/wsdl4j-1.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xalan-2.6.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xercesImpl-2.11.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xml-apis-1.0.b2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xml-apis-ext-1.3.04.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xml-resolver-1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xmlgraphics-commons-1.5.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xmlParserAPIs-2.6.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xmlpull-1.1.3.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xmlunit-1.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xom-1.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xpp3_min-1.1.4c.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xpp3-1.1.4c.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xstream-1.4.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/yjp-controller-api-redist-9.0.8.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/google-api-translate-java-0.92.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/odfdom-0.8.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/h2mig_pagestore_addon.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-security-remoting-3.1.3.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jena-core-2.11.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jena-iri-1.0.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.5.1-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.5.1-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.5.1-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.5.1-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.5.1-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.5.1-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.5.1-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.5.1-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.5.1-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.5.1-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.5.1-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.5.1-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.5.1-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.5.1-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.5.1-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.5.1-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/poi-3.10-FINAL.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-3.10-FINAL.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xmlbeans-2.3.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-schemas-3.10-FINAL.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/swagger-annotations-1.3.5.jar"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry kind="src" path="src/main/java"/>\r
+ <classpathentry kind="src" path="src/test/java"/>\r
+ <classpathentry kind="src" path="src/main/resources"/>\r
+ <classpathentry kind="src" path="src/test/resources"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/activation-1.1.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/aopalliance-1.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.7.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.7.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/avro-1.6.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-anim-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-awt-util-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-bridge-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-css-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-dom-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-ext-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-extension-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-gvt-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-js-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-parser-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-script-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-svg-dom-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-svggen-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-transcoder-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-util-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-xml-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cglib-nodep-2.2.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.aopalliance-1.0.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.apache.commons.logging-1.1.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.8.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-codec-20041127.091804.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.4.jar" sourcepath="lib/commons-dbcp-1.4-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-io-2.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-lang-2.6.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-pool-1.5.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/concurrent-1.3.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/dbunit-2.4.9.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/doxia-core-1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/doxia-logging-api-1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/doxia-module-apt-1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/doxia-module-xhtml-1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/doxia-sink-api-1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/dozer-5.3.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/easymock-3.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/easymockclassextension-2.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/ehcache-core-2.6.9.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/ezmorph-1.0.6.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/fop-1.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/guava-r05.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/h2-1.3.170.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hamcrest-core-1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-c3p0-4.1.10.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-cglib-repack-2.1_3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-commons-annotations-4.0.1.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-core-4.1.10.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-ehcache-4.1.10.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-entitymanager-4.1.10.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-4.1.10.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-jpa-2.0-api-1.0.1.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-4.2.0.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-analyzers-4.2.0.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-engine-4.2.0.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-orm-4.2.0.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-4.3.1.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hsqldb-1.8.0.10.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/httpclient-4.2.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/httpcore-4.2.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/icu4j-2.6.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/identificationKeyAPI-1.0-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/identificationKeyAPI-1.0-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/itextpdf-5.4.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jackson-core-asl-1.8.8.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jackson-mapper-asl-1.8.8.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jakarta-regexp-1.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/javassist-3.17.1-GA.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-api-2.2.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-impl-2.2-EA.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-xjc-2.2-EA.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jaxb1-impl-2.2-EA.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jaxen-1.1.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jboss-logging-3.1.3.GA.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jdbc4-2.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jdom-1.1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/joda-time-2.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/json-lib-2.4-jdk15.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jsr250-api-1.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jtds-1.3.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/junit-4.11.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/junit-benchmarks-0.5.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/log4j-1.2.17.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lsid-client-1.1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lsid-server-1.1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-analyzers-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-core-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-facet-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-grouping-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-highlighter-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-kuromoji-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-memory-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-misc-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-phonetic-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-queries-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-smartcn-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-spatial-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-spellchecker-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-stempel-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/mchange-commons-java-0.2.3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.1.24.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/objenesis-1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/odfdom-java-0.8.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/ognl-2.6.9.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/opencsv-2.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.eclipse.equinox.common-3.6.0.v20110523.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.osgi.core-1.0.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.aop-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.aspects-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.beans-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.context-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.core-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.expression-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.jdbc-3.2.2.RELEASE.jar" sourcepath="lib/org.springframework.jdbc-3.2.2.RELEASE-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.orm-3.2.2.RELEASE.jar" sourcepath="lib/org.springframework.orm-3.2.2.RELEASE-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.oxm-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.test-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.transaction-3.2.2.RELEASE.jar" sourcepath="lib/org.springframework.transaction-3.2.2.RELEASE-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.web-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.web.servlet-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/osgi-3.6.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/p6spy-1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/paranamer-2.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/plexus-classworlds-1.2-alpha-9.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/plexus-container-default-1.0-alpha-30.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/plexus-utils-2.0.5.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/postgresql-9.1-901.jdbc4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/sanselan-0.97-incubator.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/servlet-api-2.5.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.7.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/slf4j-log4j12-1.7.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/snappy-java-1.0.4.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/solr-analysis-extras-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/solr-core-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/solr-solrj-3.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-aop-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-beans-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-context-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-context-support-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-core-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-expression-3.2.2.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-modules-cache-0.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-security-config-3.1.3.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-security-core-3.1.3.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/stax-1.2.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/stax-api-1.0.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-core-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-database-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-dbmaintainer-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-dbunit-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-easymock-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-inject-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-mock-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-orm-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/unitils-spring-3.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/usertype.jodatime-2.0.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/usertype.spi-2.0.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/validation-api-1.0.0.GA.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/wsdl4j-1.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xalan-2.6.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xercesImpl-2.11.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xml-apis-1.0.b2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xml-apis-ext-1.3.04.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xml-resolver-1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xmlgraphics-commons-1.5.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xmlParserAPIs-2.6.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xmlpull-1.1.3.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xmlunit-1.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xom-1.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xpp3_min-1.1.4c.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xpp3-1.1.4c.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xstream-1.4.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/yjp-controller-api-redist-9.0.8.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/google-api-translate-java-0.92.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/odfdom-0.8.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/h2mig_pagestore_addon.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-security-remoting-3.1.3.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jena-core-2.11.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jena-iri-1.0.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.5.2-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.5.2-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.5.2-SNAPSHOT.jar" sourcepath="lib/cdmlib-io-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.5.2-SNAPSHOT.jar" sourcepath="lib/cdmlib-model-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.5.2-SNAPSHOT.jar" sourcepath="lib/cdmlib-persistence-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.5.2-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.5.2-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.5.2-SNAPSHOT.jar" sourcepath="lib/cdmlib-services-3.5.2-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/poi-3.10-FINAL.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-3.10-FINAL.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xmlbeans-2.3.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-schemas-3.10-FINAL.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/swagger-annotations-1.3.5.jar"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
Bundle-ManifestVersion: 2
Bundle-Name: CDM Library Dependencies Plugin
Bundle-SymbolicName: eu.etaxonomy.taxeditor.cdmlib;singleton:=true
-Bundle-Version: 3.5.1.qualifier
+Bundle-Version: 3.5.2.qualifier
Eclipse-BundleShape: dir
Export-Package: com.google.api,
com.google.api.detect,
eu.etaxonomy.cdm.io.common.events,
eu.etaxonomy.cdm.io.common.mapping,
eu.etaxonomy.cdm.io.common.mapping.out,
+ eu.etaxonomy.cdm.io.csv.caryophyllales.out,
eu.etaxonomy.cdm.io.csv.redlist.demo,
eu.etaxonomy.cdm.io.csv.redlist.out,
eu.etaxonomy.cdm.io.dwca,
lib/spring-security-remoting-3.1.3.RELEASE.jar,
lib/jena-core-2.11.2.jar,
lib/jena-iri-1.0.2.jar,
- lib/cdmlib-commons-3.5.1-SNAPSHOT-sources.jar,
- lib/cdmlib-commons-3.5.1-SNAPSHOT.jar,
- lib/cdmlib-ext-3.5.1-SNAPSHOT-sources.jar,
- lib/cdmlib-ext-3.5.1-SNAPSHOT.jar,
- lib/cdmlib-io-3.5.1-SNAPSHOT-sources.jar,
- lib/cdmlib-io-3.5.1-SNAPSHOT.jar,
- lib/cdmlib-model-3.5.1-SNAPSHOT-sources.jar,
- lib/cdmlib-model-3.5.1-SNAPSHOT.jar,
- lib/cdmlib-persistence-3.5.1-SNAPSHOT-sources.jar,
- lib/cdmlib-persistence-3.5.1-SNAPSHOT.jar,
- lib/cdmlib-print-3.5.1-SNAPSHOT-sources.jar,
- lib/cdmlib-print-3.5.1-SNAPSHOT.jar,
- lib/cdmlib-remote-3.5.1-SNAPSHOT-sources.jar,
- lib/cdmlib-remote-3.5.1-SNAPSHOT.jar,
- lib/cdmlib-services-3.5.1-SNAPSHOT-sources.jar,
- lib/cdmlib-services-3.5.1-SNAPSHOT.jar,
+ lib/cdmlib-commons-3.5.2-SNAPSHOT-sources.jar,
+ lib/cdmlib-commons-3.5.2-SNAPSHOT.jar,
+ lib/cdmlib-ext-3.5.2-SNAPSHOT-sources.jar,
+ lib/cdmlib-ext-3.5.2-SNAPSHOT.jar,
+ lib/cdmlib-io-3.5.2-SNAPSHOT-sources.jar,
+ lib/cdmlib-io-3.5.2-SNAPSHOT.jar,
+ lib/cdmlib-model-3.5.2-SNAPSHOT-sources.jar,
+ lib/cdmlib-model-3.5.2-SNAPSHOT.jar,
+ lib/cdmlib-persistence-3.5.2-SNAPSHOT-sources.jar,
+ lib/cdmlib-persistence-3.5.2-SNAPSHOT.jar,
+ lib/cdmlib-print-3.5.2-SNAPSHOT-sources.jar,
+ lib/cdmlib-print-3.5.2-SNAPSHOT.jar,
+ lib/cdmlib-remote-3.5.2-SNAPSHOT-sources.jar,
+ lib/cdmlib-remote-3.5.2-SNAPSHOT.jar,
+ lib/cdmlib-services-3.5.2-SNAPSHOT-sources.jar,
+ lib/cdmlib-services-3.5.2-SNAPSHOT.jar,
lib/poi-3.10-FINAL.jar,
lib/poi-ooxml-3.10-FINAL.jar,
lib/xmlbeans-2.3.0.jar,
lib/poi-ooxml-3.10-FINAL.jar,\\r
lib/poi-ooxml-schemas-3.10-FINAL.jar,\\r
lib/xmlbeans-2.3.0.jar,\\r
- lib/cdmlib-commons-3.5.1-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-commons-3.5.1-SNAPSHOT.jar,\\r
- lib/cdmlib-ext-3.5.1-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-ext-3.5.1-SNAPSHOT.jar,\\r
- lib/cdmlib-io-3.5.1-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-io-3.5.1-SNAPSHOT.jar,\\r
- lib/cdmlib-model-3.5.1-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-model-3.5.1-SNAPSHOT.jar,\\r
- lib/cdmlib-persistence-3.5.1-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-persistence-3.5.1-SNAPSHOT.jar,\\r
- lib/cdmlib-print-3.5.1-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-print-3.5.1-SNAPSHOT.jar,\\r
- lib/cdmlib-remote-3.5.1-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-remote-3.5.1-SNAPSHOT.jar,\\r
- lib/cdmlib-services-3.5.1-SNAPSHOT-sources.jar,\\r
- lib/cdmlib-services-3.5.1-SNAPSHOT.jar,\\r
+ lib/cdmlib-commons-3.5.2-SNAPSHOT-sources.jar,\\r
+ lib/cdmlib-commons-3.5.2-SNAPSHOT.jar,\\r
+ lib/cdmlib-ext-3.5.2-SNAPSHOT-sources.jar,\\r
+ lib/cdmlib-ext-3.5.2-SNAPSHOT.jar,\\r
+ lib/cdmlib-io-3.5.2-SNAPSHOT-sources.jar,\\r
+ lib/cdmlib-io-3.5.2-SNAPSHOT.jar,\\r
+ lib/cdmlib-model-3.5.2-SNAPSHOT-sources.jar,\\r
+ lib/cdmlib-model-3.5.2-SNAPSHOT.jar,\\r
+ lib/cdmlib-persistence-3.5.2-SNAPSHOT-sources.jar,\\r
+ lib/cdmlib-persistence-3.5.2-SNAPSHOT.jar,\\r
+ lib/cdmlib-print-3.5.2-SNAPSHOT-sources.jar,\\r
+ lib/cdmlib-print-3.5.2-SNAPSHOT.jar,\\r
+ lib/cdmlib-remote-3.5.2-SNAPSHOT-sources.jar,\\r
+ lib/cdmlib-remote-3.5.2-SNAPSHOT.jar,\\r
+ lib/cdmlib-services-3.5.2-SNAPSHOT-sources.jar,\\r
+ lib/cdmlib-services-3.5.2-SNAPSHOT.jar,\\r
lib/swagger-annotations-1.3.5.jar\r
\r
jars.compile.order = .\r
<parent>\r
<groupId>eu.etaxonomy</groupId>\r
<artifactId>taxeditor-parent</artifactId>\r
- <version>3.5.1-SNAPSHOT</version>\r
+ <version>3.5.2-SNAPSHOT</version>\r
</parent>\r
<modelVersion>4.0.0</modelVersion>\r
<artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
Bundle-ManifestVersion: 2
Bundle-Name: Editor Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.editor;singleton:=true
-Bundle-Version: 3.5.1.qualifier
+Bundle-Version: 3.5.2.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
Bundle-Vendor: %Bundle-Vendor.0
Bundle-Localization: OSGI-INF/l10n/plugin
command.name.4 = Change To Accepted Taxon\r
command.name.5 = Change To Misapplication\r
command.name.6 = Swap Synonym With Accepted\r
+\r
command.name.7 = Set Basionym / Original Combination\r
command.name.8 = Remove Basionym / Original Combination\r
command.name.9 = Delete All Empty Names\r
command.name.42 = Open Taxon Editor\r
command.name.43 = Create Field Unit\r
command.name.44 = Deep Delete\r
-command.name.45 = Fix Classification Hierarchy
\ No newline at end of file
+command.name.46 = Move Synonym (Homotypical Group) to another Accepted Taxon\r
+command.label.56 = Move Synonym (Homotypical Group) to another Accepted Taxon
\ No newline at end of file
command.label.3 = Beleg
command.label.4 = Faktendaten
command.label.5 = Medien
-command.label.6 = Konzept
+command.label.6 = Konzeptrelationen
command.label.7 = Konzeptgraph
command.label.8 = \u00d6ffne Parent
menu.label = Neue
command.label.26 = L\u00f6schen
command.label.27 = Neue Faktendaten
menu.label.1 = Neue
-command.label.28 = Bewege Eigenschaften zu Taxon
-command.label.29 = Bewege Elemente zu Taxon
+command.label.28 = Verschiebe Eigenschaften zu Taxon
+command.label.29 = Verschiebe Elemente zu Taxon
command.label.30 = L\u00f6schen
command.label.31 = Speichern
menu.label.2 = Neue Derivate
command.label.36 = Speichern
command.label.37 = Neue Bildergalerie
command.label.38 = Neues Bild
-command.label.39 = Bewege Bild nach oben
-command.label.40 = Bewege Bild nach unten
+command.label.39 = Bild nach oben
+command.label.40 = Bild nach unten
command.label.41 = L\u00f6schen
command.label.42 = Speichern
menu.label.3 = Neue
extension.name = Namensbefehle
category.name.0 = -- Namenseditor
command.name = \u00d6ffne Elter
-command.name.0 = Erstelle Homotypisches Synonym
-command.name.1 = Erstelle Heterotypisches Synonym
-command.name.2 = Erstelle Synonym in Homotypischer Gruppe
+command.name.0 = Erstelle homotypisches Synonym
+command.name.1 = Erstelle heterotypisches Synonym
+command.name.2 = Erstelle Synonym in homotypischer Gruppe
command.name.3 = \u00c4ndere zu Synonym
command.name.4 = \u00c4ndere zu akzeptiertem Taxon
command.name.5 = \u00c4ndere zu Misapplication
-command.name.6 = Tausche Synonym mit Akzeptiertem Namen
+command.name.6 = Tausche Synonym mit akzeptiertem Namen
+
command.name.7 = Setze Basionym / Originalkombination
command.name.8 = Entferne Basionym / Originalkombination
command.name.9 = L\u00f6sche alle leeren Namen
category.name.1 = -- Fakten
-command.name.10 = erstelle Beschreibungselement
+command.name.10 = Erstelle Beschreibungselement
command.name.11 = Neue Beschreibung
command.name.12 = Bewege Beschreibungselement zu Taxon
command.name.13 = Bewege Beschreibung zu Taxon
category.name.5 = -- Polytomer Bestimmungsschl\u00fcssel
command.name.28 = Neue Kinderknoten
command.name.29 = Neuer Geschwisterknoten
-command.name.30 = Refreshknoten Numbering
-command.name.31 = Wende Layout an
+command.name.30 = Knotennummerierung aktualisieren
+command.name.31 = Layout anwenden
category.name.6 = -- Konzeptbeziehungen
command.name.32 = Erstelle Konzeptrelationen
command.name.33 = \u00d6ffne verbundenes Konzept
category.name.7 = -- Gruppe
command.name.34 = Bearbeite CDM Rechte
command.name.35 = \u00d6ffne Derivate Ansicht
-scheme.description = Die Standard Tastenbindungsschema f\u00fcr den Taxonomischen Editor
-scheme.name = Taxonomic Editor Standard Tastenbindung
-editor.name.7 = Gbif Import Editor
+scheme.description = Die Standard Tastenkombinationsschema f\u00fcr den Taxonomischen Editor
+scheme.name = Taxonomic Editor Standard Tastenkombinationen
+editor.name.6 = Specimen Import Editor
+editor.name.7 = GBIF Import Editor
editor.name.8 = Checklist Editor
view.name.4 = Specimen Import
view.name.5 = GBIF Specimen Import
wizard.description = Sendet eine Anfrage mit den eingegebenen Parametern an den Datenprovider.\nHinweis: Die Anzahl der Anfrageergebnisse sind auf 100 begrenzt.
command.name.40 = Validierung
view.name.6 = Validierung
-marker.field.0 = Objekt Typ
+marker.field.0 = Objekttyp
marker.field.1 = Objekt
marker.field.2 = Attribut
marker.field.3 = Problematischer Wert
-marker.field.4 = Problem Beschreibung
+marker.field.4 = Problembeschreibung
marker.field.5 = Validierer
-marker.field.6 = Entitäts Klasse
-marker.field.7 = Entitäts ID
-extension.name.0 = Validierungs Fehler
+marker.field.6 = Entit�tsklasse
+marker.field.7 = Entit�ts ID
+extension.name.0 = Validierungs-Fehler
command.label.51 = \u00d6ffne Specimen-Editor
command.label.52 = L\u00f6schen
command.label.53 = Neue Field Unit
command.label.54 = L\u00f6schen (mit Kindern)
command.tooltip = Nur Individuals Associations anzeigen
-command.label.55 = \u00d6ffne zugehörige Specimens
+command.label.55 = \u00d6ffne zugeh�rige Specimens
command.name.41 = Nur Individuals Associations anzeigen
command.name.42 = \u00d6ffne Taxon Editor
command.name.43 = Neue Field Unit
command.name.44 = L\u00f6schen (mit Kindern)
-command.name.45 = Erzeuge Taxon-Hierarchie
\ No newline at end of file
+command.name.46 = Verschiebe Synonym(Homotypische Gruppe) zu neuem Akzeptierten Taxon
+command.label.56 = Verschiebe Synonym(Homotypische Gruppe) zu neuem Akzeptierten Taxon
\ No newline at end of file
+++ /dev/null
-#Properties file for taxeditor-editor\r
-Bundle-Vendor.0 = EDIT\r
-Bundle-Name.0 = EDIT Taxonomic Editor - Editor Bundle\r
-command.name.17 = Set Basionym\r
-command.name.18 = Remove Basionym\r
-editor.name = Multipage Taxon Editor\r
-editor.name.0 = Taxon Name Editor\r
-editor.name.1 = Key\r
-editor.name.2 = Polytomous Key Graph Editor\r
-editor.name.3 = Polytomous Key List Editor\r
-editor.name.4 = Cdm Authority Editor\r
-editor.name.5 = Derivate View\r
-view.name = Factual Data\r
-view.name.0 = Uses\r
-view.name.1 = Media\r
-view.name.2 = Concept Relations\r
-view.name.3 = Concept Graph\r
-category.name = Taxonomic Editor\r
-command.label = Reference\r
-command.label.0 = Name\r
-command.label.1 = Team\r
-command.label.2 = Person\r
-command.label.3 = Specimen\r
-command.label.4 = Factual Data\r
-command.label.5 = Media\r
-command.label.6 = Concept\r
-command.label.7 = Concept Graph\r
-command.label.8 = Open Parent\r
-menu.label = New\r
-command.label.9 = Heterotypic Synonym\r
-command.label.10 = Homotypic Synonym\r
-command.label.11 = Synonym In Homotypical Group\r
-menu.label.0 = Change To\r
-command.label.12 = Accepted Taxon\r
-command.label.13 = Synonym\r
-command.label.14 = Misapplication\r
-command.label.15 = Delete\r
-command.label.16 = Delete All Empty Names\r
-command.label.17 = Swap Synonym With Accepted\r
-command.label.18 = Show Details\r
-command.label.19 = Save\r
-command.label.20 = New Node\r
-command.label.21 = Delete\r
-command.label.22 = Apply Layout\r
-command.label.23 = New Key Number\r
-command.label.24 = New Alternative\r
-command.label.25 = Refresh Nodes\r
-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.30 = Delete\r
-command.label.31 = Save\r
-menu.label.2 = New Derivate\r
-command.label.32 = New Use\r
-command.label.33 = New Use Summary\r
-command.label.34 = New Use Record\r
-command.label.35 = Delete\r
-command.label.36 = Save\r
-command.label.37 = New Image Gallery\r
-command.label.38 = New Image\r
-command.label.39 = Move Image Up In List\r
-command.label.40 = Move Image Down In List\r
-command.label.41 = Delete\r
-command.label.42 = Save\r
-menu.label.3 = New\r
-command.label.43 = Open Related Concept\r
-command.label.44 = Delete\r
-command.label.45 = Edit Authorities\r
-extension.name = Name Commands\r
-category.name.0 = -- Name Editor\r
-command.name = Open Parent\r
-command.name.0 = Create Homotypic Synonym\r
-command.name.1 = Create Heterotypic Synonym\r
-command.name.2 = Create Synonym In Homotypical Group\r
-command.name.3 = Change To Synonym\r
-command.name.4 = Change To Accepted Taxon\r
-command.name.5 = Change To Misapplication\r
-command.name.6 = Swap Synonym With Accepted\r
-command.name.7 = Set Basionym / Original Combination\r
-command.name.8 = Remove Basionym / Original Combination\r
-command.name.9 = Delete All Empty Names\r
-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
-category.name.2 = -- New Uses\r
-command.name.14 = New Use\r
-command.name.15 = New Use Summary\r
-command.name.16 = New Use Record\r
-category.name.3 = -- Media\r
-command.name.19 = Move Image Down In List\r
-command.name.20 = New Image Gallery\r
-command.name.21 = New Image\r
-command.name.22 = Move Image Up In List\r
-category.name.4 = -- New Entity\r
-command.name.23 = New Reference\r
-command.name.24 = New Name\r
-command.name.25 = New Team\r
-command.name.26 = New Person\r
-command.name.27 = New Specimen\r
-category.name.5 = -- Polytomous Keys\r
-command.name.28 = New Child Node\r
-command.name.29 = New Sibling Node\r
-command.name.30 = Refresh Node Numbering\r
-command.name.31 = Apply Layout\r
-category.name.6 = -- Concept Relations\r
-command.name.32 = Create Concept Relation\r
-command.name.33 = Open Related Concept\r
-category.name.7 = -- Group\r
-command.name.34 = Edit CDM Authorities\r
-command.name.35 = Open Derivate View\r
-scheme.description = The default key binding scheme for the Taxonomic Editor\r
-scheme.name = Taxonomic Editor Default Key Bindingseditor.name.6 = Specimen Import Editor\r
-editor.name.7 = Gbif Import Editor\r
-editor.name.8 = Checklist Editor\r
-view.name.4 = Specimen Import\r
-view.name.5 = GBIF Specimen Import\r
-command.label.46 = Name\r
-command.label.47 = Reference\r
-command.label.48 = Datasource\r
-command.label.49 = Misapplication\r
-command.label.50 = Use Existing Image\r
-command.name.36 = Create Misapplication\r
-command.name.37 = Use Existing Image\r
-command.name.38 = Open Checklist Editor\r
-command.name.39 = New Datasource\r
-wizard.name = Specimen Search/Import\r
-wizard.description = Queries data provider for specimens with specified parameters.\nNote: Query results are currently limited to 100.\r
-command.name.40 = Validation\r
-view.name.6 = Validation\r
-marker.field.0 = Object Type\r
-marker.field.1 = Object\r
-marker.field.2 = Attribute\r
-marker.field.3 = Problematic Value\r
-marker.field.4 = Problem description\r
-marker.field.5 = Validator\r
-marker.field.6 = Entity Class\r
-marker.field.7 = Entity Id
\ No newline at end of file
p2.inf,\
OSGI-INF/l10n/plugin.properties,\
OSGI-INF/l10n/plugin_de.properties,\
- OSGI-INF/l10n/plugin_en.properties,\
lib/biojava3-alignment-3.0.7.jar,\
lib/biojava3-core-3.0.7.jar,\
lib/core-1.8.5.jar,\
</reference>
</visibleWhen>
</command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
+ label="%command.label.56"
+ style="push">
+ <visibleWhen>
+ <reference
+ definitionId="isSynonym">
+ </reference>
+ </visibleWhen>
+ </command>
<separator
name="taxeditor-editor.separator3"
visible="true">
class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.ToggleShowOnlyIndividualAssociationsHandler"
commandId="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations">
</handler>
- <handler
- class="eu.etaxonomy.taxeditor.editor.handler.FixClassificationHierarchyHandler"
- commandId="eu.etaxonomy.taxeditor.editor.handler.FixClassificationHierarchyHandler">
- </handler>
<handler
class="eu.etaxonomy.taxeditor.editor.handler.alignmenteditor.ToggleInsertOverwriteHandler"
commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.toggleInsertOverwrite">
defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.SwapSynonymAndAcceptedHandler"
id="eu.etaxonomy.taxeditor.editor.name.swapSynonymAndAccepted"
name="%command.name.6">
+ </command>
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.MoveSynonymToAnotherAcceptedTaxonHandler"
+ id="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
+ name="%command.name.46">
</command>
<command
categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
id="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
name="%command.name.44">
</command>
- <command
- defaultHandler="eu.etaxonomy.taxeditor.editor.handler.FixClassificationHierarchyHandler"
- id="eu.etaxonomy.taxeditor.editor.handler.OpenFixClassificationHierarchyHandler"
- name="%command.name.45">
- </command>
<command
defaultHandler="eu.etaxonomy.taxeditor.editor.handler.EditSequenceHandler"
id="eu.etaxonomy.taxeditor.editor.editSequence"
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
container.refresh();
}
}
+ //refresh part title
+ //TODO: refresh taxon node in taxon navigator
+ setPartName();
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
public boolean postOperation(CdmBase objectAffectedByOperation) {
- setDirty(true);
+ setDirty(true);
for (IEditorPart editor : this.getPages()) {
if (editor instanceof IPostOperationEnabled) {
*/\r
package eu.etaxonomy.taxeditor.editor;\r
\r
-import java.net.URI;\r
-import java.net.URISyntaxException;\r
-\r
import org.eclipse.core.runtime.IProgressMonitor;\r
import org.eclipse.ui.IMemento;\r
\r
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
-import eu.etaxonomy.cdm.api.service.IFeatureTreeService;\r
-import eu.etaxonomy.cdm.api.service.ITermService;\r
-import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
-import eu.etaxonomy.cdm.model.common.DefinedTerm;\r
-import eu.etaxonomy.cdm.model.common.MarkerType;\r
-import eu.etaxonomy.cdm.model.common.TermType;\r
-import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
-import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
-import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;\r
import eu.etaxonomy.taxeditor.model.MessagingUtils;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.UseObjectStore;\r
\r
/**\r
- * The context listener will call this class when the uses view is being loaded.\r
- * It checks if the uses view's necessary terms are present in the database.\r
- * It will persist the terms that aren't present, using the CDMLib's services classes.\r
+ * The context listener will call this class when a new context is started.\r
+ * It will reset the UseObjectStore to guarantee the static\r
+ * content of the store will be refreshed each time we load a new context. \r
* @author a.theys\r
+ * @author a.mueller\r
* @created mar 13, 2012\r
*/\r
public class UseObjectManager extends ContextListenerAdapter{\r
\r
@Override\r
public void contextRefresh(IProgressMonitor monitor) {\r
- monitor.subTask("Refreshing the Uses View");\r
- MessagingUtils.warn(getClass(), "Refreshing Uses View warn");\r
- setupNecessaryItems(monitor);\r
+ monitor.subTask("Reset usage data");\r
+ MessagingUtils.warn(getClass(), "Reset usage data");\r
+ UseObjectStore.reset();\r
}\r
\r
\r
@Override\r
public void contextStart(IMemento memento, IProgressMonitor monitor) {\r
- monitor.subTask("Starting the Uses View");\r
- MessagingUtils.warn(getClass(), "Starting Uses View warn");\r
- setupNecessaryItems(monitor);\r
- }\r
-\r
- private void setupNecessaryItems(IProgressMonitor monitor) {\r
-\r
- //retrieve terms and vocabularies from db\r
- Feature featureUseRecord = (Feature) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseRecordFeature);\r
- Feature featureUseSummary = (Feature) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseSummaryFeature);\r
-\r
- ConversationHolder conversation = CdmStore.createConversation();\r
-\r
-\r
- //create use marker type if not exists\r
- createUseMarkerType(conversation);\r
-\r
- //create state vocabulary if not exists\r
- createStateVocabulary(monitor, conversation);\r
-\r
- //create state vocabulary if not exists\r
- createCountryVocabulary(monitor, conversation);\r
-\r
- //create plant part vocabulary\r
- createPlantVocabulary(monitor, conversation);\r
-\r
- //create human group vocabulary\r
- createHumanGroupVocabulary(monitor, conversation);\r
-\r
- if(featureUseRecord == null || featureUseSummary == null) {\r
- TermVocabulary<Feature> featureVocabulary = CdmStore.getService(IVocabularyService.class).find((UsageTermCollection.uuidFeatureVocabulary));\r
-// FeatureTree palmWebFeatureTree = CdmStore.getService(IFeatureTreeService.class).find(UsageTermCollection.uuidPalmWebFeatureTree);\r
-\r
- if (featureUseRecord == null ) {\r
- featureUseRecord = Feature.NewInstance(UsageTermCollection.useRecordFeatureLabel, UsageTermCollection.useRecordFeatureLabel, null);\r
- featureUseRecord.setUuid(UsageTermCollection.uuidUseRecordFeature);\r
- featureUseRecord.setSupportsCategoricalData(true);\r
- featureVocabulary.addTerm(featureUseRecord);\r
- \r
-// if (palmWebFeatureTree != null){\r
-// FeatureNode useRecFeatureNode = FeatureNode.NewInstance(featureUseRecord);\r
-// palmWebFeatureTree.getRoot().addChild(useRecFeatureNode);\r
-// }else{\r
-// StoreUtil.warn(getClass(), "No current feature tree available to add useRecord feature");\r
-// }\r
- }\r
- if (featureUseSummary == null) {\r
- featureUseSummary = Feature.NewInstance(UsageTermCollection.useSummaryFeatureLabel, UsageTermCollection.useSummaryFeatureLabel, null);\r
- featureUseSummary.setUuid(UsageTermCollection.uuidUseSummaryFeature);\r
- featureUseSummary.setSupportsTextData(true);\r
- featureVocabulary.addTerm(featureUseSummary);\r
-// if (palmWebFeatureTree != null){\r
-// FeatureNode useSumFeatureNode = FeatureNode.NewInstance(featureUseSummary);\r
-// palmWebFeatureTree.getRoot().addChild(useSumFeatureNode);\r
-// }else{\r
-// StoreUtil.warn(getClass(), "No current feature tree available to add use summary feature");\r
-// }\r
- }\r
-\r
- CdmStore.getService(IVocabularyService.class).saveOrUpdate(featureVocabulary);\r
-// if (palmWebFeatureTree != null){\r
-// CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(palmWebFeatureTree);\r
-// }\r
- conversation.commit(true);\r
-\r
- }\r
- conversation.close();\r
- }\r
-\r
-\r
- private void createHumanGroupVocabulary(IProgressMonitor monitor,ConversationHolder conversation) {\r
- TermVocabulary<DefinedTerm> humanGroupVocabulary = CdmStore.getService(IVocabularyService.class).find(UsageTermCollection.uuidHumanGroupVocabulary);\r
- if (humanGroupVocabulary == null){\r
- monitor.subTask("create human group vocabulary");\r
- URI termSourceUri = null;\r
- try {\r
- termSourceUri = new URI("eu.etaxonomy.cdm.model.description.DefinedTerm");\r
- } catch (URISyntaxException e) {\r
- e.printStackTrace();\r
- }\r
-\r
- humanGroupVocabulary = TermVocabulary.NewInstance(TermType.Modifier, UsageTermCollection.humanGroupLabel, UsageTermCollection.humanGroupLabel, null, termSourceUri);\r
- humanGroupVocabulary.setUuid(UsageTermCollection.uuidHumanGroupVocabulary);\r
-\r
- DefinedTerm newDummyModifier = DefinedTerm.NewInstance(TermType.Modifier, UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
- newDummyModifier.setUuid(UsageTermCollection.uuidHumanGroupDummy);\r
-\r
- DefinedTerm newSubDummyModifier = DefinedTerm.NewInstance(TermType.Modifier, UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
- newSubDummyModifier.setUuid(UsageTermCollection.uuidEthnicGroupDummy);\r
- newDummyModifier.addIncludes(newSubDummyModifier);\r
- humanGroupVocabulary.addTerm(newDummyModifier);\r
-\r
- CdmStore.getService(IVocabularyService.class).saveOrUpdate(humanGroupVocabulary);\r
- conversation.commit(true);\r
- }\r
- }\r
-\r
-\r
- private void createPlantVocabulary(IProgressMonitor monitor, ConversationHolder conversation) {\r
- TermVocabulary<DefinedTerm> plantPartVocabulary = CdmStore.getService(IVocabularyService.class).find(UsageTermCollection.uuidPlantPartVocabulary);\r
- if (plantPartVocabulary == null){\r
- monitor.subTask("create plant part vocabulary");\r
- URI termSourceUri = null;\r
- try {\r
- termSourceUri = new URI("eu.etaxonomy.cdm.model.description.DefinedTerm");\r
- } catch (URISyntaxException e) {\r
- e.printStackTrace();\r
- }\r
- plantPartVocabulary = TermVocabulary.NewInstance(TermType.Modifier, UsageTermCollection.plantPartLabel, UsageTermCollection.plantPartLabel, null, termSourceUri);\r
- plantPartVocabulary.setUuid(UsageTermCollection.uuidPlantPartVocabulary);\r
-\r
- DefinedTerm newDummyModifier = DefinedTerm.NewInstance(TermType.Modifier, UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
- newDummyModifier.setUuid(UsageTermCollection.uuidPlantPartDummy);\r
- plantPartVocabulary.addTerm(newDummyModifier);\r
-\r
- CdmStore.getService(IVocabularyService.class).saveOrUpdate(plantPartVocabulary);\r
- conversation.commit(true);\r
- }\r
- }\r
-\r
-\r
- private void createCountryVocabulary(IProgressMonitor monitor, ConversationHolder conversation) {\r
- TermVocabulary<DefinedTerm> countryVocabulary = CdmStore.getService(IVocabularyService.class).find(UsageTermCollection.uuidCountryVocabulary);\r
- if (countryVocabulary == null){\r
- monitor.subTask("create country vocabulary");\r
- URI termSourceUri = null;\r
- try {\r
- termSourceUri = new URI("eu.etaxonomy.cdm.model.description.DefinedTerm");\r
- } catch (URISyntaxException e) {\r
- e.printStackTrace();\r
- }\r
- countryVocabulary = TermVocabulary.NewInstance(TermType.Modifier, UsageTermCollection.countryLabel, UsageTermCollection.countryLabel, null, termSourceUri);\r
- countryVocabulary.setUuid(UsageTermCollection.uuidCountryVocabulary);\r
-\r
- DefinedTerm newDummyModifier = DefinedTerm.NewInstance(TermType.Modifier, UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
- newDummyModifier.setUuid(UsageTermCollection.uuidCountryDummy);\r
- countryVocabulary.addTerm(newDummyModifier);\r
-\r
- CdmStore.getService(IVocabularyService.class).saveOrUpdate(countryVocabulary);\r
- conversation.commit(true);\r
- }\r
- }\r
-\r
-\r
- private void createStateVocabulary(IProgressMonitor monitor, ConversationHolder conversation) {\r
- TermVocabulary<State> stateVocabulary = CdmStore.getService(IVocabularyService.class).find(UsageTermCollection.uuidUseCategoryVocabulary);\r
- if (stateVocabulary == null){\r
- monitor.subTask("create state vocabulary");\r
- URI termSourceUri = null;\r
- try {\r
- termSourceUri = new URI("eu.etaxonomy.cdm.model.description.State");\r
- } catch (URISyntaxException e) {\r
- e.printStackTrace();\r
- }\r
-\r
- stateVocabulary = TermVocabulary.NewInstance(TermType.State, UsageTermCollection.useCategoryVocabularyLabel, UsageTermCollection.useCategoryVocabularyLabel, null, termSourceUri);\r
- stateVocabulary.setUuid(UsageTermCollection.uuidUseCategoryVocabulary);\r
-\r
- State newDummyState = State.NewInstance(UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
- newDummyState.setUuid(UsageTermCollection.uuidUseCategoryDummy);\r
- State newDummySubCat = State.NewInstance(UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
- newDummySubCat.setUuid(UsageTermCollection.uuidUseSubCategoryDummy);\r
- newDummyState.addIncludes(newDummySubCat);\r
-\r
- stateVocabulary.addTerm(newDummyState);\r
-\r
- CdmStore.getService(IVocabularyService.class).saveOrUpdate(stateVocabulary);\r
- conversation.commit(true);\r
- }\r
+// monitor.subTask("Starting the Uses View");\r
+// MessagingUtils.warn(getClass(), "Starting Uses View warn");\r
+ UseObjectStore.reset();\r
}\r
\r
\r
- private void createUseMarkerType(ConversationHolder conversation) {\r
- MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType);\r
- if (useMarkertype == null){\r
- useMarkertype = MarkerType.NewInstance(UsageTermCollection.useMakerLabel, UsageTermCollection.useMakerLabel, null);\r
- useMarkertype.setUuid( UsageTermCollection.uuidUseMarkerType);\r
- TermVocabulary<MarkerType> markerTypeVocabulary = CdmStore.getService(IVocabularyService.class).find((UsageTermCollection.uuidMarkersVocabulary));\r
- markerTypeVocabulary.addTerm(useMarkertype);\r
- CdmStore.getService(IVocabularyService.class).saveOrUpdate(markerTypeVocabulary);\r
- conversation.commit(true);\r
- }\r
- }\r
}\r
+++ /dev/null
-package eu.etaxonomy.taxeditor.editor.handler;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-import eu.etaxonomy.cdm.api.service.IClassificationService;
-import eu.etaxonomy.cdm.model.taxon.Classification;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
-public class FixClassificationHierarchyHandler extends AbstractHandler {
-
- private static final Logger logger = Logger.getLogger(FixClassificationHierarchyHandler.class);
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.
- * ExecutionEvent)
- */
- @Override
- public Object execute(ExecutionEvent event) throws ExecutionException {
- boolean isChecklistEditorActivated = PreferencesUtil.getPreferenceStore().getBoolean(
- IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE);
- if (isChecklistEditorActivated) {
- ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- if (currentSelection instanceof IStructuredSelection) {
- Object selectedElement = ((IStructuredSelection) currentSelection).getFirstElement();
- if (selectedElement instanceof Classification) {
-
- Classification classification = (Classification) selectedElement;
- try {
- IClassificationService service = CdmStore.getService(IClassificationService.class);
-
- // Map<String, List<TaxonNode>> sortedGenusList =
- // service.getSortedGenusList(classification.getAllNodes());
-
- Classification newClassification = service.createHierarchyInClassification(classification, null);
-
- MessagingUtils.messageDialog("Fix Hierarchy successful",
- FixClassificationHierarchyHandler.class, "Operation 'Fix Hierarchy' was successful. New classification is " + newClassification.getTitleCache());
-
- } catch (Exception e) {
- MessagingUtils.messageDialog("Failed to open Editor", FixClassificationHierarchyHandler.class,
- "Could not open ChecklistView. The hierarchy is corrupted!", e);
- }
- }
- }
- }
- return null;
- }
-}
public TaxeditorEditorPlugin() {
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
/** {@inheritDoc} */
public void start(BundleContext context) throws Exception {
super.start(context);
EditorStateManager stateManager = new EditorStateManager();
CdmStore.getContextManager().addContextListener(stateManager);
+ UseObjectManager useManager = new UseObjectManager();
+ CdmStore.getContextManager().addContextListener(useManager);
+
ValidationContextListener vcl = new ValidationContextListener();
// CdmStore.getContextManager().addContextListener(vcl);
logger.trace("Plugin started: " + this.getBundle().getSymbolicName());
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
+
/** {@inheritDoc} */
public void stop(BundleContext context) throws Exception {
plugin = null;
* </p>
*/
public void createOrUpdateNameComposites() {
- this.taxon = (Taxon)CdmStore.getService(ITaxonService.class).load(this.getTaxon().getUuid());
+ //this.taxon = (Taxon)CdmStore.getService(ITaxonService.class).load(this.getTaxon().getUuid());
+ //this.taxon = HibernateProxyHelper.deproxy(this.taxon, Taxon.class);
ContainerFactory.createOrUpdateAcceptedTaxonsHomotypicGroup(this);
ContainerFactory.createOrUpdateHeterotypicSynonymyGroups(this);
ContainerFactory.createOrUpdateMisapplicationsGroup(this);
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.MouseAdapter;
public void handleSplitText(String text) {
AbstractGroupedContainer.this.handleSplitText(text);
}
+
+ @Override
+ public void keyPressed(KeyEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void keyReleased(KeyEvent e) {
+ // TODO Auto-generated method stub
+
+ }
};
getNameViewer().getTextWidget().addVerifyListener(lineBreakListener);
+ getNameViewer().getTextWidget().addKeyListener(lineBreakListener);
}
abstract class LabelEllipsisListener extends ControlAdapter {
import java.util.Scanner;
import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.VerifyEvent;
import org.eclipse.swt.events.VerifyListener;
* @created 19.05.2008
* @version 1.0
*/
-public abstract class LineBreakListener implements VerifyListener{
+public abstract class LineBreakListener implements VerifyListener, KeyListener {
private static String LINE_BREAK = System.getProperty("line.separator");
*/
package eu.etaxonomy.taxeditor.editor.name.dnd;
+import org.eclipse.swt.SWTException;
import org.eclipse.swt.dnd.DragSourceEffect;
import org.eclipse.swt.dnd.DragSourceEvent;
import org.eclipse.swt.widgets.Control;
/** {@inheritDoc} */
@Override
public void dragFinished(DragSourceEvent event) {
- // TODO Auto-generated method stub
super.dragFinished(event);
+
}
+
}
import org.eclipse.swt.dnd.DropTargetAdapter;
import org.eclipse.swt.dnd.DropTargetEvent;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
import eu.etaxonomy.cdm.model.reference.Reference;
/** {@inheritDoc} */
public void drop(DropTargetEvent dropTargetEvent) {
-
+ if (!EditorUtil.forceUserSave(target.getEditor(), dropTargetEvent.display.getActiveShell())){
+ return ;
+ }
TaxonBase taxonBase = getDroppedTaxonBase(dropTargetEvent);
Assert.isNotNull(taxonBase);
private AbstractPostOperation createOperation(TaxonBase taxonBase) {
+
if(taxonBase instanceof Synonym){
Synonym synonym = (Synonym) taxonBase;
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
private static final String CONCEPT = "isConceptRelation";
private static final String EMPTY_NAMES = "hasEmptyNames";
private static final String ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS = "isAcceptedAndHasNoHomotypicSynonyms";
-
+
/**
* <p>Constructor for NameEditorMenuPropertyTester.</p>
*/
* @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
*/
/** {@inheritDoc} */
- public boolean test(Object receiver, String property, Object[] args,
+ @Override
+ public boolean test(Object receiver, String property, Object[] args,
Object expectedValue) {
-
+
if(receiver instanceof IStructuredSelection){
-
+
IStructuredSelection selection = (IStructuredSelection) receiver;
-
+
Object selectedElement = selection.getFirstElement();
-
+
if(ACCEPTED.equals(property)){
return isAccepted(selectedElement);
}
return isAcceptedAndHasNoHomotypicSynonyms(selectedElement);
}
}
-
+
return false;
-
+
}
private boolean isAcceptedAndHasNoHomotypicSynonyms(Object selectedElement) {
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
// Add name to new homotypic group
HomotypicalGroup.NewInstance().addTypifiedName(newSynonymName);
monitor.worked(20);
-
+ HibernateProxyHelper.deproxy(element);
// Create a new synonym for the taxon
newSynonymRelationship = element.addHeterotypicSynonymName(newSynonymName);
monitor.worked(40);
-
+
return postExecute(newSynonymRelationship.getSynonym());
}
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
+import eu.etaxonomy.cdm.strategy.merge.MergeException;
/**
* @author pplitzner
return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
}
+ @Override
+ public Team convertPerson2Team(Person arg0) throws MergeException,
+ IllegalArgumentException {
+ return defaultService.convertPerson2Team(arg0);
+ }
+
+ @Override
+ public Person convertTeam2Person(Team arg0) throws MergeException,
+ IllegalArgumentException {
+ return defaultService.convertTeam2Person(arg0);
+ }
+
}
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IClassificationService;
+import eu.etaxonomy.cdm.api.service.UpdateResult;
import eu.etaxonomy.cdm.api.service.config.CreateHierarchyForClassificationConfigurator;
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IClassificationService#createHierarchyInClassification(java.util.Map, eu.etaxonomy.cdm.model.taxon.Classification)
- */
@Override
- public Classification createHierarchyInClassification(Classification arg1, CreateHierarchyForClassificationConfigurator arg2) {
+ public UpdateResult createHierarchyInClassification(Classification arg1, CreateHierarchyForClassificationConfigurator arg2) {
return defaultService.createHierarchyInClassification(arg1, arg2);
}
import java.io.IOException;
import java.util.Collection;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
return defaultService.findWithoutFlush(uuid);
}
+
+
@Override
public <S extends TaxonNameBase> Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
}
+
+
+ @Override
+ public List<HashMap<String, String>> getNameRecords() {
+
+ return defaultService.getNameRecords();
+ }
+
+
+
+
+
}
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator;
-import eu.etaxonomy.cdm.api.service.dto.DerivateDTO;
import eu.etaxonomy.cdm.api.service.dto.FieldUnitDTO;
import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
import eu.etaxonomy.cdm.api.service.dto.PreservedSpecimenDTO;
return getCharacterDataForSpecimen(arg0);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getMostSignificantIdentifier(eu.etaxonomy.cdm.model.occurrence.DerivedUnit)
+ */
+ @Override
+ public String getMostSignificantIdentifier(DerivedUnit derivedUnit) {
+ return defaultService.getMostSignificantIdentifier(derivedUnit);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#countOccurrences(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
+ */
+ @Override
+ public int countOccurrences(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> config) {
+ return defaultService.countOccurrences(config);
+ }
+
}
return defaultService.findByIdentifier(clazz, identifier, identifierType, subtreeFilter, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
}
+
+
+
+
+
+
+ @Override
+ public SynonymRelationship moveSynonymToAnotherTaxon(
+ SynonymRelationship oldSynonymRelation, UUID newTaxonUUID,
+ boolean moveHomotypicGroup,
+ SynonymRelationshipType newSynonymRelationshipType,
+ Reference reference, String referenceDetail, boolean keepReference)
+ throws HomotypicalGroupChangeException {
+
+ return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxonUUID, moveHomotypicGroup, newSynonymRelationshipType, reference, referenceDetail, keepReference);
+ }
+
package eu.etaxonomy.taxeditor.editor.view.descriptive;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
-import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.IDescribable;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
-import eu.etaxonomy.taxeditor.editor.UsageTermCollection;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.TermStore;
+import eu.etaxonomy.taxeditor.store.UsageTermCollection;
/**
* <p>DescriptiveContentProvider class.</p>
FeatureNodeContainer container = (FeatureNodeContainer) parentElement;
if(container.isLeaf()){
List<DescriptionElementBase> descriptionElements = container.getDescriptionElements();
- if(showOnlyIndividualAssociations){
- List<DescriptionElementBase> filteredDescriptionElements = new ArrayList<DescriptionElementBase>();
- for (DescriptionElementBase descriptionElement : descriptionElements) {
- if(descriptionElement instanceof IndividualsAssociation){
- filteredDescriptionElements.add(descriptionElement);
- }
+ List<IndividualsAssociation> individualAssociations = new ArrayList<IndividualsAssociation>();
+ for (DescriptionElementBase descriptionElement : descriptionElements) {
+ if(descriptionElement instanceof IndividualsAssociation){
+ individualAssociations.add((IndividualsAssociation) descriptionElement);
}
- descriptionElements = filteredDescriptionElements;
+ }
+ //sort individual associations by title cache of associated specimens
+ Collections.sort(individualAssociations, new Comparator<IndividualsAssociation>() {
+
+ @Override
+ public int compare(IndividualsAssociation o1, IndividualsAssociation o2) {
+ if(o1==null || o1.getAssociatedSpecimenOrObservation()==null){
+ return -1;
+ }
+ if(o2==null || o2.getAssociatedSpecimenOrObservation()==null){
+ return 1;
+ }
+ return o1.getAssociatedSpecimenOrObservation().compareTo(o2.getAssociatedSpecimenOrObservation());
+ }
+ });
+ if(showOnlyIndividualAssociations){
+ descriptionElements = new ArrayList<DescriptionElementBase>(individualAssociations);
}
return descriptionElements.toArray();
}else{
List<DescriptionBase<?>> resultDescriptions = new ArrayList<DescriptionBase<?>>();
for(DescriptionBase<?> description : elementDescriptions){
if(! description.isImageGallery()){
- MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType);
Set<Marker> descriptionMarkers = description.getMarkers();
if(descriptionMarkers != null && !descriptionMarkers.isEmpty()) {
for (Marker marker: descriptionMarkers) {
- if(!(marker.getMarkerType().equals(useMarkertype))) {
+ if(marker.getMarkerType() != null && !(marker.getMarkerType().getUuid().equals(UsageTermCollection.uuidUseMarkerType))) {
resultDescriptions.add(description);
}
}
return resultDescriptions;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
- */
/** {@inheritDoc} */
@Override
public Object getParent(Object element) {
return null;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
/** {@inheritDoc} */
@Override
public Object[] getElements(Object inputElement) {
return getChildren(inputElement);
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
/**
* <p>dispose</p>
*/
featureNodeContainerCache.clear();
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
- */
/** {@inheritDoc} */
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
@Override
protected void selectionChanged_internal(IWorkbenchPart part, ISelection selection) {
if(AbstractUtility.getActiveEditor() == null){
- setPartName("Factual Data");
+ setPartName(createPartTitle(null));
showEmptyPage();
return;
}
&& ((IStructuredSelection) selection).getFirstElement() instanceof IDescribable<?>
&& part instanceof IPartContentHasFactualData && !(((IStructuredSelection) selection).getFirstElement() instanceof SpecimenOrObservationBase && part instanceof BulkEditor)){
featureNodeContainerCache.clear();
- setPartName("Factual Data: " + ((IStructuredSelection) selection).getFirstElement());
+ setPartName(createPartTitle(((IStructuredSelection) selection).getFirstElement()));
showViewer(part, (IStructuredSelection) selection);
return;
}
else{
- setPartName("Factual Data");
+ setPartName(createPartTitle(null));
showEmptyPage();
}
}
+ protected String getViewName(){
+ return "Factual Data";
+ }
+
+ private String createPartTitle(Object selectedObject){
+ if(selectedObject!=null){
+ return getViewName()+": "+selectedObject;
+ }
+ return getViewName();
+ }
+
/**
*
* @author n.hoffmann
for(FeatureNodeContainerTree containerTree : featureNodeContainerCache.values()){
containerTree.buildTree();
}
+ viewer.expandToLevel(2);
viewer.refresh();
if(object instanceof DescriptionElementBase){
/** {@inheritDoc} */
@Override
public void changed(Object object) {
- viewer.refresh();
- //TODO: should be replaced with the possibility to set views dirty
- // when we move to Eclipse 4
- // take a look at ISaveblePart
- if(part instanceof BulkEditor && !(object instanceof SpecimenOrObservationBase<?>)){
- ((BulkEditor) part).forceDirty();
- }
- super.changed(object);
+ viewer.expandToLevel(2);
+ viewer.refresh();
+ if(object != null){
+ StructuredSelection selection = new StructuredSelection(object);
+ viewer.setSelection(selection, true);
+ }
+ //TODO: should be replaced with the possibility to set views dirty
+ // when we move to Eclipse 4
+ // take a look at ISaveblePart
+ if(part instanceof BulkEditor && !(object instanceof SpecimenOrObservationBase<?>)){
+ ((BulkEditor) part).forceDirty();
+ }
+ super.changed(object);
}
/** {@inheritDoc} */
import java.util.Map;\r
import java.util.Set;\r
\r
-import eu.etaxonomy.cdm.api.service.ITermService;\r
import eu.etaxonomy.cdm.model.common.Marker;\r
import eu.etaxonomy.cdm.model.common.MarkerType;\r
import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
import eu.etaxonomy.cdm.model.description.IDescribable;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveContentProvider;\r
import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.UsageTermCollection;\r
\r
/**\r
* The class provides the required content to the Uses View\r
if(parentElement instanceof Taxon){\r
Taxon taxon = (Taxon) parentElement;\r
this.markerTypes.addAll(CdmStore.getTermManager().getPreferredTerms(MarkerType.class));\r
- for(DescriptionBase description : taxon.getDescriptions()){\r
+ for(DescriptionBase<?> description : taxon.getDescriptions()){\r
if(! description.isImageGallery()){\r
- MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType);\r
- Set<Marker> descriptionMarkers = description.getMarkers();\r
+ Set<Marker> descriptionMarkers = description.getMarkers();\r
if(descriptionMarkers != null) {\r
for (Marker marker: descriptionMarkers) {\r
- if(marker.getMarkerType().equals(useMarkertype)) {\r
+ if(marker.getMarkerType() != null && marker.getMarkerType().getUuid().equals(UsageTermCollection.uuidUseMarkerType)) {\r
descriptions.add(description);\r
}\r
}\r
import eu.etaxonomy.cdm.model.description.TextData;\r
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
-import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
+import eu.etaxonomy.taxeditor.store.UsageTermCollection;\r
\r
/**\r
* UsesLabelProvider Class\r
import org.eclipse.swt.widgets.Tree;\r
\r
import eu.etaxonomy.cdm.model.common.CdmBase;\r
-import eu.etaxonomy.taxeditor.editor.UseObjectManager;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDragListener;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementDropAdapter;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptionElementTransfer;\r
*/\r
public class UsesViewPart extends DescriptiveViewPart {\r
\r
- \r
- \r
public UsesViewPart() {\r
super();\r
- UseObjectManager useManager = new UseObjectManager();\r
}\r
\r
/** Constant <code>ID="eu.etaxonomy.taxeditor.editor.view.uses"</code> */\r
\r
}\r
\r
+ @Override\r
+ protected String getViewName(){\r
+ return "Uses";\r
+ }\r
+\r
/** {@inheritDoc} */\r
@Override\r
public boolean postOperation(CdmBase objectAffectedByOperation) {\r
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.editor.UsageTermCollection;
import eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionElementHandler;
import eu.etaxonomy.taxeditor.editor.view.uses.operation.CreateUseRecordOperation;
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.store.UsageTermCollection;
+import eu.etaxonomy.taxeditor.store.UseObjectStore;
/**
* CreateUseRecordHandler Class
@Override
protected AbstractPostOperation operationCreationInstance(String label, ExecutionEvent event, DescriptionBase<?> description, IPostOperationEnabled postOperationEnabled) {
//Use Record Feature retrieval below
- Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseRecordFeature);
+ Feature feature = UseObjectStore.getUseRecordFeature();
feature.setSupportsCategoricalData(true);
return new CreateUseRecordOperation(label,
EditorUtil.getUndoContext(),
\r
import org.eclipse.core.commands.ExecutionEvent;\r
\r
-import eu.etaxonomy.cdm.api.service.ITermService;\r
import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.taxeditor.editor.EditorUtil;\r
-import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionElementHandler;\r
import eu.etaxonomy.taxeditor.editor.view.uses.operation.CreateUseSummaryOperation;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.UseObjectStore;\r
\r
/**\r
* CreateUseSummaryHandler Class\r
@Override\r
protected AbstractPostOperation operationCreationInstance(String label, ExecutionEvent event, DescriptionBase<?> description, IPostOperationEnabled postOperationEnabled) {\r
//Use Record Feature retrieval below\r
- Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseSummaryFeature);\r
+ Feature feature = UseObjectStore.getUseSummaryFeature();\r
+ \r
feature.setSupportsTextData(true);\r
return new CreateUseSummaryOperation(label, EditorUtil.getUndoContext(), description, feature, postOperationEnabled);\r
}\r
import org.eclipse.core.runtime.IProgressMonitor;\r
import org.eclipse.core.runtime.IStatus;\r
\r
-import eu.etaxonomy.cdm.api.service.ITermService;\r
import eu.etaxonomy.cdm.model.common.Marker;\r
import eu.etaxonomy.cdm.model.common.MarkerType;\r
import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateTaxonDescriptionOperation;\r
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.UseObjectStore;\r
\r
/**\r
* CreateTaxonUseOperation Class\r
super(label, undoContext, taxon, postOperationEnabled);\r
}\r
\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
+\r
/** {@inheritDoc} */\r
@Override\r
public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
\r
description = TaxonDescription.NewInstance(element);\r
monitor.worked(20);\r
- MarkerType useMarkerType = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType);\r
+ MarkerType useMarkerType = UseObjectStore.getUseMarkerType();\r
marker = Marker.NewInstance(useMarkerType, true);\r
description.addMarker(marker);\r
monitor.worked(40);\r
<feature
id="eu.etaxonomy.taxeditor.feature.platform"
label="Taxeditor Dependencies"
- version="3.5.1.qualifier"
+ version="3.5.2.qualifier"
os="linux,macosx,win32"
ws="cocoa,gtk,win32"
arch="x86,x86_64">
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.equinox.p2.publisher.eclipse"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.update.configurator"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eu.etaxonomy.taxeditor.feature.platform</artifactId>
<feature
id="eu.etaxonomy.taxeditor.feature"
label="Taxonomic Editor"
- version="3.5.1.qualifier"
+ version="3.5.2.qualifier"
provider-name="EDIT"
plugin="eu.etaxonomy.taxeditor.application"
os="linux,macosx,win32"
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>eu.etaxonomy.taxeditor.feature</artifactId>
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="target"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry kind="src" path="src"/>\r
+ <classpathentry kind="output" path="target"/>\r
+</classpath>\r
Bundle-ManifestVersion: 2
Bundle-Name: Help
Bundle-SymbolicName: eu.etaxonomy.taxeditor.help; singleton:=true
-Bundle-Version: 3.5.1.qualifier
+Bundle-Version: 3.5.2.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.help.Activator
Bundle-Vendor: EDIT
Require-Bundle: org.eclipse.ui,
<p><img src="../img/2_6a.jpg" alt="" /></p>
-<p><strong>Tip!</strong> A CDM datasource will have a user named admin with password '00000', so you can login immediately. The default password should the be changed.</p>
+<p><strong>Tip!</strong> A CDM datasource will have a user named <b>admin</b> with password <b>'00000'</b>, so you can login immediately. The default password should the be changed.</p>
\ No newline at end of file
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
- <classpathentry including="**/*.java" kind="src" path="src/test/java"/>
- <classpathentry including="**/*.java" kind="src" path="src/test/resources"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/main/java"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/test/java"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/test/resources"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
Bundle-ManifestVersion: 2
Bundle-Name: Navigation Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.navigation;singleton:=true
-Bundle-Version: 3.5.1.qualifier
+Bundle-Version: 3.5.2.qualifier
Bundle-Vendor: EDIT
Export-Package: eu.etaxonomy.cdm,
eu.etaxonomy.taxeditor.navigation,
command.label.17 = List\r
command.label.18 = Key Nodes\r
command.label.19 = Delete\r
+command.label.fixClassificationHierarchy = Create taxon hierarchy\r
command.name = New Taxon Node\r
command.name.0 = New classification\r
command.name.1 = Edit\r
command.name.7 = Edit Polytomous Key nodes\r
command.name.8 = Refresh Polytomous Key list\r
command.name.9 = Refresh Polytomous Key nodes\r
+command.name.10 = Fix Classification Hierarchy\r
+\r
view.name.2 = Taxonomic Tree\r
navigatorContent.name = Classification\r
navigatorContent.name.0 = TaxonNode\r
navigatorContent.name.1 = Synonyms (experimental)\r
-command.label.fixClassificationHierarchy = Create taxon hierarchy\r
command.label.moveFactualData = Move factual data to another taxon\r
command.name.moveFactualData = Move factual data
\ No newline at end of file
command.label.14 = Klassifikation\r
command.label.15 = Neu\r
command.label.16 = Bearbeiten\r
+command.label.fixClassificationHierarchy = Erzeuge Taxon-Hierarchie\r
+\r
menu.label.0 = Aktualisieren\r
command.label.17 = Liste\r
-command.label.18 = Key Nodes\r
+command.label.18 = Schl�sselknoten\r
command.label.19 = L\u00F6schen\r
command.name = Neuer Taxonknoten\r
command.name.0 = Neue Klassifikation\r
command.name.3 = Aktualisieren\r
command.name.4 = Kopieren\r
command.name.5 = Verschiebe akzeptiertes Taxon in Synonymie\r
-command.name.6 = Neuer Polytomous Key\r
-command.name.7 = Bearbeite Polytomous Key Knoten\r
-command.name.8 = Aktualisiere Polytomous Key Liste\r
-command.name.9 = Aktualisiere Polytomous Key Knoten\r
+command.name.6 = Neuer Polytomer Schl�ssel\r
+command.name.7 = Bearbeite Schl�ssel-Knoten\r
+command.name.8 = Aktualisiere Schl�ssel-Liste\r
+command.name.9 = Aktualisiere Schl�ssel-Knoten\r
+command.name.10 = Erzeuge Taxon-Hierarchie\r
view.name.2 = Taxonomiebaum\r
navigatorContent.name = Klassifikation\r
navigatorContent.name.0 = Taxonknoten\r
navigatorContent.name.1 = Synonyme (experimentell)\r
-command.label.fixClassificationHierarchy = Erzeuge Taxon-Hierarchie\r
command.label.moveFactualData = Verschiebe Faktendaten zu Taxon\r
command.name.moveFactualData = Verschiebe Faktendaten
\ No newline at end of file
+++ /dev/null
-#Properties file for eu.etaxonomy.taxeditor.navigation\r
-view.name = Search Result\r
-view.name.0 = Taxon Navigator\r
-view.name.1 = Polytomous Keys\r
-command.label = Taxon Navigator\r
-command.label.0 = Polytomous Keys\r
-command.label.1 = Edit\r
-menu.label = New\r
-command.label.2 = Taxon\r
-command.label.3 = Classification\r
-command.label.4 = Open in Checklist Editor\r
-command.label.5 = Edit\r
-command.label.6 = Change Accepted Taxon to Synonym\r
-command.label.7 = Move Taxon (with child taxa)\r
-command.label.8 = Import...\r
-command.label.9 = Export...\r
-command.label.10 = Delete\r
-command.label.11 = Refresh\r
-command.label.12 = Copy\r
-command.label.13 = Taxon\r
-command.label.14 = Classification\r
-command.label.15 = New\r
-command.label.16 = Edit\r
-menu.label.0 = Refresh\r
-command.label.17 = List\r
-command.label.18 = Key Nodes\r
-command.label.19 = Delete\r
-command.name = New Taxon Node\r
-command.name.0 = New Classification\r
-command.name.1 = Edit\r
-command.name.2 = Move Taxon\r
-command.name.3 = Refresh\r
-command.name.4 = Copy\r
-command.name.5 = Change Accepted Taxon to Synonym\r
-command.name.6 = New Polytomous Key\r
-command.name.7 = Edit Polytomous Key Nodes\r
-command.name.8 = Refresh Polytomous Key List\r
-command.name.9 = Refresh Polytomous Key Nodes\r
-view.name.2 = Taxonomic Tree\r
-navigatorContent.name = Classification\r
-navigatorContent.name.0 = TaxonNode\r
-navigatorContent.name.1 = Synonyms (experimental)
\ No newline at end of file
SearchBar_0=Benutze "*" f\u00FCr Platzhalter-Suche\r
SearchBar_1=Suche\r
SearchBar_2=Suche konnte nicht ausgef\u00FChrt werden\r
-SearchBar_3=Bitte geben Sie mindestens ein Zeichen, wenn Sie die "*" Platzhalter benutzen wollen\r
+SearchBar_3=Bitte geben Sie mindestens ein Zeichen ein, wenn Sie den "*" Platzhalter benutzen wollen\r
SearchBar_4=Fehler beim f\u00fcffnen des Suchergebnisses\r
SearchBar_6=Taxa\r
SearchBar_7=Synonyme\r
+++ /dev/null
-SearchBar_0=Use "*" for wildcard searching\r
-SearchBar_1=Search\r
-SearchBar_2=Could not execute search\r
-SearchBar_3=Please type at least one character when using the "*" wildcard.\r
-SearchBar_4=Error opening search result.\r
-SearchBar_6=Taxa\r
-SearchBar_7=Synonyms\r
-SearchBar_8=Names (without taxa)\r
-SearchBar_9=Common Names\r
icons/,\
p2.inf,\
OSGI-INF/l10n/bundle.properties,\
- OSGI-INF/l10n/bundle_en.properties,\
OSGI-INF/l10n/bundle_de.properties,\
OSGI-INF/l10n/messages.properties,\
- OSGI-INF/l10n/messages_en.properties,\
OSGI-INF/l10n/messages_de.properties
</visibleWhen>
</command>
<command
- commandId="eu.etaxonomy.taxeditor.editor.handler.OpenFixClassificationHierarchyHandler"
+ commandId="eu.etaxonomy.taxeditor.navigation.navigator.handler.OpenFixClassificationHierarchyHandler"
label="%command.label.fixClassificationHierarchy"
style="push">
<visibleWhen
id="eu.etaxonomy.taxeditor.navigation.moveFactualData"
name="%command.name.moveFactualData">
</command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.navigation.navigator.handler.CreateClassificationHierarchyHandler"
+ id="eu.etaxonomy.taxeditor.navigation.navigator.handler.OpenFixClassificationHierarchyHandler"
+ name="%command.name.10">
+ </command>
</extension>
<extension
point="org.eclipse.ui.handlers">
class="eu.etaxonomy.taxeditor.preference.PreferencePropertyTester"
id="eu.etaxonomy.taxeditor.preferences.propertyTester"
namespace="eu.etaxonomy.taxeditor.preferences.propertyTester"
- properties="isChecklistEditorEnabled"
- type="org.eclipse.jface.viewers.IStructuredSelection">
- </propertyTester>
- <propertyTester
- class="eu.etaxonomy.taxeditor.preference.PreferencePropertyTester"
- id="eu.etaxonomy.taxeditor.preferences.propertyTester"
- namespace="eu.etaxonomy.taxeditor.preferences.propertyTester"
- properties="isCdmStoreConnected"
- type="org.eclipse.jface.viewers.IStructuredSelection">
- </propertyTester>
- <propertyTester
- class="eu.etaxonomy.taxeditor.preference.PreferencePropertyTester"
- id="eu.etaxonomy.taxeditor.preferences.propertyTester"
- namespace="eu.etaxonomy.taxeditor.preferences.propertyTester"
- properties="isShowExperimentalFeatures"
+ properties="isCdmStoreConnected, isShowExperimentalFeatures, isChecklistEditorEnabled"
type="org.eclipse.jface.viewers.IStructuredSelection">
</propertyTester>
</extension>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
--- /dev/null
+package eu.etaxonomy.taxeditor.navigation.navigator.handler;
+
+import org.apache.log4j.Logger;
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
+import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
+import eu.etaxonomy.taxeditor.navigation.operation.CreateNewTaxonHierarchyOperation;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
+
+public class CreateClassificationHierarchyHandler extends AbstractHandler {
+
+ private static final Logger logger = Logger.getLogger(CreateClassificationHierarchyHandler.class);
+
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.
+ * ExecutionEvent)
+ */
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
+ if (currentSelection instanceof IStructuredSelection) {
+ Object selectedElement = ((IStructuredSelection) currentSelection).getFirstElement();
+ if (selectedElement instanceof Classification) {
+
+ Classification classification = (Classification) selectedElement;
+ try {
+ TaxonNavigator taxonNavigator = (TaxonNavigator)AbstractUtility.showView(TaxonNavigator.ID);
+// IClassificationService service = CdmStore.getService(IClassificationService.class);
+
+ // Map<String, List<TaxonNode>> sortedGenusList =
+ // service.getSortedGenusList(classification.getAllNodes());
+
+
+ CreateNewTaxonHierarchyOperation operation = new CreateNewTaxonHierarchyOperation("Create Taxon Hierarchy", StoreUtil.getUndoContext(),classification,NavigationUtil.getNavigator(false), NavigationUtil.getNavigator(false) );
+
+ AbstractUtility.executeOperation(operation);
+// UpdateResult result = service.createHierarchyInClassification(classification, null);
+//
+// Classification classification2 = CdmBase.deproxy(result.getCdmEntity(), Classification.class);
+//
+// Set<CdmBase> updatedObjects = result.getUpdatedObjects();
+//
+// Shell activeShell = HandlerUtil.getActiveShell(event);
+
+// MessagingUtils.messageDialog("Add Hierarchy successful",
+// FixClassificationHierarchyHandler.class, "Operation 'Fix Hierarchy' was successful. New classification is "
+// + classification2.getTitleCache() + "\nUpdated Objects: " + updatedObjects.size());
+ //Success
+ taxonNavigator.refresh();
+ } catch (Exception e) {
+ MessagingUtils.messageDialog("Failed to open Editor", CreateClassificationHierarchyHandler.class,
+ "Could not open ChecklistView. The hierarchy is corrupted!", e);
+ }
+ }
+ }
+ return null;
+ }
+
+}
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
-import eu.etaxonomy.cdm.model.common.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
-import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
-import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
*/
public class ChangeAcceptedTaxonToSynonymOperation extends
DeleteOperation {
-
- private TaxonNode newAcceptedTaxonNode;
+
+ private final TaxonNode newAcceptedTaxonNode;
//private TaxonNode oldTaxonNode;
-
+
/**
* <p>Constructor for ChangeAcceptedTaxonToSynonymOperation.</p>
*
monitor.worked(20);
bind();
- Synonym synonym = null;
Taxon oldTaxon = (Taxon) HibernateProxyHelper.deproxy(((TaxonNode) taxonNode).getTaxon());
-
- synonym = CdmStore.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode((TaxonNode) taxonNode, newAcceptedTaxonNode, null, null, null);
-
+ try {
+ CdmStore.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode((TaxonNode) taxonNode, newAcceptedTaxonNode, null, null, null);
+ } catch (IllegalArgumentException e) {
+ MessagingUtils.errorDialog("Operation failed", this, e.getMessage(), TaxeditorNavigationPlugin.PLUGIN_ID, e, false);
+ return Status.CANCEL_STATUS;
+ }
+
monitor.worked(40);
-
+
return postExecute(oldTaxon);
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 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.navigation.operation;
+
+import java.util.Set;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.IUndoContext;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+
+import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.IClassificationService;
+import eu.etaxonomy.cdm.api.service.UpdateResult;
+import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author a.oppermann
+ * @date 28.04.2015
+ *
+ */
+public class CreateNewTaxonHierarchyOperation extends AbstractPersistentPostOperation {
+
+ private final Classification classification;
+
+ private final IClassificationService service;
+
+ /**
+ * @param label
+ * @param undoContext
+ */
+ public CreateNewTaxonHierarchyOperation(String label, IUndoContext undoContext, Classification classification,
+ IPostOperationEnabled postOperationEnabled,
+ IConversationEnabled conversationEnabled) {
+ super(label, undoContext, postOperationEnabled, conversationEnabled);
+
+ this.classification = classification;
+ this.service = CdmStore.getService(IClassificationService.class);
+
+ }
+
+ @Override
+ public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+
+ monitor.worked(20);
+ UpdateResult result = service.createHierarchyInClassification(classification, null);
+ monitor.worked(60);
+ Set<CdmBase> updatedObjects = result.getUpdatedObjects();
+ Set<CdmBase> unchangedObjects = result.getUnchangedObjects();
+ Classification classification2 = CdmBase.deproxy(result.getCdmEntity(), Classification.class);
+
+ MessagingUtils.informationDialog("Add Hierarchy successful", "New classification is "
+ + classification2.getTitleCache() + "\nCreated Genus: " + updatedObjects.size()
+ +"\nCreated Subspecies: " + unchangedObjects.size());
+
+ return postExecute(result.getCdmEntity());
+ }
+
+ @Override
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ return null;
+ }
+
+ @Override
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ return null;
+ }
+
+}
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>
- <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/main/java"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
Bundle-ManifestVersion: 2
Bundle-Name: Printpublisher Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.printpublisher;singleton:=true
-Bundle-Version: 3.5.1.qualifier
+Bundle-Version: 3.5.2.qualifier
Require-Bundle: org.eclipse.osgi,
org.eclipse.ui,
eu.etaxonomy.taxeditor.cdmlib,
#Properties file for eu.etaxonomy.taxeditor.printpublisher\r
category.name = Print Publishing\r
-command.label = Erzeuge PDF\r
-command.name = Erzeuge PDF
\ No newline at end of file
+command.label = PDF Erzeugen\r
+command.name = PDF Erzeugen
\ No newline at end of file
+++ /dev/null
-#Properties file for eu.etaxonomy.taxeditor.printpublisher\r
-category.name = Print Publishing\r
-command.label = Generate PDF\r
-command.name = Generate PDF
\ No newline at end of file
p2.inf,\
OSGI-INF/l10n/bundle.properties,\
OSGI-INF/l10n/bundle_de.properties,\
- OSGI-INF/l10n/bundle_en.properties
<parent>
<artifactId>taxeditor-parent</artifactId>
<groupId>eu.etaxonomy</groupId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
- <classpathentry including="**/*.java" kind="src" path="src/test/java"/>
- <classpathentry kind="src" path="src/main/resources"/>
- <classpathentry including="**/*.java" kind="src" path="src/test/resources"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/main/java"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/test/java"/>\r
+ <classpathentry kind="src" path="src/main/resources"/>\r
+ <classpathentry including="**/*.java" kind="src" path="src/test/resources"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
Bundle-ManifestVersion: 2
Bundle-Name: DataStore Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.store;singleton:=true
-Bundle-Version: 3.5.1.qualifier
+Bundle-Version: 3.5.2.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin
Bundle-Vendor: EDIT
Export-Package: eu.etaxonomy.cdm,
page.name.3 = Taxonomic\r
page.name.4 = Nomenclatural Code\r
page.name.5 = Ranks\r
-page.name.6 = Nomenclatural Status Type\r
-page.name.7 = Name Relationship Type\r
-page.name.8 = Taxon Relationship Type\r
-page.name.9 = Specimen Type Designation Status\r
+page.name.6 = Nomenclatural Status\r
+page.name.7 = Name Relationships\r
+page.name.8 = Concept Relationships\r
+page.name.9 = Type Designation (Specimen)\r
page.name.10 = Available Languages\r
-page.name.11 = Marker Types\r
+page.name.11 = Marker\r
page.name.12 = Extension Types\r
-page.name.13 = Name Type Designation Status\r
+page.name.13 = Type Designation (Name)\r
page.name.14 = Named Area Type\r
page.name.15 = Matching (Experimental)\r
-page.name.16 = NonViralName Matching Strategy\r
+page.name.16 = Taxon Name Matching Strategy\r
page.name.17 = Reference Matching Strategy\r
page.name.18 = Team or Person Matching Strategy\r
page.name.19 = Stage\r
page.name.3 = Taxonomisch
page.name.4 = Nomenklaturcode
page.name.5 = R\u00e4nge
-page.name.6 = Nomenklaturstatus Typ
-page.name.7 = Beziehungstyp Name
-page.name.8 = Beziehungstyp Taxon
-page.name.9 = Belegtyp Bezeichnungsstatus
+page.name.6 = Nomenklatorischer Status
+page.name.7 = Namensbeziehungen
+page.name.8 = Konzeptbeziehungen
+page.name.9 = Typusarten (Belege)
page.name.10 = Verf\u00fcgbare Sprachen
-page.name.11 = Markertypen
-page.name.12 = Erweiterungstypen
-page.name.13 = Namenstyp Bezeichnungsstatus
-page.name.14 = Benannte Gebiete
-page.name.15 = Matching (Experimental)
-page.name.16 = NonViralName Matching Strategie
-page.name.17 = Referenz Matching Strategie
-page.name.18 = Team oder Person Matching Strategie
-page.name.19 = Stufe (Stage)
-page.name.20 = Erhaltungs-(Preservation) Methode
+page.name.11 = Marker
+page.name.12 = Erweiterungen
+page.name.13 = Typusarten (Namen)
+page.name.14 = Gebiete
+page.name.15 = Matching (experimentel)
+page.name.16 = Taxonnamen Matching-Strategie
+page.name.17 = Referenz Matching-Strategie
+page.name.18 = Team oder Personen Matching-Strategie
+page.name.19 = Stadium
+page.name.20 = Konservierungsmethode
page.name.21 = Merkmalsbaum
page.name.22 = Standard Merkmalsbaum
page.name.23 = Repr\u00e4sentation
page.name.24 = Mobot Open Url
-page.name.25 = Typ Bezeichnungen
+page.name.25 = Typus
view.name = Datenquelle
view.name.0 = Fortschritt
view.name.1 = Nachrichten
view.name.3 = Zusatzdaten
view.name.4 = Details
view.name.5 = Benutze Datensatz
-view.name.6 = Suche Derivate
+view.name.6 = Derivatsuche
editor.name = Editor f\u00fcr definierte Begriffe
menu.label = Zeige Ansicht
command.label = Derivatsuche
command.name = Verbinde Datenquelle
command.name.0 = Bearbeite Datenquelle
command.name.1 = Erstelle Datenquelle
-command.name.2 = Schie\u00dfe aktive Verbindungen
+command.name.2 = Schlie\u00dfe aktive Verbindungen
command.name.3 = Aktualisiere Datenquellen
command.name.4 = Zeige Login Window
command.name.5 = \u00d6ffne Editor f\u00fcr definierte Begriffe
fontDefinition.label.3 = Schrift Normal
themeElementCategory.label.2 = Suche Ansicht
themeElementCategory.description.2 = Farben und Schriften f\u00fcr die Suchansicht
-colorDefinition.label.11 = Suche Ansicht Fordergrund
+colorDefinition.label.11 = Suche Ansicht Vordergrund
colorDefinition.label.12 = Suche Ansicht Fokus
fontDefinition.label.4 = Schrift f\u00fcr Akzeptierte
fontDefinition.description = Die Schrift f\u00fcr akzeptierte Taxa in den Suchergebnissen.
colorDefinition.label.13 = Fehler beim Parsing
colorDefinition.label.14 = Gesperrtes Namenseditierfeld
colorDefinition.label.15 = Editor fehlerhaft
-page.name.26 = Specimens und FieldUnits
+page.name.26 = Specimens und Field Units
page.name.27 = Media
-page.name.28 = Checklist Editor
+page.name.28 = Checklisten Editor
page.name.29 = Editor Profil
page.name.30 = Sprache
command.label.clone = Klonen
+++ /dev/null
-#Properties file for eu.etaxonomy.taxeditor.store\r
-page.name = Taxonomic Editor\r
-page.name.0 = Description\r
-page.name.1 = Features\r
-page.name.2 = Distribution Status\r
-page.name.3 = Taxonomic\r
-page.name.4 = Nomenclatural Code\r
-page.name.5 = Ranks\r
-page.name.6 = Nomenclatural Status Type\r
-page.name.7 = Name Relationship Type\r
-page.name.8 = Taxon Relationship Type\r
-page.name.9 = Specimen Type Designation Status\r
-page.name.10 = Available Languages\r
-page.name.11 = Marker Types\r
-page.name.12 = Extension Types\r
-page.name.13 = Name Type Designation Status\r
-page.name.14 = Named Area Type\r
-page.name.15 = Matching (Experimental)\r
-page.name.16 = NonViralName Matching Strategy\r
-page.name.17 = Reference Matching Strategy\r
-page.name.18 = Team or Person Matching Strategy\r
-page.name.19 = Stage\r
-page.name.20 = Preservation Method\r
-page.name.21 = Feature Tree\r
-page.name.22 = Default Feature Trees\r
-page.name.23 = Representation\r
-page.name.24 = Mobot Open Url\r
-page.name.25 = Type Designations\r
-view.name = Datasource\r
-view.name.0 = Progress\r
-view.name.1 = Message\r
-view.name.2 = Reporting\r
-view.name.3 = Supplemental Data\r
-view.name.4 = Details\r
-view.name.5 = Use Records\r
-view.name.6 = Derivate Search\r
-editor.name = Defined Term Editor\r
-menu.label = Show View\r
-command.label = Derivate Search\r
-command.label.0 = Details\r
-command.label.1 = Supplemental\r
-command.label.2 = Datasource\r
-command.label.3 = Error Log\r
-command.label.4 = Reporting\r
-command.label.5 = Switch User\r
-command.label.6 = Connect\r
-command.label.7 = New\r
-command.label.8 = Edit\r
-command.label.9 = Delete\r
-command.label.10 = Close Active Connection\r
-command.label.11 = Update Datamodel\r
-menu.label.0 = New\r
-command.label.12 = Vocabulary\r
-command.label.13 = Defined Term\r
-command.label.14 = Delete\r
-extension.name = Popup Menu Commands\r
-command.name = Connect Datasource\r
-command.name.0 = Edit Datasource\r
-command.name.1 = Create Datasource\r
-command.name.2 = Close Active Connection\r
-command.name.3 = Update Datasource\r
-command.name.4 = Show Login Window\r
-command.name.5 = Open Defined Term Editor\r
-commandParameter.name = inputType\r
-commandParameter.name.0 = inputType\r
-command.name.6 = New Defined Term\r
-command.name.7 = New Term Vocabulary\r
-category.name = CDM\r
-wizard.name = TCS\r
-wizard.name.0 = Berlin Model\r
-wizard.name.1 = Endnote\r
-wizard.name.2 = Excel Normal Explicit Taxa\r
-wizard.name.3 = ABCD\r
-wizard.name.4 = SDD\r
-wizard.name.5 = Specimen CDM Excel\r
-category.name.0 = CDM\r
-wizard.name.6 = JAXB\r
-wizard.name.7 = Berlin Model\r
-category.name.1 = Excel\r
-wizard.name.8 = SDD\r
-wizard.name.9 = DwC-A\r
-wizard.name.10 = Reference\r
-wizard.name.11 = Name\r
-wizard.name.12 = Team\r
-wizard.name.13 = Person\r
-wizard.name.14 = Specimen\r
-wizard.name.15 = Polytomous Key\r
-category.name.2 = CDM\r
-wizard.name.16 = Taxon\r
-wizard.name.17 = Classification\r
-themeElementCategory.label = Taxonomic Editor\r
-themeElementCategory.description = Color and font definitions for the EDIT Taxonomic Editor\r
-colorDefinition.label = List Background\r
-colorDefinition.label.0 = Global Text Color\r
-colorDefinition.label.1 = Global Color Composite Background\r
-colorDefinition.label.2 = Global Color Composite Irrelevant\r
-colorDefinition.label.3 = Global Text Color Disabled\r
-colorDefinition.label.4 = Global Background Color Disabled\r
-themeElementCategory.label.0 = Details View\r
-themeElementCategory.description.0 = Colors and fonts for the details view\r
-colorDefinition.label.5 = Entity Element List Background Odd\r
-colorDefinition.label.6 = Entity Element List Background Even\r
-themeElementCategory.label.1 = Name Editor\r
-themeElementCategory.description.1 = Colors and fonts for the name editor\r
-colorDefinition.label.7 = Container Background\r
-colorDefinition.label.8 = Container Selected Focus\r
-colorDefinition.label.9 = Container Selected\r
-colorDefinition.label.10 = Container Drag Enter\r
-fontDefinition.label = Accepted Taxon Font\r
-fontDefinition.label.0 = Synonym Font\r
-fontDefinition.label.1 = Misapplication Font\r
-fontDefinition.label.2 = Concept Font\r
-fontDefinition.label.3 = Default Font\r
-themeElementCategory.label.2 = Search View\r
-themeElementCategory.description.2 = Colors and fonts for the search view\r
-colorDefinition.label.11 = Search View Foreground\r
-colorDefinition.label.12 = Search View Focus\r
-fontDefinition.label.4 = Accepted font\r
-fontDefinition.description = The font that is used for accepted taxa in the search result list.\r
-fontDefinition.label.5 = Synonym font\r
-fontDefinition.description.0 = The font that is used for synonyms in the search result list.\r
-fontDefinition.label.6 = Other font\r
-fontDefinition.description.1 = The font used by default in the search result list.\r
-colorDefinition.label.13 = Parse Error\r
-colorDefinition.label.14 = Disabled Name Editor Field\r
-colorDefinition.label.15 = Editor On Error\r
-page.name.26 = Specimens and FieldUnits\r
-page.name.27 = Media\r
-page.name.28 = Checklist Editor\r
-page.name.29 = Editor Profile\r
-page.name.30 = Language
\ No newline at end of file
CdmDataSourceViewPart_7=Database\r
CdmDataSourceViewPart_8=Type\r
CdmDataSourceViewPart_9=Up\r
+LanguageEditorPreferencePage_ChooseDefaultLanguage=Please choose your default language for the editor: \r
+LanguageEditorPreferencePage_EditorHasToRestart=The application has to be restarted, in order to complete the language switch.\nDo you want to restart now?\r
+LanguageEditorPreferencePage_PleaseRestart=Please Restart\r
+LanguageEditorPreferencePage_RestartRequired=After changing the default language, a restart is required,\nin order for the new settings to take effect.\r
CdmDataSourceViewPart_7=Datenquelle\r
CdmDataSourceViewPart_8=Typ\r
CdmDataSourceViewPart_9=Verf\u00FCgbar\r
+LanguageEditorPreferencePage_ChooseDefaultLanguage=Bitte wählen Sie die Standardsprache für den Taxonomischen Editor aus.\r
+LanguageEditorPreferencePage_EditorHasToRestart=Der Anwendung muss neu gestartet werden, um die Sprache zu wechseln.\nWollen Sie jetzt neu starten?\r
+LanguageEditorPreferencePage_PleaseRestart=Bitte neu starten\r
+LanguageEditorPreferencePage_RestartRequired=Nach dem Wechsel der Standardsprache ist ein Neustart erforderlich.
\ No newline at end of file
+++ /dev/null
-CdmDataSourceViewPart_1=Loading datasources\r
-CdmDataSourceViewPart_10=Server\r
-CdmDataSourceViewPart_11=Name\r
-CdmDataSourceViewPart_12=Connected\r
-CdmDataSourceViewPart_2=Notes\r
-CdmDataSourceViewPart_3=Compatible\r
-CdmDataSourceViewPart_4=CDM Version\r
-CdmDataSourceViewPart_5=Created\r
-CdmDataSourceViewPart_6=Nomenclatural Code\r
-CdmDataSourceViewPart_7=Database\r
-CdmDataSourceViewPart_8=Type\r
-CdmDataSourceViewPart_9=Up\r
OSGI-INF/,\
OSGI-INF/l10n/bundle.properties,\
OSGI-INF/l10n/bundle_de.properties,\
- OSGI-INF/l10n/bundle_en.properties,\
OSGI-INF/l10n/messages.properties,\
OSGI-INF/l10n/messages_de.properties,\
- OSGI-INF/l10n/messages_en.properties
id="eu.etaxonomy.taxeditor.preferences.specimenTypeDesignationStatus"
name="%page.name.9">
</page>
+ <page
+ category="eu.etaxonomy.taxeditor.preferences.taxonomic"
+ class="eu.etaxonomy.taxeditor.preference.menu.NameTypeDesignationStatusMenuPreferences"
+ id="eu.etaxonomy.taxeditor.preferences.nameTypeDesignationStatus"
+ name="%page.name.13">
+ </page>
<page
category="eu.etaxonomy.taxeditor.preferences.language"
class="eu.etaxonomy.taxeditor.preference.menu.LanguageMenuPreferences"
id="eu.etaxonomy.taxeditor.preferences.extensionTypes"
name="%page.name.12">
</page>
- <page
- category="eu.etaxonomy.taxeditor.preferences.taxonomic"
- class="eu.etaxonomy.taxeditor.preference.menu.NameTypeDesignationStatusMenuPreferences"
- id="eu.etaxonomy.taxeditor.preferences.nameTypeDesignationStatus"
- name="%page.name.13">
- </page>
<page
category="eu.etaxonomy.taxeditor.preferences.description"
class="eu.etaxonomy.taxeditor.preference.menu.NamedAreaTypeMenuPreferences"
id="eu.etaxonomy.taxeditor.io.export.csv"
name="CSV">
</wizard>
+ <wizard
+ category="eu.etaxonomy.taxeditor.export.category.cdm"
+ class="eu.etaxonomy.taxeditor.io.wizard.CsvNameExportWizard"
+ id="eu.etaxonomy.taxeditor.io.export.csv"
+ name="CSV-Names">
+ </wizard>
</extension>
<extension
point="org.eclipse.ui.newWizards">
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
-// $Id$\r
-/**\r
- * Copyright (C) 2014 EDIT\r
- * European Distributed Institute of Taxonomy\r
- * http://www.e-taxonomy.eu\r
- *\r
- * The contents of this file are subject to the Mozilla Public License Version 1.1\r
- * See LICENSE.TXT at the top of this package for the full license terms.\r
- */\r
-package eu.etaxonomy.taxeditor.view.datasource;\r
-\r
-import org.eclipse.osgi.util.NLS;\r
-\r
-/**\r
- * @author d.schild\r
- * @date 18.06.2014\r
- *\r
- */\r
-public class Messages extends NLS {\r
- private static final String BUNDLE_NAME = "OSGI-INF/l10n/messages"; //$NON-NLS-1$\r
- public static String CdmDataSourceViewPart_1;\r
- public static String CdmDataSourceViewPart_10;\r
- public static String CdmDataSourceViewPart_11;\r
- public static String CdmDataSourceViewPart_12;\r
- public static String CdmDataSourceViewPart_2;\r
- public static String CdmDataSourceViewPart_3;\r
- public static String CdmDataSourceViewPart_4;\r
- public static String CdmDataSourceViewPart_5;\r
- public static String CdmDataSourceViewPart_6;\r
- public static String CdmDataSourceViewPart_7;\r
- public static String CdmDataSourceViewPart_8;\r
- public static String CdmDataSourceViewPart_9;\r
- static {\r
- // initialize resource bundle\r
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);\r
- }\r
-\r
- private Messages() {\r
- }\r
-}\r
+// $Id$
+/**
+ * Copyright (C) 2015 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;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author pplitzner
+ * @date Apr 14, 2015
+ *
+ */
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "OSGI-INF/l10n/messages"; //$NON-NLS-1$
+ public static String LanguageEditorPreferencePage_ChooseDefaultLanguage;
+ public static String LanguageEditorPreferencePage_EditorHasToRestart;
+ public static String LanguageEditorPreferencePage_PleaseRestart;
+ public static String LanguageEditorPreferencePage_RestartRequired;
+ public static String CdmDataSourceViewPart_1;
+ public static String CdmDataSourceViewPart_10;
+ public static String CdmDataSourceViewPart_11;
+ public static String CdmDataSourceViewPart_12;
+ public static String CdmDataSourceViewPart_2;
+ public static String CdmDataSourceViewPart_3;
+ public static String CdmDataSourceViewPart_4;
+ public static String CdmDataSourceViewPart_5;
+ public static String CdmDataSourceViewPart_6;
+ public static String CdmDataSourceViewPart_7;
+ public static String CdmDataSourceViewPart_8;
+ public static String CdmDataSourceViewPart_9;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
+++ /dev/null
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-package eu.etaxonomy.taxeditor.editor;\r
-\r
-import java.util.UUID;\r
-\r
-import eu.etaxonomy.cdm.model.common.VocabularyEnum;\r
-\r
-public class UsageTermCollection {\r
- public final static UUID uuidMarkersVocabulary = UUID.fromString("19dffff7-e142-429c-a420-5d28e4ebe305");\r
- \r
- public final static UUID uuidUseMarkerType = UUID.fromString("2e6e42d9-e92a-41f4-899b-03c0ac64f039");\r
- public final static String useMakerLabel = "use";\r
- \r
- public final static UUID uuidFeatureVocabulary = VocabularyEnum.Feature.getUuid(); // UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8");\r
- public final static UUID uuidPalmWebFeatureTree = UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0");\r
- \r
- \r
- public final static UUID uuidUseRecordFeature = UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599");\r
- public final static String useRecordFeatureLabel = "Use Record";\r
- \r
- public final static UUID uuidUseSummaryFeature = UUID.fromString("6acb0348-c070-4512-a37c-67bcac016279");\r
- public final static String useSummaryFeatureLabel = "Use";\r
- \r
- public final static UUID uuidUseCategoryVocabulary = UUID.fromString("67430d7c-fd43-4e9d-af5e-d0dca3f74931");\r
- public final static String useCategoryVocabularyLabel = "Use Category";\r
- public final static String useSubCategoryVocabularyLabel = "Use SubCategory";\r
- public final static UUID uuidUseCategoryDummy = UUID.fromString("983a7184-6a51-489e-aca1-f21fc4fdbae3");\r
- public final static UUID uuidUseSubCategoryDummy = UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62");\r
- \r
- public final static UUID uuidCountryVocabulary = UUID.fromString("116c51f1-e63a-46f7-a258-e1149a42868b");\r
- public final static String countryLabel = "Country";\r
- public final static UUID uuidCountryDummy = UUID.fromString("761dddee-bfa2-41f4-82df-3a19c71adee0");\r
- \r
- public final static UUID uuidPlantPartVocabulary = UUID.fromString("369914fe-d54b-4063-99ce-abc81d30ad35");\r
- public final static String plantPartLabel = "Plant Part";\r
- public final static UUID uuidPlantPartDummy = UUID.fromString("30150a82-a12f-4278-96ad-7ce708efa082");\r
- \r
- public final static UUID uuidHumanGroupVocabulary = UUID.fromString("ca46cea5-bdf7-438d-9cd8-e2793d2178dc");\r
- public final static String humanGroupLabel = "Human Group";\r
- public final static UUID uuidHumanGroupDummy = UUID.fromString("c4b63327-2548-429d-8d55-81fdba5900a5");\r
- public final static UUID uuidEthnicGroupDummy = UUID.fromString("3ca851e5-d0d4-41cd-9066-f79e246c36c2");\r
- \r
- public final static String ethnicGroupLabel = "Ethnic Group";\r
- \r
- public final static String notAvailableLabel = "N/A";\r
- \r
- \r
- \r
- \r
- \r
- \r
-\r
-\r
- \r
- \r
-}\r
protected ICdmApplicationConfiguration applicationConfiguration;
public static enum TYPE {
- Jaxb, Tcs, Excel_Taxa, Endnote, Sdd, Abcd, SpecimenCdmExcel
+ Jaxb, Tcs, Excel_Taxa, Endnote, Sdd, Abcd, SpecimenCdmExcel, Excel_Name
}
/**
--- /dev/null
+// $Id$\r
+/**\r
+ * Copyright (C) 2007 EDIT\r
+ * European Distributed Institute of Taxonomy\r
+ * http://www.e-taxonomy.eu\r
+ *\r
+ * The contents of this file are subject to the Mozilla Public License Version 1.1\r
+ * See LICENSE.TXT at the top of this package for the full license terms.\r
+ */\r
+\r
+package eu.etaxonomy.taxeditor.io.wizard;\r
+\r
+import java.io.File;\r
+\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.swt.widgets.Combo;\r
+import org.eclipse.ui.IWorkbench;\r
+\r
+import eu.etaxonomy.cdm.io.csv.caryophyllales.out.CsvNameExportConfigurator;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+\r
+/**\r
+ * @author k.luther\r
+ * @created Apr. 12, 2015\r
+ * @version 1.0\r
+ */\r
+public class CsvNameExportWizard extends AbstractExportWizard<CsvNameExportConfigurator> {\r
+\r
+ protected CsvNameExportConfigurator configurator;\r
+ protected ExportToFileDestinationWizardPage page;\r
+\r
+ private final String description = "Export the names of the currently selected database into Semicolon Separated Value format.";\r
+ /*\r
+ * (non-Javadoc)\r
+ *\r
+ * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,\r
+ * org.eclipse.jface.viewers.IStructuredSelection)\r
+ */\r
+ @Override\r
+ public void init(IWorkbench workbench, IStructuredSelection selection) {\r
+ configurator = CsvNameExportConfigurator.NewInstance(null,null);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ *\r
+ * @see\r
+ * eu.etaxonomy.taxeditor.io.wizard.AbstractExportWizard#getConfigurator()\r
+ */\r
+ @Override\r
+ public CsvNameExportConfigurator getConfigurator() {\r
+ return configurator;\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ *\r
+ * @see org.eclipse.jface.wizard.Wizard#performFinish()\r
+ */\r
+ @Override\r
+ public boolean performFinish() {\r
+ String urlString = page.getFolderText() + File.separator\r
+ + page.getExportFileName();\r
+\r
+ final Combo combo = page.getCombo();\r
+ \r
+ configurator.setDestination(new File(urlString));\r
+\r
+ CdmStore.getExportManager().run(configurator);\r
+\r
+ return true;\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ *\r
+ * @see eu.etaxonomy.taxeditor.io.wizard.AbstractExportWizard#addPages()\r
+ */\r
+ @Override\r
+ public void addPages() {\r
+ //TODO create page with drop down menu for export for single classification.\r
+// super.addPages();\r
+\r
+\r
+ //standard page\r
+ page = ExportToFileDestinationWizardPage.CsvNames();\r
+\r
+ addPage(page);\r
+ }\r
+}\r
+\r
--- /dev/null
+package eu.etaxonomy.taxeditor.io.wizard;\r
+\r
+import java.io.File;\r
+import java.util.HashSet;\r
+import java.util.List;\r
+import java.util.UUID;\r
+\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.swt.widgets.Combo;\r
+import org.eclipse.ui.IWorkbench;\r
+\r
+import eu.etaxonomy.cdm.io.csv.caryophyllales.out.CsvNameExportConfigurator;\r
+import eu.etaxonomy.cdm.model.taxon.Classification;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+\r
+public class CsvPrintExportWizard extends CsvNameExportWizard{\r
+ \r
+ \r
+ private final String description = "Export the contents of the currently selected database into Semicolon Separated Value format.";\r
+ @Override\r
+ public void init(IWorkbench workbench, IStructuredSelection selection) {\r
+ configurator = CsvNameExportConfigurator.NewInstance(null,null);\r
+ configurator.setNamesOnly(false);\r
+ }\r
+\r
+ @Override\r
+ public CsvNameExportConfigurator getConfigurator() {\r
+ \r
+ return configurator;\r
+ }\r
+\r
+ \r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ *\r
+ * @see eu.etaxonomy.taxeditor.io.wizard.AbstractExportWizard#addPages()\r
+ */\r
+ @Override\r
+ public void addPages() {\r
+ //TODO create page with drop down menu for export for single classification.\r
+// super.addPages();\r
+\r
+\r
+ //standard page\r
+ page = ExportToFileDestinationWizardPage.CsvPrint();\r
+\r
+ addPage(page);\r
+ }\r
+ /*\r
+ * (non-Javadoc)\r
+ *\r
+ * @see org.eclipse.jface.wizard.Wizard#performFinish()\r
+ */\r
+ @Override\r
+ public boolean performFinish() {\r
+ String urlString = page.getFolderText() + File.separator\r
+ + page.getExportFileName();\r
+\r
+ final Combo combo = page.getCombo();\r
+ final List<Classification> listClassifications = CdmStore.getCurrentApplicationConfiguration().getClassificationService().listClassifications(null, null, null, null);\r
+ if(combo != null){\r
+ int selectionIndex = combo.getSelectionIndex();\r
+ HashSet<UUID> set = new HashSet<UUID>();\r
+ if(selectionIndex == -1){\r
+ for(Classification c:listClassifications){\r
+ set.add(c.getUuid());\r
+ }\r
+ }else{\r
+ for(Classification c:listClassifications){\r
+ if(c.getTitleCache().equalsIgnoreCase(combo.getItem(selectionIndex))){\r
+ set.add(c.getUuid());\r
+ }\r
+ }\r
+ \r
+ configurator.setHasHeaderLines(true);\r
+ \r
+ }\r
+ } else{ \r
+ configurator.setClassificationUUID(listClassifications.get(0).getUuid());\r
+ }\r
+ configurator.setDestination(new File(urlString));\r
+\r
+ CdmStore.getExportManager().run(configurator);\r
+\r
+ return true;\r
+ }\r
+\r
+}\r
public static final String DWCA_EXPORT = "DWCA_EXPORT";
public static final String CSV_EXPORT = "CSV_EXPORT";
+ public static final String CSV_NAME_EXPORT = "CSV_NAME_EXPORT";
public static final String XML = "xml";
public static final String CSV = "csv";
+
+
public static final String ZIP = "zip";
private static boolean csvExport = false;
+
+ private static boolean csvNameExport = false;
+
+ private static String CSV_PRINT_EXPORT ="CSV_PRINT_EXPORT";
+
+ private static boolean csvPrintExport = false;
private DirectoryDialog folderDialog;
private Text text_exportFileName;
"Export the contents of the currently selected database into Comma Separated Value format.",
CSV);
}
+
+ /**
+ * @return
+ */
+ public static ExportToFileDestinationWizardPage CsvNames() {
+ csvNameExport = true;
+ return new ExportToFileDestinationWizardPage(
+ CSV_NAME_EXPORT,
+ "csvNames",
+ "CSV Name Export",
+ "Export the names of the currently selected database into Semicolon Separated Value format.",
+ CSV);
+ }
+
+ /**
+ * @return
+ */
+ public static ExportToFileDestinationWizardPage CsvPrint() {
+ csvPrintExport = true;
+ return new ExportToFileDestinationWizardPage(
+ CSV_PRINT_EXPORT,
+ "csvPrint",
+ "CSV Print Export",
+ "Export the content of the currently selected database into Semicolon Separated Value format.",
+ CSV);
+ }
/*
* (non-Javadoc)
comboBox.setLayoutData(new GridData(SWT.FILL, SWT.FILL,
true, false, 2, 1));
}
+
+
+
Label fileLabel = new Label(composite, SWT.NONE);
fileLabel.setText("File");
public static final String COLLAPSE_ALL = "collapse_all";
public static final String TISSUE_SAMPLE_DERIVATE = "tissue_sample_derivate";
+ public static final String TISSUE_SAMPLE_DERIVATE_CHARACTER_DATA = "tissue_sample_derivate_character_data";
public static final String DNA_SAMPLE_DERIVATE = "dna_sample_derivate";
+ public static final String DNA_SAMPLE_DERIVATE_CHARACTER_DATA = "dna_sample_derivate_character_data";
public static final String FIELD_UNIT = "field_unit";
+ public static final String FIELD_UNIT_CHARACTER_DATA = "field_unit_character_data";
public static final String SPECIMEN_DERIVATE = "specimen_derivate";
+ public static final String SPECIMEN_DERIVATE_CHARACTER_DATA = "specimen_derivate_character_data";
public static final String ARTWORK_DERIVATE = "artwork_derivate";
+ public static final String ARTWORK_DERIVATE_CHARACTER_DATA = "artwork_derivate_character_data";
public static final String SPECIMEN_SCAN_DERIVATE = "specimen_scan_derivate";
+ public static final String SPECIMEN_SCAN_DERIVATE_CHARACTER_DATA = "specimen_scan_derivate_character_data";
public static final String LIVING_PLANT_PHOTO_DERIVATE = "living_plant_photo_derivate";
+ public static final String LIVING_PLANT_PHOTO_DERIVATE_CHARACTER_DATA = "living_plant_photo_derivate_character_data";
public static final String DETAIL_IMAGE_DERIVATE = "detail_image_derivate";
+ public static final String DETAIL_IMAGE_DERIVATE_CHARACTER_DATA = "detail_image_derivate_character_data";
public static final String SEQUENCE_DERIVATE = "sequence_derivate";
public static final String AMPLIFICATION_DERIVATE = "amplification_derivate";
public static final String SINGLE_READ_DERIVATE = "single_read_derivate";
"lock_open.png");
registerImage(registry, DNA_SAMPLE_DERIVATE,
"dna_derivate-16x16-32.png");
+ registerImage(registry, DNA_SAMPLE_DERIVATE_CHARACTER_DATA,
+ "dna_derivate_data-16x16-32.png");
registerImage(registry, FIELD_UNIT,
"fieldunit-16x16-32.png");
+ registerImage(registry, FIELD_UNIT_CHARACTER_DATA,
+ "fieldunit_data-16x16-32.png");
registerImage(registry, SPECIMEN_DERIVATE,
"specimen_derivate-16x16-32.png");
+ registerImage(registry, SPECIMEN_DERIVATE_CHARACTER_DATA,
+ "specimen_derivate_data-16x16-32.png");
registerImage(registry, ARTWORK_DERIVATE,
"artwork_derivate-16x16-32.png");
+ registerImage(registry, ARTWORK_DERIVATE_CHARACTER_DATA,
+ "artwork_derivate_data-16x16-32.png");
registerImage(registry, SPECIMEN_SCAN_DERIVATE,
"specimen_scan_derivate-16x16-32.png");
+ registerImage(registry, SPECIMEN_SCAN_DERIVATE_CHARACTER_DATA,
+ "specimen_scan_derivate_data-16x16-32.png");
registerImage(registry, LIVING_PLANT_PHOTO_DERIVATE,
"living_plant_photo_derivate-16x16-32.png");
+ registerImage(registry, LIVING_PLANT_PHOTO_DERIVATE_CHARACTER_DATA,
+ "living_plant_photo_derivate_data-16x16-32.png");
registerImage(registry, DETAIL_IMAGE_DERIVATE,
"detail_image_derivate-16x16-32.png");
+ registerImage(registry, DETAIL_IMAGE_DERIVATE_CHARACTER_DATA,
+ "detail_image_derivate_data-16x16-32.png");
registerImage(registry, TISSUE_SAMPLE_DERIVATE,
"tissue_sample-16x16-32.png");
+ registerImage(registry, TISSUE_SAMPLE_DERIVATE_CHARACTER_DATA,
+ "tissue_sample_data-16x16-32.png");
registerImage(registry, SEQUENCE_DERIVATE,
"sequence_derivate-16x16-32.png");
registerImage(registry, AMPLIFICATION_DERIVATE,
* @return a {@link eu.etaxonomy.cdm.strategy.match.IMatchStrategy} object.
*/
public static IMatchStrategy TeamOrPersonMatchStrategy() throws MatchException{
- return null;// PreferencesUtil.getMatchStrategy(TeamOrPersonBase.class);
+ return PreferencesUtil.getMatchStrategy(TeamOrPersonBase.class);
}
/**
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
/**
"eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler");
button_openFeatureTree.setText("Open Distribution Selection Wizard");
+ PreferencesUtil.recursiveSetEnabled(button_openFeatureTree, CdmStore.isActive());
+
if(isEditorActivated){
child.setEnabled(true);
}else{
// $Id$
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
- *
+ *
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.resource.ImageDescriptor;
-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.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
-import eu.etaxonomy.taxeditor.featuretree.FeatureTreeEditorWizard;
-import eu.etaxonomy.taxeditor.featuretree.OpenFeatureTreeEditorWizardHandler;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
/**
* <p>
* FeatureTreePreferences class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Aug 5, 2010
* @version 1.0
* <p>
* Constructor for FeatureTreePreferences.
* </p>
- *
+ *
* @param title
* a {@link java.lang.String} object.
*/
* <p>
* Constructor for FeatureTreePreferences.
* </p>
- *
+ *
* @param title
* a {@link java.lang.String} object.
* @param image
/*
* (non-Javadoc)
- *
+ *
* @see
* org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
*/
/*
* (non-Javadoc)
- *
+ *
* @see
* org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse
* .swt.widgets.Composite)
/** {@inheritDoc} */
@Override
protected Control createContents(Composite parent) {
-
Composite composite = new Composite(parent, SWT.NULL);
composite.setLayout(new GridLayout());
final CommandHandlerButton button_openFeatureTree = new CommandHandlerButton(composite, SWT.PUSH, "eu.etaxonomy.taxeditor.store.open.FeatureTreeEditorWizard");
button_openFeatureTree.setText("Open FeatureTree Editor");
-
+ PreferencesUtil.recursiveSetEnabled(composite, CdmStore.isActive());
return composite;
}
}
package eu.etaxonomy.taxeditor.preference;
import java.io.IOException;
+import java.util.Locale;
import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.PlatformUI;
+
+import eu.etaxonomy.taxeditor.Messages;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
/**
* @author n.hoffmann
private CCombo combo;
PreferencesUtil preferencesUtil = new PreferencesUtil();
+ private boolean isSelectionChanged = false;
+ private int initalSelectionIndex;
/* (non-Javadoc)
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
private void createEditorDefaultLanguage(Composite container) {
// TODO Auto-generated method stub
final Label description = new Label(container, SWT.NONE);
- description.setText("After changing the default language, a restart is required,\nin order for the new settings to take effect.");
+ description.setText(Messages.LanguageEditorPreferencePage_RestartRequired);
final Label label = new Label(container, SWT.NONE);
- label.setText("Please choose your default language for the editor: ");
+ label.setText(Messages.LanguageEditorPreferencePage_ChooseDefaultLanguage);
GridData oneLine = new GridData();
oneLine.grabExcessHorizontalSpace = true;
public void widgetSelected(SelectionEvent e) {
try {
preferencesUtil.writePropertyToConfigFile(combo.getSelectionIndex());
+ if(initalSelectionIndex != combo.getSelectionIndex()) {
+ isSelectionChanged = true;
+ }else{
+ isSelectionChanged = false;
+ }
} catch (IOException e1) {
- e1.printStackTrace();
+ MessagingUtils.messageDialog("Failed to write Config.ini", LanguageEditorPreferencePage.class,
+ "Language switch failed, because could not write to Folder. No writing permissions!", null);
}
}
private void restoreSavedSelection() {
String rememberedValue = PreferencesUtil.getPreferenceStore().getString(IPreferenceKeys.DEFAULT_LANGUAGE_EDITOR);
if(StringUtils.isNotEmpty(rememberedValue)&& StringUtils.isNotBlank(rememberedValue)){
- if(rememberedValue.equalsIgnoreCase("en")){
+ if(rememberedValue.equalsIgnoreCase("en")){ //$NON-NLS-1$
+ initalSelectionIndex = 1;
+ combo.select(1);
+ }else if(rememberedValue.equalsIgnoreCase("de")){ //$NON-NLS-1$
+ initalSelectionIndex = 0;
+ combo.select(0);
+ }
+ }else{
+ Locale locale = Locale.getDefault();
+ if(locale.getLanguage().equals(new Locale("de").getLanguage())){
+ initalSelectionIndex = 0;
+ combo.select(0);
+ }else if(locale.getLanguage().equals(new Locale("en").getLanguage())){
+ initalSelectionIndex = 1;
combo.select(1);
- }else if(rememberedValue.equalsIgnoreCase("de")){
- combo.select(0);
}
}
}
private enum Language{
- GERMAN("Deutsch"), ENGLISH("English");
+ GERMAN("Deutsch"), ENGLISH("English"); //$NON-NLS-1$ //$NON-NLS-2$
private final String label;
private Language(String label){
this.label = label;
@Override
public boolean performOk() {
try {
- preferencesUtil.writePropertyToConfigFile(combo.getSelectionIndex());
+ if(isSelectionChanged){
+ preferencesUtil.writePropertyToConfigFile(combo.getSelectionIndex());
+ boolean result = MessageDialog.openConfirm(getShell(), Messages.LanguageEditorPreferencePage_PleaseRestart, Messages.LanguageEditorPreferencePage_EditorHasToRestart);
+ if(result){
+ //Press Ok
+ PlatformUI.getWorkbench().restart();
+ }
+ }
} catch (IOException e) {
e.printStackTrace();
}
return super.performOk();
}
+
}
import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
*/
public void writePropertyToConfigFile(int setLanguage) throws IOException {
File file = org.eclipse.core.runtime.preferences.ConfigurationScope.INSTANCE.getLocation().toFile();
+ //give warning to user if the directory has no write access
+ if(file == null){
+ throw new IOException();
+ }
Properties properties = load(file.getAbsolutePath()+"/config.ini");
switch(setLanguage){
case 0:
return p2Repos;
}
+
+ /**
+ * enables/disables nested composite. <br>
+ *
+ * @param ctrl - Composite to be en-/disabeld
+ * @param enabled - boolean
+ */
+ public static void recursiveSetEnabled(Control ctrl, boolean enabled) {
+ if (ctrl instanceof Composite) {
+ Composite comp = (Composite) ctrl;
+ for (Control c : comp.getChildren()) {
+ recursiveSetEnabled(c, enabled);
+ }
+ } else {
+ ctrl.setEnabled(enabled);
+ }
+ }
}
private static SearchManager searchManager = new SearchManager();
private static EditorManager editorManager = new EditorManager();
+
+ private static UseObjectStore useObjectInitializer = new UseObjectStore();
private static CdmStoreConnector job;
import eu.etaxonomy.cdm.model.name.NameRelationship;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
return CdmStore.getService(ITaxonService.class).findTaxaAndNamesForEditor(configurator);
}
-
-
+
+
/**
* <p>findReferences</p>
* @param showFieldUnits if <code>true</code> then also FieldUnits are searched
* @return
*/
- public List<SpecimenOrObservationBase> findOccurrences(IIdentifiableEntityServiceConfigurator configurator, boolean showFieldUnits){
- if(! showFieldUnits){
- configurator.setClazz(DerivedUnit.class);
+ public List<SpecimenOrObservationBase> findOccurrences(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> configurator, boolean showFieldUnits){
+ if(configurator.getClazz()==null){
+ if(showFieldUnits){
+ configurator.setClazz(SpecimenOrObservationBase.class);
+ }
+ else{
+ configurator.setClazz(DerivedUnit.class);
+ }
+ }
+ if(configurator.getClazz().equals(SpecimenOrObservationBase.class)){
+ //get FieldUnits + DerivedUnits
+ List<SpecimenOrObservationBase> records = new ArrayList<SpecimenOrObservationBase>();
+ configurator.setClazz(DerivedUnit.class);
+ int derivedUnitCount = CdmStore.getService(IOccurrenceService.class).countOccurrences(configurator);
+ configurator.setClazz(FieldUnit.class);
+ int fieldUnitCount = CdmStore.getService(IOccurrenceService.class).countOccurrences(configurator);
+
+ if(checkLargeResult(derivedUnitCount+fieldUnitCount)){
+ configurator.setClazz(DerivedUnit.class);
+ records.addAll(CdmStore.getService(IOccurrenceService.class).findByTitle(configurator).getRecords());
+ configurator.setClazz(FieldUnit.class);
+ records.addAll(CdmStore.getService(IOccurrenceService.class).findByTitle(configurator).getRecords());
+ }
+ return records;
+
}
- if(checkLargeResult(CdmStore.getService(IOccurrenceService.class).countByTitle(configurator))){
+ if(checkLargeResult(CdmStore.getService(IOccurrenceService.class).countOccurrences(configurator))){
return CdmStore.getService(IOccurrenceService.class).findByTitle(configurator).getRecords();
}
return NO_RESULTS;
}
- /**
- * Searches for {@link SpecimenOrObservationBase} with the parameters specified in the {@link IIdentifiableEntityServiceConfigurator}
- * which match the given {@link SpecimenOrObservationType}
- * @param configurator the configurator to use for the search
- * @param type the type/record basis the specimens must have
- * @return a list of the SpecimenOrObservationBases matching the search parameters found
-
- * @deprecated method needs to be optimized with a direct SQL query instead of iterating over all specimens
- */
- @Deprecated
- //TODO: method needs to be optimized with a direct SQL query instead of iterating over all specimens
- public List<SpecimenOrObservationBase> findOccurrencesByType(IIdentifiableEntityServiceConfigurator configurator, SpecimenOrObservationType type){
- List<SpecimenOrObservationBase> filteredOccurrences = new ArrayList<SpecimenOrObservationBase>();
- List<SpecimenOrObservationBase> occurrences = findOccurrences(configurator, true);
- if(type!=null){
- for(SpecimenOrObservationBase occurrence:occurrences){
- if(occurrence.getRecordBasis().equals(type)
- || occurrence.getRecordBasis().isKindOf(type)
- || type == SpecimenOrObservationType.Unknown){
- filteredOccurrences.add(occurrence);
- }
- }
- }
- else{
- filteredOccurrences = occurrences;
- }
- return filteredOccurrences;
- }
-
public List<User> findUsers(IIdentifiableEntityServiceConfigurator configurator){
String userNameSearchString = sqlizeTitleSearchString(configurator);
// TODO why are users not identifiable entities?
return getFilteredTerms(TermStore.getTerms(clazz));
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextStart(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
- */
@Override
public void contextStart(IMemento memento, IProgressMonitor monitor) {
// read preferred terms from memento into an in memory representation
}
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextAboutToStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
- */
@Override
public void contextStop(IMemento memento, IProgressMonitor monitor) {
saveTerms(memento, monitor);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#workbenchShutdown(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
- */
@Override
public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
saveTerms(memento, monitor);
--- /dev/null
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla protected License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.store;\r
+\r
+import java.util.UUID;\r
+\r
+import eu.etaxonomy.cdm.model.common.VocabularyEnum;\r
+\r
+public class UsageTermCollection {\r
+ protected final static UUID uuidMarkersVocabulary = UUID.fromString("19dffff7-e142-429c-a420-5d28e4ebe305");\r
+ \r
+ public final static UUID uuidUseMarkerType = UUID.fromString("2e6e42d9-e92a-41f4-899b-03c0ac64f039");\r
+ \r
+ protected final static UUID uuidFeatureVocabulary = VocabularyEnum.Feature.getUuid(); // UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8");\r
+ protected final static UUID uuidPalmWebFeatureTree = UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0");\r
+ \r
+ \r
+ protected final static UUID uuidUseRecordFeature = UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599");\r
+ \r
+ protected final static UUID uuidUseSummaryFeature = UUID.fromString("6acb0348-c070-4512-a37c-67bcac016279");\r
+ \r
+ public final static UUID uuidUseCategoryVocabulary = UUID.fromString("67430d7c-fd43-4e9d-af5e-d0dca3f74931");\r
+ protected final static UUID uuidUseCategoryDummy = UUID.fromString("983a7184-6a51-489e-aca1-f21fc4fdbae3");\r
+ protected final static UUID uuidUseSubCategoryDummy = UUID.fromString("a8d80223-5c79-4063-8c6b-4dc8681e9c62");\r
+ \r
+ protected final static UUID uuidCountryVocabulary = UUID.fromString("116c51f1-e63a-46f7-a258-e1149a42868b");\r
+ protected final static UUID uuidCountryDummy = UUID.fromString("761dddee-bfa2-41f4-82df-3a19c71adee0");\r
+ \r
+ protected final static UUID uuidPlantPartVocabulary = UUID.fromString("369914fe-d54b-4063-99ce-abc81d30ad35");\r
+ protected final static UUID uuidPlantPartDummy = UUID.fromString("30150a82-a12f-4278-96ad-7ce708efa082");\r
+ \r
+ protected final static UUID uuidHumanGroupVocabulary = UUID.fromString("ca46cea5-bdf7-438d-9cd8-e2793d2178dc");\r
+ protected final static UUID uuidHumanGroupDummy = UUID.fromString("c4b63327-2548-429d-8d55-81fdba5900a5");\r
+ protected final static UUID uuidEthnicGroupDummy = UUID.fromString("3ca851e5-d0d4-41cd-9066-f79e246c36c2");\r
+\r
+ public final static String useMakerLabel = "use";\r
+ public final static String useRecordFeatureLabel = "Use Record";\r
+ public final static String useSummaryFeatureLabel = "Use";\r
+ public final static String useCategoryVocabularyLabel = "Use Category";\r
+ public final static String useSubCategoryVocabularyLabel = "Use SubCategory";\r
+ public final static String countryLabel = "Country";\r
+ public final static String plantPartLabel = "Plant Part";\r
+ public final static String humanGroupLabel = "Human Group";\r
+ public final static String ethnicGroupLabel = "Ethnic Group";\r
+ public final static String notAvailableLabel = "N/A";\r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+\r
+\r
+ \r
+ \r
+}\r
--- /dev/null
+/**\r
+* Copyright (C) 2011 EDIT\r
+* European Distributed Institute of Taxonomy\r
+* http://www.e-taxonomy.eu\r
+*\r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.store;\r
+\r
+import java.net.URI;\r
+import java.net.URISyntaxException;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.NullProgressMonitor;\r
+\r
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
+import eu.etaxonomy.cdm.api.service.ITermService;\r
+import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
+import eu.etaxonomy.cdm.model.common.DefinedTerm;\r
+import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.common.TermType;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+import eu.etaxonomy.cdm.model.description.State;\r
+\r
+/**\r
+ * A store to handle all terms and vocabulary required for \r
+ * the UseObjects view and components.\r
+ * Whenever one of the terms is requested, all required terms are generated\r
+ * in the database as we consider the requests as an indicator that \r
+ * someone wants to use the terms.\r
+ * This \r
+ * @author a.theys\r
+ * @author a.mueller\r
+ * @created mar 13, 2012\r
+ */\r
+public class UseObjectStore {\r
+\r
+ private static boolean isInitialized;\r
+ \r
+ private static MarkerType useMarkerType;\r
+ private static Feature useSummaryFeature;\r
+ private static Feature useRecordFeature;\r
+ \r
+ \r
+ public static void reset() {\r
+ isInitialized = false;\r
+ useMarkerType = null;\r
+ useSummaryFeature = null;\r
+ useRecordFeature = null;\r
+ }\r
+ \r
+ public static MarkerType getUseMarkerType() {\r
+ initialize();\r
+ return useMarkerType;\r
+ }\r
+ \r
+ public static Feature getUseSummaryFeature() {\r
+ initialize();\r
+ return useSummaryFeature;\r
+ }\r
+ \r
+ public static Feature getUseRecordFeature() {\r
+ initialize();\r
+ return useRecordFeature;\r
+ }\r
+\r
+ \r
+ private static void initialize(){\r
+ setupNecessaryItems(null);\r
+ isInitialized = true;\r
+ }\r
+ \r
+ private static void setupNecessaryItems( IProgressMonitor monitor ) {\r
+ if (isInitialized){\r
+ return;\r
+ }\r
+ if (monitor == null){\r
+ //TODO can we use a better one?\r
+ monitor = new NullProgressMonitor();\r
+ }\r
+ \r
+ ConversationHolder conversation = CdmStore.createConversation();\r
+ \r
+ //retrieve terms and vocabularies from db\r
+ useRecordFeature = (Feature) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseRecordFeature);\r
+ useSummaryFeature = (Feature) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseSummaryFeature);\r
+\r
+ \r
+\r
+ //create use marker type if not exists\r
+ createUseMarkerType(conversation);\r
+\r
+ //create state vocabulary if not exists\r
+ createStateVocabulary(monitor, conversation);\r
+\r
+ //create state vocabulary if not exists\r
+ createCountryVocabulary(monitor, conversation);\r
+\r
+ //create plant part vocabulary\r
+ createPlantVocabulary(monitor, conversation);\r
+\r
+ //create human group vocabulary\r
+ createHumanGroupVocabulary(monitor, conversation);\r
+\r
+ if(useRecordFeature == null || useSummaryFeature == null) {\r
+ TermVocabulary<Feature> featureVocabulary = CdmStore.getService(IVocabularyService.class).find((UsageTermCollection.uuidFeatureVocabulary));\r
+// FeatureTree palmWebFeatureTree = CdmStore.getService(IFeatureTreeService.class).find(UsageTermCollection.uuidPalmWebFeatureTree);\r
+\r
+ if (useRecordFeature == null ) {\r
+ useRecordFeature = Feature.NewInstance(UsageTermCollection.useRecordFeatureLabel, UsageTermCollection.useRecordFeatureLabel, null);\r
+ useRecordFeature.setUuid(UsageTermCollection.uuidUseRecordFeature);\r
+ useRecordFeature.setSupportsCategoricalData(true);\r
+ featureVocabulary.addTerm(useRecordFeature);\r
+ \r
+// if (palmWebFeatureTree != null){\r
+// FeatureNode useRecFeatureNode = FeatureNode.NewInstance(featureUseRecord);\r
+// palmWebFeatureTree.getRoot().addChild(useRecFeatureNode);\r
+// }else{\r
+// StoreUtil.warn(getClass(), "No current feature tree available to add useRecord feature");\r
+// }\r
+ }\r
+ if (useSummaryFeature == null) {\r
+ useSummaryFeature = Feature.NewInstance(UsageTermCollection.useSummaryFeatureLabel, UsageTermCollection.useSummaryFeatureLabel, null);\r
+ useSummaryFeature.setUuid(UsageTermCollection.uuidUseSummaryFeature);\r
+ useSummaryFeature.setSupportsTextData(true);\r
+ featureVocabulary.addTerm(useSummaryFeature);\r
+// if (palmWebFeatureTree != null){\r
+// FeatureNode useSumFeatureNode = FeatureNode.NewInstance(featureUseSummary);\r
+// palmWebFeatureTree.getRoot().addChild(useSumFeatureNode);\r
+// }else{\r
+// StoreUtil.warn(getClass(), "No current feature tree available to add use summary feature");\r
+// }\r
+ }\r
+\r
+ CdmStore.getService(IVocabularyService.class).saveOrUpdate(featureVocabulary);\r
+// if (palmWebFeatureTree != null){\r
+// CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(palmWebFeatureTree);\r
+// }\r
+ conversation.commit(true);\r
+\r
+ }\r
+ conversation.close();\r
+ }\r
+\r
+\r
+ private static void createHumanGroupVocabulary(IProgressMonitor monitor,ConversationHolder conversation) {\r
+ TermVocabulary<DefinedTerm> humanGroupVocabulary = CdmStore.getService(IVocabularyService.class).find(UsageTermCollection.uuidHumanGroupVocabulary);\r
+ if (humanGroupVocabulary == null){\r
+ monitor.subTask("create human group vocabulary");\r
+ URI termSourceUri = null;\r
+ try {\r
+ termSourceUri = new URI("eu.etaxonomy.cdm.model.description.DefinedTerm");\r
+ } catch (URISyntaxException e) {\r
+ e.printStackTrace();\r
+ }\r
+\r
+ humanGroupVocabulary = TermVocabulary.NewInstance(TermType.Modifier, UsageTermCollection.humanGroupLabel, UsageTermCollection.humanGroupLabel, null, termSourceUri);\r
+ humanGroupVocabulary.setUuid(UsageTermCollection.uuidHumanGroupVocabulary);\r
+\r
+ DefinedTerm newDummyModifier = DefinedTerm.NewInstance(TermType.Modifier, UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
+ newDummyModifier.setUuid(UsageTermCollection.uuidHumanGroupDummy);\r
+\r
+ DefinedTerm newSubDummyModifier = DefinedTerm.NewInstance(TermType.Modifier, UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
+ newSubDummyModifier.setUuid(UsageTermCollection.uuidEthnicGroupDummy);\r
+ newDummyModifier.addIncludes(newSubDummyModifier);\r
+ humanGroupVocabulary.addTerm(newDummyModifier);\r
+\r
+ CdmStore.getService(IVocabularyService.class).saveOrUpdate(humanGroupVocabulary);\r
+ conversation.commit(true);\r
+ }\r
+ }\r
+\r
+\r
+ private static void createPlantVocabulary(IProgressMonitor monitor, ConversationHolder conversation) {\r
+ TermVocabulary<DefinedTerm> plantPartVocabulary = CdmStore.getService(IVocabularyService.class).find(UsageTermCollection.uuidPlantPartVocabulary);\r
+ if (plantPartVocabulary == null){\r
+ monitor.subTask("create plant part vocabulary");\r
+ URI termSourceUri = null;\r
+ try {\r
+ termSourceUri = new URI("eu.etaxonomy.cdm.model.description.DefinedTerm");\r
+ } catch (URISyntaxException e) {\r
+ e.printStackTrace();\r
+ }\r
+ plantPartVocabulary = TermVocabulary.NewInstance(TermType.Modifier, UsageTermCollection.plantPartLabel, UsageTermCollection.plantPartLabel, null, termSourceUri);\r
+ plantPartVocabulary.setUuid(UsageTermCollection.uuidPlantPartVocabulary);\r
+\r
+ DefinedTerm newDummyModifier = DefinedTerm.NewInstance(TermType.Modifier, UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
+ newDummyModifier.setUuid(UsageTermCollection.uuidPlantPartDummy);\r
+ plantPartVocabulary.addTerm(newDummyModifier);\r
+\r
+ CdmStore.getService(IVocabularyService.class).saveOrUpdate(plantPartVocabulary);\r
+ conversation.commit(true);\r
+ }\r
+ }\r
+\r
+\r
+ private static void createCountryVocabulary(IProgressMonitor monitor, ConversationHolder conversation) {\r
+ TermVocabulary<DefinedTerm> countryVocabulary = CdmStore.getService(IVocabularyService.class).find(UsageTermCollection.uuidCountryVocabulary);\r
+ if (countryVocabulary == null){\r
+ monitor.subTask("create country vocabulary");\r
+ URI termSourceUri = null;\r
+ try {\r
+ termSourceUri = new URI("eu.etaxonomy.cdm.model.description.DefinedTerm");\r
+ } catch (URISyntaxException e) {\r
+ e.printStackTrace();\r
+ }\r
+ countryVocabulary = TermVocabulary.NewInstance(TermType.Modifier, UsageTermCollection.countryLabel, UsageTermCollection.countryLabel, null, termSourceUri);\r
+ countryVocabulary.setUuid(UsageTermCollection.uuidCountryVocabulary);\r
+\r
+ DefinedTerm newDummyModifier = DefinedTerm.NewInstance(TermType.Modifier, UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
+ newDummyModifier.setUuid(UsageTermCollection.uuidCountryDummy);\r
+ countryVocabulary.addTerm(newDummyModifier);\r
+\r
+ CdmStore.getService(IVocabularyService.class).saveOrUpdate(countryVocabulary);\r
+ conversation.commit(true);\r
+ }\r
+ }\r
+\r
+\r
+ private static void createStateVocabulary(IProgressMonitor monitor, ConversationHolder conversation) {\r
+ TermVocabulary<State> stateVocabulary = CdmStore.getService(IVocabularyService.class).find(UsageTermCollection.uuidUseCategoryVocabulary);\r
+ if (stateVocabulary == null){\r
+ monitor.subTask("create state vocabulary");\r
+ URI termSourceUri = null;\r
+ try {\r
+ termSourceUri = new URI("eu.etaxonomy.cdm.model.description.State");\r
+ } catch (URISyntaxException e) {\r
+ e.printStackTrace();\r
+ }\r
+\r
+ stateVocabulary = TermVocabulary.NewInstance(TermType.State, UsageTermCollection.useCategoryVocabularyLabel, UsageTermCollection.useCategoryVocabularyLabel, null, termSourceUri);\r
+ stateVocabulary.setUuid(UsageTermCollection.uuidUseCategoryVocabulary);\r
+\r
+ State newDummyState = State.NewInstance(UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
+ newDummyState.setUuid(UsageTermCollection.uuidUseCategoryDummy);\r
+ State newDummySubCat = State.NewInstance(UsageTermCollection.notAvailableLabel, UsageTermCollection.notAvailableLabel, null);\r
+ newDummySubCat.setUuid(UsageTermCollection.uuidUseSubCategoryDummy);\r
+ newDummyState.addIncludes(newDummySubCat);\r
+\r
+ stateVocabulary.addTerm(newDummyState);\r
+\r
+ CdmStore.getService(IVocabularyService.class).saveOrUpdate(stateVocabulary);\r
+ conversation.commit(true);\r
+ }\r
+ }\r
+\r
+\r
+ private static void createUseMarkerType(ConversationHolder conversation) {\r
+ useMarkerType = (MarkerType) CdmStore.getService(ITermService.class).find(UsageTermCollection.uuidUseMarkerType);\r
+ if (useMarkerType == null){\r
+ useMarkerType = MarkerType.NewInstance(UsageTermCollection.useMakerLabel, UsageTermCollection.useMakerLabel, null);\r
+ useMarkerType.setUuid( UsageTermCollection.uuidUseMarkerType);\r
+ TermVocabulary<MarkerType> markerTypeVocabulary = CdmStore.getService(IVocabularyService.class).find((UsageTermCollection.uuidMarkersVocabulary));\r
+ markerTypeVocabulary.addTerm(useMarkerType);\r
+ CdmStore.getService(IVocabularyService.class).saveOrUpdate(markerTypeVocabulary);\r
+ conversation.commit(true);\r
+ }\r
+ }\r
+\r
+\r
+}\r
--- /dev/null
+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.ui.combo;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+
+import eu.etaxonomy.cdm.api.service.IVocabularyService;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.store.TermManager;
+import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
+import eu.etaxonomy.taxeditor.ui.element.ISelectable;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+
+/**
+ * <p>
+ * Abstract AbstractTermComboElement class.
+ * </p>
+ *
+ * @author n.hoffmann
+ * @created Nov 5, 2009
+ * @version 1.0
+ * @param <VOC>
+ */
+public class VocabularyComboElement<TERM extends DefinedTermBase<TERM>, VOC extends TermVocabulary<TERM>>
+ extends AbstractCdmFormElement implements SelectionListener,
+ DisposeListener, IEnableableFormElement, ISelectable {
+
+ private static final int DEFAULT_VISIBLE_ITEMS = 10;
+
+ private VOC selection;
+
+ private VOC emptyElement;
+ private static String EMPTY_ELEMENT_LABEL = "";
+
+ protected Label label;
+ private final Combo combo;
+
+ private ArrayList<VOC> terms;
+
+ private Comparator<VOC> vocComparator;
+
+ private final TermType termType;
+
+ public VocabularyComboElement(CdmFormFactory formFactory,
+ ICdmFormElement parentElement, TermType termType, String labelString, VOC selection,
+ int style) {
+ super(formFactory, parentElement);
+
+ this.termType = termType;
+
+ if (labelString != null) {
+ label = formFactory.createLabel(getLayoutComposite(), labelString);
+ addControl(label);
+ }
+
+ // create combo
+ combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY );//FIXME: removed this parameter seems break windows version: | style
+ addControl(combo);
+ combo.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
+ combo.setVisibleItemCount(DEFAULT_VISIBLE_ITEMS);
+
+ populateTerms(getVocabularies());
+
+ combo.addSelectionListener(this);
+ combo.addDisposeListener(this);
+ PreferencesUtil.getPreferenceStore().addPropertyChangeListener(this);
+
+ if (selection != null) {
+ setSelection(selection);
+ }
+ }
+
+ /**
+ * <p>
+ * Getter for the field <code>selection</code>.
+ * </p>
+ *
+ * @return a T object.
+ */
+ public VOC getSelection() {
+ return selection;
+ }
+
+ /**
+ * <p>Sets the selection of the combo to the given T object.</p>
+ * <p>Passing <code>null</code> to this method will set the selection to
+ * the empty element and effectively clear the selection</p>
+ *
+ * @param selection
+ * a T object or <code>null</code> to clear the selection
+ */
+ public void setSelection(VOC selection) {
+ this.selection = selection;
+
+ this.selection = selection;
+
+ Listener[] listeners = combo.getListeners(SWT.Selection);
+
+ for (Listener listener : listeners) {
+ combo.removeListener(SWT.Selection, listener);
+ }
+ int selectedIndex;
+ if(selection == null){
+ // set selection to the emptyElement
+ selectedIndex = 0;
+ }else{
+ selectedIndex = terms.indexOf(selection);
+ if (selectedIndex == -1) {
+ createTermNotInPreferredTerms(selection);
+ selectedIndex = terms.indexOf(selection);
+ }
+ }
+ combo.select(selectedIndex);
+
+ for (Listener listener : listeners) {
+ combo.addListener(SWT.Selection, listener);
+ }
+ }
+
+ /**
+ * Fills the combo with elements and sets up the convenience functions
+ * for selection index
+ *
+ * @param preferredTerms
+ */
+ private void populateTerms(List<VOC> preferredTerms) {
+
+ combo.removeAll();
+
+ terms = new ArrayList<VOC>();
+
+ int i = 1;
+ int index = 0;
+
+ // Add an empty element for when nothing was selected yet
+ combo.add(EMPTY_ELEMENT_LABEL);
+ terms.add(emptyElement);
+
+ if (vocComparator != null) {
+ Collections.sort(preferredTerms, vocComparator);
+ }
+ for (VOC term : preferredTerms) {
+ String label = getLabel(term);
+ if (label == null) {
+ if (term.getTitleCache() != null) {
+ label = term.getTitleCache();
+ MessagingUtils.warn(getClass(),
+ "Term does not have a default language representation: " + label
+ + ", " + term.getUuid());
+ } else {
+ label = "Unknown";
+ MessagingUtils.warn(getClass(),
+ "Representation Label and TitleCache empty for term: "
+ + term + ", " + term.getUuid());
+ }
+
+ }
+
+ combo.add(label);
+ terms.add(term);
+
+ i++;
+ if (selection != null) {
+ if (selection.equals(term)) {
+ index = i;
+ }
+ }
+ }
+
+ if (selection != null && index == 0) {
+ createTermNotInPreferredTerms(selection);
+ }
+
+ combo.select(index);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.IEnableableFormElement#setEnabled(boolean)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void setEnabled(boolean enabled) {
+ combo.setEnabled(enabled);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
+ */
+ @Override
+ public boolean isEnabled() {
+ return combo.isEnabled();
+ }
+
+ /**
+ * <p>
+ * preferredTerms
+ * </p>
+ *
+ * @return a {@link java.util.List} object.
+ */
+ protected List<VOC> getVocabularies(){
+ List<TermVocabulary<TERM>> list = CdmStore.getService(IVocabularyService.class).<TERM>findByTermType(termType);
+ return (List<VOC>) list;
+ }
+
+ /**
+ * May be overridden by derived classes if the desired label string does not
+ * reside in term.getLabel();
+ *
+ * @param term
+ * a T object.
+ * @return a {@link java.lang.String} object.
+ */
+ protected String getLabel(VOC term) {
+ if (term == null){
+ return "";
+ }else{
+ return term.getLabel(CdmStore.getDefaultLanguage());
+ }
+ }
+
+ /**
+ *
+ *
+ * @param term
+ */
+ private void createTermNotInPreferredTerms(VOC term) {
+ List<VOC> preferredTerms = getVocabularies();
+
+ preferredTerms.add(term);
+
+ populateTerms(preferredTerms);
+ }
+
+ /**
+ * <p>
+ * addSelectionListener
+ * </p>
+ *
+ * @param listener
+ * a {@link org.eclipse.swt.events.SelectionListener} object.
+ */
+ public void addSelectionListener(SelectionListener listener) {
+ combo.addSelectionListener(listener);
+ }
+
+ /**
+ * <p>
+ * removeSelectionListener
+ * </p>
+ *
+ * @param listener
+ * a {@link org.eclipse.swt.events.SelectionListener} object.
+ */
+ public void removeSelectionListener(SelectionListener listener) {
+ combo.removeSelectionListener(listener);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt
+ * .events.SelectionEvent)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selection = terms.get(combo.getSelectionIndex());
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.beans.PropertyChangeListener#propertyChange(java.beans.
+ * PropertyChangeEvent)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ super.propertyChange(event);
+ if (event != null
+ && PreferencesUtil.PREFERRED_TERMS_CHANGE.equals(event
+ .getProperty())) {
+ populateTerms(getVocabularies());
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setSelected(boolean selected) {
+ setBackground(selected ? SELECTED : getPersistentBackground());
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
+ PreferencesUtil.getPreferenceStore().removePropertyChangeListener(this);
+ }
+
+ // not used
+ /** {@inheritDoc} */
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setIrrelevant(boolean irrelevant) {
+ String colorId = irrelevant ? Resources.COLOR_COMPOSITE_IRRELEVANT
+ : Resources.COLOR_COMPOSITE_BACKGROUND;
+
+ Color color = StoreUtil.getColor(colorId);
+ combo.setBackground(color);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setBackground(Color color) {
+ if (label != null) {
+ label.setBackground(color);
+ }
+ }
+
+ /**
+ *
+ */
+ protected TermManager getTermManager() {
+ return CdmStore.getTermManager();
+ }
+
+ /**
+ *
+ * @return
+ */
+ public int getVisibleItemCount(){
+ return combo.getVisibleItemCount();
+ }
+
+ /**
+ *
+ * @param count
+ */
+ public void setVisibleItemCount(int count){
+ combo.setVisibleItemCount(count);
+ }
+
+}
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.KeyStatement;
+import eu.etaxonomy.cdm.model.description.MeasurementUnit;
import eu.etaxonomy.cdm.model.description.QuantitativeData;
+import eu.etaxonomy.cdm.model.description.State;
import eu.etaxonomy.cdm.model.description.StateData;
+import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
import eu.etaxonomy.cdm.model.description.TaxonInteraction;
import eu.etaxonomy.cdm.model.description.TextData;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.combo.VocabularyComboElement;
import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection.UnitType;
import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement;
import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled;
import eu.etaxonomy.taxeditor.ui.section.description.ScopeSection;
import eu.etaxonomy.taxeditor.ui.section.description.StateDataElement;
import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection;
+import eu.etaxonomy.taxeditor.ui.section.description.StateModifierElement;
import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueElement;
import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueSection;
import eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement;
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailElement;
import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.key.GeographicalScopeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.GeoScopeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.NamedAreaDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.OriginalLabelDataSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.FeatureDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionElement;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.MeasurementUnitCollectionSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateModifierCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionElement;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateVocabularyCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionElement;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.StatisticalMeasureCollectionSection;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailElement;
import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
return element;
}
+ public <TERM extends DefinedTermBase<TERM>, VOC extends TermVocabulary<TERM>> VocabularyComboElement<TERM, VOC> createVocabularyComboElement(
+ TermType termType, String label, VOC selection, ICdmFormElement parentElement, int style) {
+ VocabularyComboElement<TERM, VOC> element = new VocabularyComboElement<TERM, VOC>(this, parentElement, termType, label, selection, style);
+ adapt(element);
+ parentElement.addElement(element);
+ return element;
+ }
+
/**
* <p>
* createBrowserElement
return section;
}
+ public StateVocabularyCollectionSection createStateVocabulariesSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ StateVocabularyCollectionSection section = new StateVocabularyCollectionSection(this, conversation, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
+ public StateModifierCollectionSection createStateModifierCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ StateModifierCollectionSection section = new StateModifierCollectionSection(this, conversation, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
+ public MeasurementUnitCollectionSection createMeasurementUnitCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ MeasurementUnitCollectionSection section = new MeasurementUnitCollectionSection(this, conversation, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
+ public StatisticalMeasureCollectionSection createStatisticalMeasureCollectionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ StatisticalMeasureCollectionSection section = new StatisticalMeasureCollectionSection(this, conversation, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
public CollectingAreasDetailSection createCollectingAreasDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
CollectingAreasDetailSection section = new CollectingAreasDetailSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
return section;
}
+ public GeoScopeDetailSection createGeoScopeDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+ GeoScopeDetailSection section = new GeoScopeDetailSection(this, conversation, parentElement, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
public IdentifierDetailSection createIdentifierDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
IdentifierDetailSection section = new IdentifierDetailSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
return section;
}
- public GeographicalScopeDetailSection createGeographicalScopeDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
- GeographicalScopeDetailSection section = new GeographicalScopeDetailSection(this, conversation, parentElement, style);
- addAndAdaptSection(parentElement, section);
- return section;
- }
-
public ScopeRestrictionSection createScopeRestrictionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
ScopeRestrictionSection section = new ScopeRestrictionSection(this, conversation, parentElement, style);
addAndAdaptSection(parentElement, section);
return section;
}
- /**
- * <p>
- * createEntityCollectionElement
- * </p>
- *
- * @param removeListener
- * a {@link org.eclipse.swt.events.SelectionListener} object.
- * @param style
- * a int.
- * @param parentElement
- * a
- * {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
- * object.
- * @param versionableEntity
- * a {@link eu.etaxonomy.cdm.model.common.IVersionableEntity}
- * object.
- * @param backgroundColor
- * a {@link org.eclipse.swt.graphics.Color} object.
- * @return a
- * {@link eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement}
- * object.
- */
public AbstractEntityCollectionElement createEntityCollectionElement(AbstractFormSection parentElement,
Object versionableEntity, SelectionListener removeListener, Color backgroundColor, int style) {
AbstractEntityCollectionElement element = null;
} else if (entity instanceof Marker) {
element = new MarkerElement(this, parentElement, (Marker) entity, removeListener, style);
} else if (entity instanceof Media) {
- element = new MediaMetaElement(this, parentElement, (Media) entity, removeListener, style);
+ element = new MediaMetaElement(this, parentElement, (Media) entity, removeListener, true, style);
} else if (entity instanceof MediaRepresentation) {
element = new MediaRepresentationElement(this, parentElement, (MediaRepresentation) entity, removeListener,
style);
} else if (entity instanceof IdentifiableSource) {
element = new IdentifiableSourceElement(this, parentElement, (IdentifiableSource) entity, removeListener,
style);
- } else if (entity instanceof DefinedTerm) {
- switch(((DefinedTerm)entity).getTermType()) {
- case Scope:
- element = new ScopeElement(this,
- parentElement,
- (DefinedTerm) entity,
- removeListener,
- style);
- break;
- case Modifier:
- element = new ModifierElement(this,
- parentElement,
- (DefinedTerm) entity,
- removeListener,
- style);
- break;
- default:
- //FIXME : Actually we should through an exception here
- element = null;
- break;
-
- }
+ } else if (entity instanceof DefinedTerm) {
+ switch(((DefinedTerm)entity).getTermType()) {
+ case Scope:
+ element = new ScopeElement(this,
+ parentElement,
+ (DefinedTerm) entity,
+ removeListener,
+ style);
+ break;
+ case Modifier:
+ element = new ModifierElement(this,
+ parentElement,
+ (DefinedTerm) entity,
+ removeListener,
+ style);
+ break;
+ default:
+ break;
+
+ }
} else if (entity instanceof Reference) {
if(parentElement instanceof SequenceReferenceCollectionDetailSection){
element = new SequenceReferenceCollectionDetailElement(this, parentElement, (Reference) entity, removeListener, style);
element = new StatisticalMeasurementValueElement(this, parentElement, (StatisticalMeasurementValue) entity,
removeListener, style);
} else if (entity instanceof DerivedUnit) {
- switch(((DerivedUnit)entity).getRecordBasis()) {
- case LivingSpecimen:
- case PreservedSpecimen:
- case OtherSpecimen:
- element = new SpecimenCollectionDetailElement(this,
- parentElement,
- (DerivedUnit) entity,
- removeListener,
- style);
- break;
- default:
- element = new DerivedUnitElement(this,
- parentElement,
- (DerivedUnit) entity,
- removeListener,
- style);
- }
+ switch(((DerivedUnit)entity).getRecordBasis()) {
+ case LivingSpecimen:
+ case PreservedSpecimen:
+ case OtherSpecimen:
+ element = new SpecimenCollectionDetailElement(this,
+ parentElement,
+ (DerivedUnit) entity,
+ removeListener,
+ style);
+ break;
+ default:
+ element = new DerivedUnitElement(this,
+ parentElement,
+ (DerivedUnit) entity,
+ removeListener,
+ style);
+ }
} else if (entity instanceof NamedArea) {
element = new NamedAreaDetailElement(this, parentElement, (NamedArea) entity, removeListener, style);
else{
element = new IdentifierDetailElement(this, parentElement, (Identifier) entity, removeListener, style);
}
+ } else if (entity instanceof TermVocabulary) {
+ TermVocabulary<?> termVocabulary = (TermVocabulary<?>)entity;
+ switch (termVocabulary.getTermType()) {
+ case State:
+ element = new StateVocabularyCollectionElement(this, parentElement, (TermVocabulary<State>) entity, removeListener, backgroundColor, style);
+ break;
+ case Modifier:
+ element = new StateModifierElement(this, parentElement, (TermVocabulary<DefinedTerm>) entity, removeListener, backgroundColor, style);
+ break;
+ default:
+ break;
+ }
+ } else if (entity instanceof MeasurementUnit) {
+ element = new MeasurementUnitCollectionElement(this, parentElement, (MeasurementUnit) entity, removeListener, backgroundColor, style);
+ } else if (entity instanceof StatisticalMeasure) {
+ element = new StatisticalMeasureCollectionElement(this, parentElement, (StatisticalMeasure) entity, removeListener, backgroundColor, style);
}
if (element == null) {
text_minVal.setNumber(getEntity().getAbsoluteElevation());
}
if(getEntity().getAbsoluteElevationMaximum() != null) {
- text_maxVal.setNumber(getEntity().getAbsoluteElevation());
+ text_maxVal.setNumber(getEntity().getAbsoluteElevationMaximum());
}
if(getEntity().getAbsoluteElevationText() != null) {
text_freeText.setText(getEntity().getAbsoluteElevationText());
* @return the Integer value or null if {@link NumberFormatException} occurs.
*/
public Integer getInteger() {
- String text = super.getText().trim();
- try {
- return text.equals("") ? 0 : new Integer(text);
- } catch (NumberFormatException e) {
- exception = e;
- }
+ if(super.getText()!=null){
+ String text = super.getText().trim();
+ try {
+ return text.equals("") ? 0 : new Integer(text);
+ } catch (NumberFormatException e) {
+ exception = e;
+ }
+ }
return null;
}
*/
package eu.etaxonomy.taxeditor.ui.element;
+import org.apache.commons.lang.StringUtils;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
* @return a {@link java.lang.String} object.
*/
public String getText() {
- return text.getText();
+ if (StringUtils.isBlank(text.getText())){
+ return null;
+ }else{
+ return text.getText();
+ }
}
/**
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Layout;
+import org.eclipse.swt.widgets.Listener;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
private final Composite box;
- private Button button_remove;
+ private Button btnRemove;
+ private Button btnChooseEntity;
private Color backgroundColor;
* a ENTITY object.
*/
public AbstractEntityCollectionElement(CdmFormFactory formFactory,
- AbstractFormSection section, ENTITY entity,
- SelectionListener removeListener, Color backgroundColor, int style) {
+ AbstractFormSection section, ENTITY entity,
+ SelectionListener removeListener, Color backgroundColor, int style) {
+ this(formFactory, section, entity, removeListener, false, backgroundColor, style);
+ }
+ public AbstractEntityCollectionElement(CdmFormFactory formFactory,
+ AbstractFormSection section, ENTITY entity, SelectionListener removeListener,
+ boolean isChoosableEntity, Color backgroundColor, int style) {
super(formFactory, (ICdmFormElement) section);
init();
formFactory.addPropertyChangeListener(this);
- // section.getLayoutComposite().setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_CYAN));
-
box = formFactory.createComposite(section.getLayoutComposite());
box.setBackgroundMode(SWT.INHERIT_DEFAULT);
addControl(box);
- TableWrapLayout boxLayout = LayoutConstants.LAYOUT(2, false);
+ TableWrapLayout boxLayout = LayoutConstants.LAYOUT(3, false);
boxLayout.topMargin = 4;
boxLayout.bottomMargin = 4;
box.setLayout(boxLayout);
box.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
- // box.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
-
container = formFactory.createComposite(box);
container.setBackgroundMode(SWT.INHERIT_DEFAULT);
- // container.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
setLayoutComposite(container);
addControl(container);
container.setLayout(containerLayout);
container.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
+ if(isChoosableEntity){
+ btnChooseEntity = formFactory.createButton(box, null, SWT.PUSH);
+ addControl(btnChooseEntity);
+ btnChooseEntity.setLayoutData(LayoutConstants.RIGHT());
+ btnChooseEntity.setImage(ImageResources.getImage(ImageResources.BROWSE_ICON));
+ btnChooseEntity.setToolTipText("Browse");
+ btnChooseEntity.addListener(SWT.Selection, new Listener() {
+
+ @Override
+ public void handleEvent(Event event) {
+ ENTITY entity = selectFromDialog();
+ if(entity!=null){
+ if(getParentElement() instanceof AbstractEntityCollectionSection){
+ ((AbstractEntityCollectionSection)getParentElement()).removeElement(getEntity());
+ setEntity(entity);
+ ((AbstractEntityCollectionSection)getParentElement()).addElement(entity);
+ ((AbstractEntityCollectionSection)getParentElement()).firePropertyChangeEvent(getParentElement());
+ }
+ }
+ }
+ });
+ }
+
if (removeListener != null) {
- button_remove = formFactory.createButton(box, null, SWT.PUSH);
- addControl(button_remove);
- button_remove.setLayoutData(LayoutConstants.RIGHT());
- button_remove.setImage(ImageResources
+ btnRemove = formFactory.createButton(box, null, SWT.PUSH);
+ addControl(btnRemove);
+ btnRemove.setLayoutData(LayoutConstants.RIGHT());
+ btnRemove.setImage(ImageResources
.getImage(ImageResources.TRASH_ICON));
- button_remove.setToolTipText("Remove");
+ btnRemove.setToolTipText("Remove");
- button_remove.addSelectionListener(removeListener);
+ btnRemove.addSelectionListener(removeListener);
}
createControls(this, style);
return entity;
}
+ /**
+ * Sub classes should override to provide the functionality to choose the
+ * entity from existing ones from the data source.<br>
+ * <b>Note:</b> to enable this functionality sub classes have to set
+ * the corresponding flag in the super constructor
+ * @return an existing entity from the data source
+ */
+ protected ENTITY selectFromDialog(){
+ return null;
+ }
+
/**
* <p>
* createControls
// $Id$
/**
* Copyright (C) 2007 EDIT
- * European Distributed Institute of Taxonomy
+ * European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
- *
+ *
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.GeoScopeDetailSection;
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
/**
* <p>
* ClassificationDetailElement class.
* </p>
- *
+ *
* @author n.hoffmann
* @created Sep 27, 2010
* @version 1.0
private TextWithLabelElement text_microReference;
+ private TimePeriodElement element_date;
+
+ private GeoScopeDetailSection section_collectingAreas;
+
+
+
+
/**
* <p>
* Constructor for ClassificationDetailElement.
* </p>
- *
+ *
* @param formFactory
* a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
* object.
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
* (eu.etaxonomy.taxeditor.forms.ICdmFormElement,
/** {@inheritDoc} */
@Override
protected void createControls(ICdmFormElement formElement,
- Classification entity, int style) {
- text_treeLabel = formFactory.createTextWithLabelElement(formElement,
- "Label", entity != null ? entity.getTitleCache() : null,
- SWT.NULL);
- 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);
+ Classification entity, int style) {
+ text_treeLabel = formFactory.createTextWithLabelElement(formElement, "Label", entity != null ? entity.getTitleCache() : null, SWT.NULL);
+ 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);
+ element_date = formFactory.createTimePeriodElement(formElement, "Date",
+ entity.getTimeperiod(), style);
+ section_collectingAreas = formFactory.createGeoScopeDetailSection(getConversationHolder(), formElement, SWT.NULL);
+ section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ section_collectingAreas.setEntity(entity);
+
}
/*
* (non-Javadoc)
- *
+ *
* @see
* eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
* .lang.Object)
getEntity().setReference(selection_reference.getEntity());
} else if (eventSource == text_microReference) {
getEntity().setMicroReference(text_microReference.getText());
+ }else if (eventSource == element_date) {
+ getEntity().setTimeperiod(element_date.getTimePeriod());
}
}
}
selection_reuseExistingTaxon = formFactory
.createSelectionElement(Taxon.class,
getConversationHolder(), formElement,
- "Reuse existing Taxon", null,
- EntitySelectionElement.NOTHING, style);
+ "Reuse existing taxon", null,
+ EntitySelectionElement.DELETABLE, style);
selection_reuseExistingName = formFactory
.createSelectionElement(TaxonNameBase.class,
getConversationHolder(), formElement,
"Reuse existing name", null,
- EntitySelectionElement.ALL, style);
+ EntitySelectionElement.DELETABLE, style);
text_newTaxonName = formFactory.createTextWithLabelElement(formElement,
"New Taxon", "", style);
+ text_newTaxonName.setFocus();
checkbox_openInEditor = formFactory.createCheckbox(formElement,
"Open in Editor", true, style);
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
SelectionListener removeListener, int style) {
super(formFactory, section, entity, removeListener, null, style);
}
-
+
/** {@inheritDoc} */
@Override
public void setEntity(NamedArea entity) {
-
+
}
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement element, int style) {
-
+
}
/** {@inheritDoc} */
@Override
- public void handleEvent(Object eventSource) {
+ public void handleEvent(Object eventSource) {
}
+
+
}
package eu.etaxonomy.taxeditor.ui.section.description;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
import org.eclipse.swt.events.SelectionListener;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.description.StateData;
+import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
* @param style a int.
*/
public ModifierElement(CdmFormFactory formFactory,
- AbstractFormSection section, DefinedTerm entity,
+ AbstractFormSection<?> section, DefinedTerm entity,
SelectionListener removeListener, int style) {
super(formFactory, section, entity, removeListener, null, style);
}
@Override
public void setEntity(DefinedTerm entity) {
this.entity = entity;
- combo_modifier.setSelection(entity);
+ if(getParentElement() instanceof ModifierSection){
+ ModifierSection parentSection = (ModifierSection) getParentElement();
+ List<DefinedTerm> modifierTerms = new ArrayList<DefinedTerm>();
+ Set<TermVocabulary<DefinedTerm>> recommendedModifierEnumeration = new HashSet<TermVocabulary<DefinedTerm>>();
+ if(parentSection.getEntity() instanceof StateData){
+ StateData stateData = (StateData) parentSection.getEntity();
+ recommendedModifierEnumeration = stateData.getCategoricalData().getFeature().getRecommendedModifierEnumeration();
+ }
+ if(parentSection.getEntity() instanceof StatisticalMeasurementValue){
+ StatisticalMeasurementValue statisticalMeasurementValue = (StatisticalMeasurementValue)parentSection.getEntity();
+ recommendedModifierEnumeration = statisticalMeasurementValue.getQuantitativeData().getFeature().getRecommendedModifierEnumeration();
+ }
+ for (TermVocabulary<DefinedTerm> termVocabulary : recommendedModifierEnumeration) {
+ modifierTerms.addAll(termVocabulary.getTerms());
+ }
+ combo_modifier.setTerms(modifierTerms);
+ }
+ if(entity.getId()>0){
+ combo_modifier.setSelection(entity);
+ }
}
/** {@inheritDoc} */
/** {@inheritDoc} */
@Override
public void handleEvent(Object eventSource) {
-
+ if(eventSource==combo_modifier){
+ if(getParentElement() instanceof ModifierSection){
+ ModifierSection parentSection = (ModifierSection) getParentElement();
+ if((parentSection).getEntity() instanceof StateData){
+ StateData stateData = (StateData) parentSection.getEntity();
+ stateData.removeModifier(entity);
+ DefinedTerm term = combo_modifier.getSelection();
+ stateData.addModifier(term);
+ entity = term;
+ }
+ }
+ }
}
}
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
import eu.etaxonomy.cdm.model.description.IModifiable;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
/**
* <p>ModifierSection class.</p>
* @created Sep 15, 2010
* @version 1.0
*/
-public class ModifierSection extends AbstractEntityCollectionSection<IModifiable, DefinedTerm> {
+public class ModifierSection extends AbstractUnboundEntityCollectionSection<IModifiable, DefinedTerm> {
/**
* <p>Constructor for ModifierSection.</p>
int style) {
super(formFactory, conversation, parentElement, "Modifiers", style);
}
-
- /** {@inheritDoc} */
- @Override
- public Collection<DefinedTerm> getCollection(IModifiable entity) {
- return entity.getModifiers();
- }
/** {@inheritDoc} */
@Override
- public DefinedTerm createNewElement() {
- return DefinedTerm.NewInstance(TermType.Modifier,"","Untitled","");
+ public DefinedTerm createNewElement() {
+ return DefinedTerm.NewInstance(TermType.Modifier,"","Untitled","");
}
/** {@inheritDoc} */
protected String getTooltipString() {
return "Add a modifier.";
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection#getEntityCollection(java.lang.Object)
+ */
+ @Override
+ protected Collection<DefinedTerm> getEntityCollection(IModifiable entity) {
+ return entity.getModifiers();
+ }
}
package eu.etaxonomy.taxeditor.ui.section.description;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.description.State;
import eu.etaxonomy.cdm.model.description.StateData;
import eu.etaxonomy.taxeditor.store.CdmStore;
@Override
public void setEntity(StateData entity) {
this.entity = entity;
+ List<State> stateTerms = new ArrayList<State>();
+ Set<TermVocabulary<State>> stateVocabularies = getEntity().getCategoricalData().getFeature().getSupportedCategoricalEnumerations();
+ for (TermVocabulary<State> termVocabulary : stateVocabularies) {
+ stateTerms.addAll(termVocabulary.getTerms());
+ }
+ combo_state.setTerms(stateTerms);
combo_state.setSelection(entity.getState());
section_modifiers.setEntity(entity);
if(getEntity().getModifyingText().get(CdmStore.getDefaultLanguage()) != null) {
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.description;
+
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+
+import eu.etaxonomy.cdm.model.common.DefinedTerm;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.taxeditor.ui.combo.VocabularyComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.StateModifierCollectionSection;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class StateModifierElement extends AbstractEntityCollectionElement<TermVocabulary<DefinedTerm>> {
+
+
+ private VocabularyComboElement<DefinedTerm, TermVocabulary<DefinedTerm>> comboStateVocabulary;
+
+ /**
+ * @param formFactory
+ * @param section
+ * @param entity
+ * @param removeListener
+ * @param isChoosableEntity
+ * @param backgroundColor
+ * @param style
+ */
+ public StateModifierElement(CdmFormFactory formFactory, AbstractFormSection section, TermVocabulary<DefinedTerm> entity,
+ SelectionListener removeListener, Color backgroundColor, int style) {
+ super(formFactory, section, entity, removeListener, false, backgroundColor, style);
+
+ }
+
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ comboStateVocabulary = formFactory.createVocabularyComboElement(TermType.Modifier, "State modifiers", null, element, style);
+ }
+
+ @Override
+ public void setEntity(TermVocabulary<DefinedTerm> entity) {
+ this.entity = entity;
+ if(entity.getId()!=0){
+ comboStateVocabulary.setSelection(entity);
+ }
+ }
+
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource==comboStateVocabulary && comboStateVocabulary.getSelection()!=null){
+ if(getParentElement() instanceof StateModifierCollectionSection){
+ Feature feature = ((StateModifierCollectionSection) getParentElement()).getEntity();
+ feature.removeRecommendedModifierEnumeration(entity);
+ TermVocabulary<DefinedTerm> vocabulary = comboStateVocabulary.getSelection();
+ feature.addRecommendedModifierEnumeration(vocabulary);
+ entity = vocabulary;
+ }
+ }
+ }
+
+}
package eu.etaxonomy.taxeditor.ui.section.description;
+import java.util.ArrayList;
+import java.util.Set;
+
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
@Override
public void setEntity(StatisticalMeasurementValue entity) {
this.entity = entity;
- number_value.setNumber(entity.getValue());
+ Set<StatisticalMeasure> statisiticalMeasures = getEntity().getQuantitativeData().getFeature().getRecommendedStatisticalMeasures();
+ combo_type.setTerms(new ArrayList<StatisticalMeasure>(statisiticalMeasures));
combo_type.setSelection(entity.getType());
+ number_value.setNumber(entity.getValue());
section_modifiers.setEntity(entity);
}
@Override
public void handleEvent(Object eventSource) {
if(eventSource == number_value){
- getEntity().setValue(number_value.getFloat());
+ Float floatNumber = number_value.getFloat();
+ if(floatNumber==null){
+ String zero = "0.0";
+ floatNumber = new Float(zero);
+ number_value.setText(zero);
+ }
+ getEntity().setValue(floatNumber);
}
else if(eventSource == combo_type){
getEntity().setType(combo_type.getSelection());
section_stateData.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
}
- /** {@inheritDoc} */
- @Override
- public void setEntity(CategoricalData entity) {
-// section_stateData.setEntity(entity);
- super.setEntity(entity);
- }
-
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
*/
*/
package eu.etaxonomy.taxeditor.ui.section.description.detail;
+import java.util.ArrayList;
+
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import eu.etaxonomy.cdm.model.common.TermType;
public class QuantitativeDataDetailElement extends
AbstractDetailedDescriptionDetailElement<QuantitativeData> {
- private TermComboElement<MeasurementUnit> combo_mesaurementUnit;
+ private TermComboElement<MeasurementUnit> comboMeasurementUnit;
private StatisticalMeasurementValueSection section_statisticalMeasurementValues;
/**
@Override
protected void createControls(ICdmFormElement formElement,
QuantitativeData entity, int style) {
- combo_mesaurementUnit = formFactory.createDefinedTermComboElement(TermType.MeasurementUnit, formElement, "Measurement Unit", entity.getUnit(), style);
+ comboMeasurementUnit = formFactory.createDefinedTermComboElement(TermType.MeasurementUnit, formElement, "Measurement Unit", null, style);
+ comboMeasurementUnit.setTerms(new ArrayList<MeasurementUnit>(entity.getFeature().getRecommendedMeasurementUnits()));
+ comboMeasurementUnit.setSelection(entity.getUnit());
section_statisticalMeasurementValues = formFactory.createStatisticalMeasurementValueSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
section_statisticalMeasurementValues.setEntity(entity);
section_statisticalMeasurementValues.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
- */
/** {@inheritDoc} */
@Override
public void handleEvent(Object eventSource) {
- if(eventSource == combo_mesaurementUnit){
- getEntity().setUnit(combo_mesaurementUnit.getSelection());
+ if(eventSource == comboMeasurementUnit){
+ getEntity().setUnit(comboMeasurementUnit.getSelection());
}else if (eventSource == section_statisticalMeasurementValues){
// FIXME
}
// $Id$
/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
* @version 1.0
*/
public class TextDataDetailElement extends AbstractDetailedDescriptionDetailElement<TextData> {
-
+
private MultilanguageTextElement multilanguageTextElement;
-
+
/**
* <p>Constructor for TextDataDetailElement.</p>
*
ICdmFormElement formElement, TextData entity, int style) {
super(formFactory, formElement, entity, style);
}
-
+
/** {@inheritDoc} */
@Override
protected void createControls(ICdmFormElement formElement, TextData entity,
int style) {
- multilanguageTextElement = formFactory.createMultiLanguageTextElement(this, null, entity.getMultilanguageText(), 400, SWT.WRAP);
+ multilanguageTextElement = formFactory.createMultiLanguageTextElement(this, null, entity.getMultilanguageText(), 200, SWT.WRAP);
}
/** {@inheritDoc} */
+++ /dev/null
-/**
- *
- */
-package eu.etaxonomy.taxeditor.ui.section.key;
-
-import java.util.Collection;
-
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.description.IIdentificationKey;
-import eu.etaxonomy.cdm.model.location.NamedArea;
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
-
-/**
- * @author n.hoffmann
- *
- */
-public class GeographicalScopeDetailSection extends
- AbstractEntityCollectionSection<IIdentificationKey, NamedArea> {
-
- public GeographicalScopeDetailSection(CdmFormFactory formFactory,
- ConversationHolder conversation, ICdmFormElement parentElement, int style) {
- super(formFactory, conversation, parentElement, "Geographical Scope", style);
- }
-
- @Override
- public Collection<NamedArea> getCollection(IIdentificationKey entity) {
- return entity.getGeographicalScope();
- }
-
- @Override
- public NamedArea createNewElement() {
- return NamedArea.NewInstance();
- }
-
- @Override
- public void addElement(NamedArea element) {
- getEntity().addGeographicalScope(element);
- }
-
- @Override
- public void removeElement(NamedArea element) {
- getEntity().removeGeographicalScope(element);
- }
-
- @Override
- public String getEmptyString() {
- return "No geographical scopes yet.";
- }
-
- @Override
- protected String getTooltipString() {
- return "Add a geographical scope";
- }
-
-}
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
*/
public MediaMetaElement(CdmFormFactory cdmFormFactory,
AbstractFormSection<?> formElement, Media element,
- SelectionListener removeListener, int style) {
- super(cdmFormFactory, formElement, element, removeListener, null, style);
+ SelectionListener removeListener, boolean isChoosableEntity, int style) {
+ super(cdmFormFactory, formElement, element, removeListener, isChoosableEntity, null, style);
}
/*
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement element, int style) {
+
text_title = formFactory.createLanguageStringWithLabelElement(element, "Title", null, style);
selection_artist = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), element, "Artist", null, EntitySelectionElement.ALL, style);
text_description = formFactory.createLanguageStringWithLabelElement(element, "Description", null, 100, true, style);
text_title.setLanguageString(title);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement#selectFromDialog()
+ */
+ @Override
+ protected Media selectFromDialog() {
+ return MediaSelectionDialog.select(AbstractUtility.getShell(), null, null);
+ }
+
public void toggleAdvancedMediaView(){
mediaDetailElement.toggleAdvancedMediaView();
}
setIrrelevant(toggleable_cache.getState(),
Arrays.asList(new Object[] { toggleable_cache }));
}
- } else if (eventSource == selectionExBasionymAuthor) {
- getEntity().setCombinationAuthorTeam(
- selectionExBasionymAuthor.getSelection());
} else if (eventSource == selectionCombinationAuthor) {
getEntity().setCombinationAuthorTeam(
selectionCombinationAuthor.getSelection());
import org.eclipse.swt.widgets.Control;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.name.NonViralName;
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.model.ImageResources;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.NameSelectionDialog;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
protected Control createToolbar() {
ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
+ //choose name
+ Action chooseNameAction = new Action("Choose Name", IAction.AS_PUSH_BUTTON){
+ @Override
+ public void run() {
+ TaxonNameBase taxonName = NameSelectionDialog.select(getShell(), getConversationHolder(), null);
+ if(taxonName!=null){
+ if(taxonName.isInstanceOf(NonViralName.class)){
+ CdmStore.getService(ITaxonNodeService.class).list(TaxonNode.class, null, null, null, null);
+ NonViralName nonViralName = HibernateProxyHelper.deproxy(taxonName, NonViralName.class);
+ taxonBase.setName(nonViralName);
+ // taxonBase.getTitleCache();
+ setEntity(nonViralName);
+ firePropertyChangeEvent(NonViralNameDetailSection.this);
+ }
+ else{
+ MessagingUtils.warningDialog("Invalid name", this, "The selected name can not be used for this taxon.");
+ }
+ }
+ }
+ };
+ chooseNameAction.setToolTipText("Choose name for this taxon");
+ chooseNameAction.setImageDescriptor(ImageResources.getImageDescriptor(ImageResources.BROWSE_ICON));
+
+ toolBarManager.add(chooseNameAction);
+
+ //clone
if(getEntity() != null && checkForMultipleNameUsages(getEntity())){
Action cloneAction = new Action("Clone", IAction.AS_PUSH_BUTTON){
- @Override
- public void run() {
+ @Override
+ public void run() {
boolean confirm = MessagingUtils.confirmDialog("Confirm cloning", "Do you really want to clone the name?");
if(confirm){
setEntity(clonedName);
taxonBase.setName(clonedName);
taxonBase.generateTitle();
-// EditorUtil.getActiveMultiPageTaxonEditor().r
firePropertyChangeEvent(new CdmPropertyChangeEvent(NonViralNameDetailSection.this, null));
}
package eu.etaxonomy.taxeditor.ui.section.occurrence;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
+
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
import eu.etaxonomy.taxeditor.ui.element.GatheringEventUnitElement;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection;
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.PointElement;
private ToggleableTextElement toggleableText_titleCache;
private EnumComboElement<SpecimenOrObservationType> combo_specorobstype;
private EntitySelectionElement<NamedArea> selection_country;
+ private CollectingAreasDetailSection section_collectingAreas;
private LanguageStringWithLabelElement languageText_locality;
private PointElement element_point;
private NumberWithLabelElement number_elevation;
selection_country = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
formElement, "Country",
entity.getCountry(), EntitySelectionElement.NOTHING, style);
+
+ if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION)){
+ section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
+ section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ section_collectingAreas.setEntity(entity);
+ }
languageText_locality = formFactory
.createLanguageStringWithLabelElement(formElement, "Locality",
entity.getLocality(), style);
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.ui.section.occurrence;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.NamedAreaSelectionDialog;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+
+/**
+ * <p>
+ * CollectingAreasDetailSection class.
+ * </p>
+ *
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class GeoScopeDetailSection extends AbstractEntityCollectionSection<Classification, NamedArea> {
+
+ /**
+ * <p>Constructor for CollectingAreasDetailSection.</p>
+ *
+ * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
+ * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+ * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
+ * @param style a int.
+ */
+ public GeoScopeDetailSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(formFactory, conversation, parentElement, "Geo Scopes", style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public Collection<NamedArea> getCollection(Classification entity) {
+ return entity.getGeoScopes();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public NamedArea createNewElement() {
+ NamedArea selection = NamedAreaSelectionDialog.select(getLayoutComposite().getShell(), getConversationHolder(), null);
+
+ return selection;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void addElement(NamedArea element) {
+ getEntity().addGeoScope(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void removeElement(NamedArea element) {
+ getEntity().removeGeoScope(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public String getEmptyString() {
+ return "No geo scopes yet.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected String getTooltipString() {
+ return "Add a geo scope";
+ }
+
+}
switch (referenceType) {
case Generic:
break;
+ case Section:
+ break;
case BookSection:
label = "Book";
break;
import eu.etaxonomy.cdm.model.description.CategoricalData;\r
import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.cdm.model.description.StateData;\r
-import eu.etaxonomy.taxeditor.editor.UsageTermCollection;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
import eu.etaxonomy.taxeditor.store.TermStore;\r
+import eu.etaxonomy.taxeditor.store.UsageTermCollection;\r
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;\r
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
List<State> termsToAdd = new ArrayList<State>();\r
for (State term : listOfTerms) {\r
\r
- if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(UsageTermCollection.useCategoryVocabularyLabel))) {\r
+ if ((term.getPartOf() != null) && (term.getPartOf().getUuid().equals( UsageTermCollection.uuidUseCategoryVocabulary))) {\r
termsToAdd.add(term);\r
}\r
- else if ((term.getVocabulary() !=null) && (term.getPartOf() == null) && (term.getVocabulary().getTitleCache().equals(UsageTermCollection.useCategoryVocabularyLabel))) {\r
+ else if ((term.getVocabulary() !=null) && (term.getPartOf() == null) && (term.getVocabulary().getUuid().equals(UsageTermCollection.uuidUseCategoryVocabulary))) {\r
termsToAdd.add(term);\r
}\r
}\r
*/\r
package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
\r
+import org.apache.commons.lang.StringUtils;\r
+\r
import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
public void handleEvent(Object eventSource) {\r
handleRepresentation(eventSource);\r
if(eventSource==textIdInVocabulary){\r
- if (textIdInVocabulary.getText().equals("")){\r
+ if (StringUtils.isBlank(textIdInVocabulary.getText())){\r
getEntity().setIdInVocabulary(null);\r
}else{\r
getEntity().setIdInVocabulary(textIdInVocabulary.getText());\r
*/\r
package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
\r
+import org.eclipse.ui.forms.widgets.ExpandableComposite;\r
+\r
import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;\r
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;\r
\r
/**\r
* @author l.morris\r
*/\r
public class FeatureDetailElement extends DefinedTermDetailElement<Feature> {\r
\r
+ private ICdmFormElement parentFormElement;\r
+\r
private CheckboxElement supportsTextData;\r
\r
private CheckboxElement supportsQuantitativeData;\r
\r
private CheckboxElement supportsCommonTaxonName;\r
\r
+ private StateVocabularyCollectionSection sectionStateVocabularies;\r
+\r
+ private MeasurementUnitCollectionSection sectionMeasurementUnits;\r
+\r
+ private StatisticalMeasureCollectionSection sectionStatisticalMeasures;\r
+\r
+ private StateModifierCollectionSection sectionStateModifiers;;\r
+\r
/**\r
* @param formFactory\r
* @param formElement\r
@Override\r
protected void createControls(ICdmFormElement formElement, Feature entity, int style) {\r
super.createControls(formElement, entity, style);\r
+ this.parentFormElement = formElement;\r
supportsTextData = formFactory.createCheckbox(formElement, "Supports Text Data", entity.isSupportsTextData(), style);\r
- supportsQuantitativeData = formFactory.createCheckbox(formElement, "Supports Quantitive Data", entity.isSupportsQuantitativeData(), style);\r
+ supportsQuantitativeData = formFactory.createCheckbox(formElement, "Supports Quantitative Data", entity.isSupportsQuantitativeData(), style);\r
supportsDistribution = formFactory.createCheckbox(formElement, "Supports Distribution", entity.isSupportsDistribution(), style);\r
supportsIndividualAssociation = formFactory.createCheckbox(formElement, "Supports Individual Association", entity.isSupportsIndividualAssociation(), style);\r
supportsTaxonInteraction = formFactory.createCheckbox(formElement, "Supports Taxon Interaction", entity.isSupportsTaxonInteraction(), style);\r
supportsCategoricalData = formFactory.createCheckbox(formElement, "Supports Categorical Data", entity.isSupportsCategoricalData(), style);\r
supportsCommonTaxonName = formFactory.createCheckbox(formElement, "Supports Common Taxon Name", entity.isSupportsCommonTaxonName(), style);\r
+\r
+ if(supportsCategoricalData.getSelection()){\r
+ sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionStateVocabularies.setEntity(getEntity());\r
+\r
+ }\r
+ if(supportsQuantitativeData.getSelection()){\r
+ sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionMeasurementUnits.setEntity(getEntity());\r
+\r
+ sectionStatisticalMeasures = formFactory.createStatisticalMeasureCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionStatisticalMeasures.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionStatisticalMeasures.setEntity(getEntity());\r
+ }\r
+ if(supportsCategoricalData.getSelection() || supportsQuantitativeData.getSelection()){\r
+ sectionStateModifiers = formFactory.createStateModifierCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionStateModifiers.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionStateModifiers.setEntity(getEntity());\r
+ }\r
}\r
\r
/* (non-Javadoc)\r
}\r
else if(eventSource == supportsQuantitativeData){\r
getEntity().setSupportsQuantitativeData(supportsQuantitativeData.getSelection());\r
+ if(supportsQuantitativeData.getSelection()){\r
+ sectionMeasurementUnits = formFactory.createMeasurementUnitCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionMeasurementUnits.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionMeasurementUnits.setEntity(getEntity());\r
+\r
+ sectionStatisticalMeasures = formFactory.createStatisticalMeasureCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionStatisticalMeasures.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionStatisticalMeasures.setEntity(getEntity());\r
+\r
+ if(!supportsCategoricalData.getSelection()){\r
+ sectionStateModifiers = formFactory.createStateModifierCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionStateModifiers.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionStateModifiers.setEntity(getEntity());\r
+ }\r
+ }\r
+ else{\r
+ if(sectionMeasurementUnits!=null){\r
+ removeElementsAndControls(sectionMeasurementUnits);\r
+ removeElementsAndControls(sectionStatisticalMeasures);\r
+ if(!supportsCategoricalData.getSelection()){\r
+ removeElementsAndControls(sectionStateModifiers);\r
+ }\r
+ }\r
+ }\r
}\r
else if(eventSource == supportsDistribution){\r
getEntity().setSupportsDistribution(supportsDistribution.getSelection());\r
}\r
else if(eventSource == supportsCategoricalData){\r
getEntity().setSupportsCategoricalData(supportsCategoricalData.getSelection());\r
+ if(supportsCategoricalData.getSelection()){\r
+ sectionStateVocabularies = formFactory.createStateVocabulariesSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionStateVocabularies.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionStateVocabularies.setEntity(getEntity());\r
+\r
+ if(!supportsQuantitativeData.getSelection()){\r
+ sectionStateModifiers = formFactory.createStateModifierCollectionSection(getConversationHolder(), parentFormElement, ExpandableComposite.TWISTIE);\r
+ sectionStateModifiers.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));\r
+ sectionStateModifiers.setEntity(getEntity());\r
+ }\r
+ }\r
+ else{\r
+ if(sectionStateVocabularies!=null){\r
+ removeElementsAndControls(sectionStateVocabularies);\r
+ if(!supportsQuantitativeData.getSelection()){\r
+ removeElementsAndControls(sectionStateModifiers);\r
+ }\r
+ }\r
+ }\r
}\r
else if(eventSource == supportsCommonTaxonName){\r
getEntity().setSupportsCommonTaxonName(supportsCommonTaxonName.getSelection());\r
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.MeasurementUnit;
+import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class MeasurementUnitCollectionElement extends AbstractEntityCollectionElement<MeasurementUnit> {
+
+
+ private TermComboElement<MeasurementUnit> comboMeasurementUnit;
+
+ /**
+ * @param formFactory
+ * @param section
+ * @param entity
+ * @param removeListener
+ * @param isChoosableEntity
+ * @param backgroundColor
+ * @param style
+ */
+ public MeasurementUnitCollectionElement(CdmFormFactory formFactory, AbstractFormSection section, MeasurementUnit entity,
+ SelectionListener removeListener, Color backgroundColor, int style) {
+ super(formFactory, section, entity, removeListener, false, backgroundColor, style);
+
+ }
+
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ comboMeasurementUnit = formFactory.createDefinedTermComboElement(TermType.MeasurementUnit, element, "Measurement unit", null, style);
+ }
+
+ @Override
+ public void setEntity(MeasurementUnit entity) {
+ this.entity = entity;
+ if(entity.getId()!=0){
+ comboMeasurementUnit.setSelection(entity);
+ }
+ }
+
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource==comboMeasurementUnit && comboMeasurementUnit.getSelection()!=null){
+ if(getParentElement() instanceof MeasurementUnitCollectionSection){
+ Feature feature = ((MeasurementUnitCollectionSection) getParentElement()).getEntity();
+ feature.removeRecommendedMeasurementUnit(entity);
+ MeasurementUnit measurementUnit = comboMeasurementUnit.getSelection();
+ feature.addRecommendedMeasurementUnit(measurementUnit);
+ entity = measurementUnit;
+ }
+ }
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.MeasurementUnit;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class MeasurementUnitCollectionSection extends AbstractUnboundEntityCollectionSection<Feature, MeasurementUnit> {
+
+ public MeasurementUnitCollectionSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(formFactory, conversation, parentElement, "Recommended measurement units", style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractNullEntityCollectionSection#getEntityCollection(java.lang.Object)
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected Collection<MeasurementUnit> getEntityCollection(Feature entity) {
+ return entity.getRecommendedMeasurementUnits();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public MeasurementUnit createNewElement() {
+ return MeasurementUnit.NewInstance();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void addElement(MeasurementUnit element) {
+ //never gets called
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void removeElement(MeasurementUnit element) {
+ getEntity().removeRecommendedMeasurementUnit(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public String getEmptyString() {
+ return "No recommended measurement units yet.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected String getTooltipString() {
+ return "Add a measurement unit";
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.DefinedTerm;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class StateModifierCollectionSection extends AbstractUnboundEntityCollectionSection<Feature, TermVocabulary<DefinedTerm>> {
+
+ public StateModifierCollectionSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(formFactory, conversation, parentElement, "Recommended state modifier", style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractNullEntityCollectionSection#getEntityCollection(java.lang.Object)
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected Collection<TermVocabulary<DefinedTerm>> getEntityCollection(Feature entity) {
+ return entity.getRecommendedModifierEnumeration();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public TermVocabulary<DefinedTerm> createNewElement() {
+ return TermVocabulary.NewInstance(TermType.Modifier);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void addElement(TermVocabulary<DefinedTerm> element) {
+ //never gets called
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void removeElement(TermVocabulary<DefinedTerm> element) {
+ getEntity().removeRecommendedModifierEnumeration(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public String getEmptyString() {
+ return "No state modifiers yet.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected String getTooltipString() {
+ return "Add a state modifier";
+ }
+
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.State;
+import eu.etaxonomy.taxeditor.ui.combo.VocabularyComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class StateVocabularyCollectionElement extends AbstractEntityCollectionElement<TermVocabulary<State>> {
+
+
+ private VocabularyComboElement<State, TermVocabulary<State>> comboStateVocabulary;
+
+ /**
+ * @param formFactory
+ * @param section
+ * @param entity
+ * @param removeListener
+ * @param isChoosableEntity
+ * @param backgroundColor
+ * @param style
+ */
+ public StateVocabularyCollectionElement(CdmFormFactory formFactory, AbstractFormSection section, TermVocabulary<State> entity,
+ SelectionListener removeListener, Color backgroundColor, int style) {
+ super(formFactory, section, entity, removeListener, false, backgroundColor, style);
+
+ }
+
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ comboStateVocabulary = formFactory.createVocabularyComboElement(TermType.State, "State vocabularies", null, element, style);
+ }
+
+ @Override
+ public void setEntity(TermVocabulary<State> entity) {
+ this.entity = entity;
+ if(entity.getId()!=0){
+ comboStateVocabulary.setSelection(entity);
+ }
+ }
+
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource==comboStateVocabulary && comboStateVocabulary.getSelection()!=null){
+ if(getParentElement() instanceof StateVocabularyCollectionSection){
+ Feature feature = ((StateVocabularyCollectionSection) getParentElement()).getEntity();
+ feature.removeSupportedCategoricalEnumeration(entity);
+ TermVocabulary<State> vocabulary = comboStateVocabulary.getSelection();
+ feature.addSupportedCategoricalEnumeration(vocabulary);
+ entity = vocabulary;
+ }
+ }
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.State;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class StateVocabularyCollectionSection extends AbstractUnboundEntityCollectionSection<Feature, TermVocabulary<State>> {
+
+ public StateVocabularyCollectionSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(formFactory, conversation, parentElement, "Supported state vocabularies", style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractNullEntityCollectionSection#getEntityCollection(java.lang.Object)
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected Collection<TermVocabulary<State>> getEntityCollection(Feature entity) {
+ return entity.getSupportedCategoricalEnumerations();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public TermVocabulary<State> createNewElement() {
+ return TermVocabulary.NewInstance(TermType.State);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void addElement(TermVocabulary<State> element) {
+ //never gets called
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void removeElement(TermVocabulary<State> element) {
+ getEntity().removeSupportedCategoricalEnumeration(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public String getEmptyString() {
+ return "No state vocabularies yet.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected String getTooltipString() {
+ return "Add a state vocabulary";
+ }
+
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
+import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class StatisticalMeasureCollectionElement extends AbstractEntityCollectionElement<StatisticalMeasure> {
+
+
+ private TermComboElement<StatisticalMeasure> comboStatisticalMeasure;
+
+ /**
+ * @param formFactory
+ * @param section
+ * @param entity
+ * @param removeListener
+ * @param isChoosableEntity
+ * @param backgroundColor
+ * @param style
+ */
+ public StatisticalMeasureCollectionElement(CdmFormFactory formFactory, AbstractFormSection section, StatisticalMeasure entity,
+ SelectionListener removeListener, Color backgroundColor, int style) {
+ super(formFactory, section, entity, removeListener, false, backgroundColor, style);
+
+ }
+
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ comboStatisticalMeasure = formFactory.createDefinedTermComboElement(TermType.StatisticalMeasure, element, "Statistical measure", null, style);
+ }
+
+ @Override
+ public void setEntity(StatisticalMeasure entity) {
+ this.entity = entity;
+ if(entity.getId()!=0){
+ comboStatisticalMeasure.setSelection(entity);
+ }
+ }
+
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource==comboStatisticalMeasure && comboStatisticalMeasure.getSelection()!=null){
+ if(getParentElement() instanceof StatisticalMeasureCollectionSection){
+ Feature feature = ((StatisticalMeasureCollectionSection) getParentElement()).getEntity();
+ feature.removeRecommendedStatisticalMeasure(entity);
+ StatisticalMeasure statisticalMeasure = comboStatisticalMeasure.getSelection();
+ feature.addRecommendedStatisticalMeasure(statisticalMeasure);
+ entity = statisticalMeasure;
+ }
+ }
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractUnboundEntityCollectionSection;
+
+/**
+ * @author pplitzner
+ * @date Apr 27, 2015
+ *
+ */
+public class StatisticalMeasureCollectionSection extends AbstractUnboundEntityCollectionSection<Feature, StatisticalMeasure> {
+
+ public StatisticalMeasureCollectionSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(formFactory, conversation, parentElement, "Statistical measures", style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.occurrence.dna.AbstractNullEntityCollectionSection#getEntityCollection(java.lang.Object)
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected Collection<StatisticalMeasure> getEntityCollection(Feature entity) {
+ return entity.getRecommendedStatisticalMeasures();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection#createNewElement()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public StatisticalMeasure createNewElement() {
+ return StatisticalMeasure.NewInstance();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void addElement(StatisticalMeasure element) {
+ //never gets called
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void removeElement(StatisticalMeasure element) {
+ getEntity().removeRecommendedStatisticalMeasure(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public String getEmptyString() {
+ return "No statistical measures yet.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected String getTooltipString() {
+ return "Add a statistical measure";
+ }
+
+}
this.selection = selection;
}
- /* (non-Javadoc)
- * @see java.lang.Runnable#run()
- */
@Override
public void run() {
try{
}
}
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.model.AbstractCdmViewPart#createPartControl(org
- * .eclipse.swt.widgets.Composite)
- */
/** {@inheritDoc} */
@Override
public void createPartControl(Composite parent) {
import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
import eu.etaxonomy.cdm.config.ICdmSource;
+import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
import eu.etaxonomy.taxeditor.model.ContextListenerAdapter;
import eu.etaxonomy.taxeditor.model.IContextListener;
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.common.CdmBase;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.common.Identifier;
label += collection.getName()!=null?collection.getName()+" ":emptyString;
label += collection.getCode()!=null?"("+collection.getCode()+"), ":emptyString;
}
- label += derivedUnit.getAccessionNumber()!=null?derivedUnit.getAccessionNumber()+separator:emptyString;
- label += derivedUnit.getBarcode()!=null?derivedUnit.getBarcode():emptyString;
+ String mostSignificantIdentifier = CdmStore.getService(IOccurrenceService.class).getMostSignificantIdentifier(derivedUnit);
+ label += mostSignificantIdentifier!=null?mostSignificantIdentifier+separator:emptyString;
}
else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
//TissueSample should only be created by using it's own class
if(element instanceof TreeNode){
element = ((TreeNode) element).getValue();
}
- if(element instanceof FieldUnit){
- return ImageResources.getImage(ImageResources.FIELD_UNIT);
- }
- else if(element instanceof DerivedUnit){
- DerivedUnit derivedUnit = (DerivedUnit)element;
- if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.FieldUnit){
- return ImageResources.getImage(ImageResources.FIELD_UNIT);
- }
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.DnaSample){
- return ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE);
- }
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
- return ImageResources.getImage(ImageResources.TISSUE_SAMPLE_DERIVATE);
+ if(element instanceof CdmBase){
+ CdmBase cdmBase = (CdmBase)element;
+ boolean hasCharacterData = false;
+ if(cdmBase.isInstanceOf(SpecimenOrObservationBase.class)){
+ SpecimenOrObservationBase<?> specimen = HibernateProxyHelper.deproxy(cdmBase, SpecimenOrObservationBase.class);
+ if(!CdmStore.getService(IOccurrenceService.class).getCharacterDataForSpecimen(specimen).isEmpty()){
+ hasCharacterData = true;
+ }
}
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
- return ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE);
+ if(cdmBase.isInstanceOf(FieldUnit.class)){
+ return hasCharacterData?ImageResources.getImage(ImageResources.FIELD_UNIT_CHARACTER_DATA):ImageResources.getImage(ImageResources.FIELD_UNIT);
}
- else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.Media){
- if(derivedUnit.getKindOfUnit()!=null){
- if(derivedUnit.getKindOfUnit().equals(getArtworkTerm())){
- return ImageResources.getImage(ImageResources.ARTWORK_DERIVATE);
- }
- else if(derivedUnit.getKindOfUnit().equals(getLivingPlantPhotoTerm())){
- return ImageResources.getImage(ImageResources.LIVING_PLANT_PHOTO_DERIVATE);
- }
- else if(derivedUnit.getKindOfUnit().equals(getSpecimenScanTerm())){
- return ImageResources.getImage(ImageResources.SPECIMEN_SCAN_DERIVATE);
- }
- else if(derivedUnit.getKindOfUnit().equals(getDetailImageTerm())){
- return ImageResources.getImage(ImageResources.DETAIL_IMAGE_DERIVATE);
+ else if(cdmBase.isInstanceOf(DerivedUnit.class)){
+ DerivedUnit derivedUnit = HibernateProxyHelper.deproxy(element, DerivedUnit.class);
+ if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.FieldUnit){
+ return hasCharacterData?ImageResources.getImage(ImageResources.FIELD_UNIT_CHARACTER_DATA):ImageResources.getImage(ImageResources.FIELD_UNIT);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.DnaSample){
+ return hasCharacterData?ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.DNA_SAMPLE_DERIVATE);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
+ return hasCharacterData?ImageResources.getImage(ImageResources.TISSUE_SAMPLE_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.TISSUE_SAMPLE_DERIVATE);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
+ return hasCharacterData?ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.SPECIMEN_DERIVATE);
+ }
+ else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.Media){
+ if(derivedUnit.getKindOfUnit()!=null){
+ if(derivedUnit.getKindOfUnit().equals(getArtworkTerm())){
+ return hasCharacterData?ImageResources.getImage(ImageResources.ARTWORK_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.ARTWORK_DERIVATE);
+ }
+ else if(derivedUnit.getKindOfUnit().equals(getLivingPlantPhotoTerm())){
+ return hasCharacterData?ImageResources.getImage(ImageResources.LIVING_PLANT_PHOTO_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.LIVING_PLANT_PHOTO_DERIVATE);
+ }
+ else if(derivedUnit.getKindOfUnit().equals(getSpecimenScanTerm())){
+ return hasCharacterData?ImageResources.getImage(ImageResources.SPECIMEN_SCAN_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.SPECIMEN_SCAN_DERIVATE);
+ }
+ else if(derivedUnit.getKindOfUnit().equals(getDetailImageTerm())){
+ return hasCharacterData?ImageResources.getImage(ImageResources.DETAIL_IMAGE_DERIVATE_CHARACTER_DATA):ImageResources.getImage(ImageResources.DETAIL_IMAGE_DERIVATE);
+ }
}
}
}
- }
- else if(element instanceof Sequence){
- return ImageResources.getImage(ImageResources.SEQUENCE_DERIVATE);
- }
-
- else if(element instanceof SingleRead){
- if(multiLinkSingleReads.contains(element)){
- return ImageResources.getImage(ImageResources.SINGLE_READ_DERIVATE_MULTILINK);
+ else if(cdmBase.isInstanceOf(Sequence.class)){
+ return ImageResources.getImage(ImageResources.SEQUENCE_DERIVATE);
}
- else{
- return ImageResources.getImage(ImageResources.SINGLE_READ_DERIVATE);
+
+ else if(cdmBase.isInstanceOf(SingleRead.class)){
+ if(multiLinkSingleReads.contains(element)){
+ return ImageResources.getImage(ImageResources.SINGLE_READ_DERIVATE_MULTILINK);
+ }
+ else{
+ return ImageResources.getImage(ImageResources.SINGLE_READ_DERIVATE);
+ }
}
}
return super.getImage(element);
}
public static Identifier<DnaSample> getCurrentSampleDesignation(CdmBase entity) {
- if(entity instanceof DnaSample){
- DnaSample dnaSample = (DnaSample)entity;
+ if(entity.isInstanceOf(DnaSample.class)){
+ DnaSample dnaSample = HibernateProxyHelper.deproxy(entity, DnaSample.class);
for (Identifier<DnaSample> identifier : dnaSample.getIdentifiers()) {
if(identifier.getType()!=null && identifier.getType().equals(DerivateLabelProvider.getSampleDesignationTerm())){
//first sample designation is the current
}
}
}
- else if(entity instanceof Sequence){
- Sequence sequence = (Sequence)entity;
+ else if(entity.isInstanceOf(Sequence.class)){
+ Sequence sequence = HibernateProxyHelper.deproxy(entity, Sequence.class);
if(sequence.getDnaSample()!=null){
return getCurrentSampleDesignation(sequence.getDnaSample());
}
import org.eclipse.ui.handlers.IHandlerService;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.config.IdentifiableServiceConfiguratorImpl;
+import eu.etaxonomy.cdm.api.service.config.FindOccurrencesConfigurator;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.store.SearchManager;
import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory;
import eu.etaxonomy.taxeditor.ui.mvc.combo.EnumTermComboController;
public class DerivateSearchCompositeController implements Listener{
private final DerivateSearchComposite derivateSearchComposite;
- private IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase<DerivedUnitFacadeCacheStrategy>> configurator;
- private EnumTermComboController<SpecimenOrObservationType> enumTermComboController;
+ private EnumTermComboController<SpecimenOrObservationType> comboSpecimenTypeController;
private final DerivateSearchView derivateSearchView;
private DerivateLabelProvider labelProvider;
private Taxon selectedTaxon;
private void init(){
//derivate type combo
- enumTermComboController = new EnumTermComboController<SpecimenOrObservationType>(derivateSearchComposite.getComboDerivateType(), null, null, SpecimenOrObservationType.class, 0);
- enumTermComboController.setSelection(SpecimenOrObservationType.Unknown);
+ comboSpecimenTypeController = new EnumTermComboController<SpecimenOrObservationType>(derivateSearchComposite.getComboDerivateType(), null, null, SpecimenOrObservationType.class, 0);
+ comboSpecimenTypeController.setSelection(SpecimenOrObservationType.Unknown);
//add listeners
derivateSearchComposite.getSearchField().addListener(SWT.KeyDown, this);
}
});
- configurator = new IdentifiableServiceConfiguratorImpl<SpecimenOrObservationBase<DerivedUnitFacadeCacheStrategy>>();
}
derivateSearchView.setFocus(); //rebind the conversation
}
+ String queryString = derivateSearchComposite.getSearchField().getText();
+ SpecimenOrObservationType specimenType = comboSpecimenTypeController.getSelection();
- List<SpecimenOrObservationBase<?>> filteredByAssociatedTaxon = null;
- //filter by taxon
- if(selectedTaxon!=null){
- filteredByAssociatedTaxon = CdmStore.getService(IOccurrenceService.class).listByAssociatedTaxon(null, null, selectedTaxon, null, null, null, null, null);
- }
+ FindOccurrencesConfigurator config = new FindOccurrencesConfigurator();
+ config.setAssociatedTaxonUuid(selectedTaxon!=null?selectedTaxon.getUuid():null);
+ config.setSpecimenType(specimenType==SpecimenOrObservationType.Unknown?null:specimenType);//unknown := all types
+ config.setTitleSearchString(queryString);
- //filter by specimen type
- configurator.setTitleSearchString(derivateSearchComposite.getSearchField().getText());
- SpecimenOrObservationType type = enumTermComboController.getSelection();
- List<SpecimenOrObservationBase> filteredByType = new ArrayList<SpecimenOrObservationBase>();
- if(filteredByAssociatedTaxon!=null){
- for (SpecimenOrObservationBase specimenOrObservationBase : filteredByAssociatedTaxon) {
- if(type.equals(SpecimenOrObservationType.Unknown) || specimenOrObservationBase.getRecordBasis().equals(type)){
- filteredByType.add(specimenOrObservationBase);
- }
- }
- }
- else{
- filteredByType = CdmStore.getSearchManager().findOccurrencesByType(configurator, type);
- }
+ SearchManager searchManager = new SearchManager();
+ List<SpecimenOrObservationBase> occurrences = searchManager.findOccurrences(config);
//filter out assigned specimens
if(derivateSearchComposite.getBtnFilterUndeterminedSpecimen().getSelection()){
List<SpecimenOrObservationBase> specimensWithNoDetermination = new ArrayList<SpecimenOrObservationBase>();
- for(SpecimenOrObservationBase<?> result:filteredByType){
+ for(SpecimenOrObservationBase<?> result:occurrences){
if(CdmStore.getService(IOccurrenceService.class).countDeterminations(result, null)==0){
specimensWithNoDetermination.add(result);
}
}
- filteredByType = specimensWithNoDetermination;
+ occurrences = specimensWithNoDetermination;
}
- derivateSearchComposite.getResultViewer().setInput(filteredByType);
+ derivateSearchComposite.getResultViewer().setInput(occurrences);
}
/* (non-Javadoc)
* Resets all input fields
*/
public void reset(){
- derivateSearchComposite.getResultViewer().setInput(null);
- derivateSearchComposite.getSearchField().setText("");
- enumTermComboController.setSelection(SpecimenOrObservationType.Unknown);
- derivateSearchComposite.getComboDerivateType().deselectAll();
+ if(!derivateSearchComposite.isDisposed()){
+ derivateSearchComposite.getResultViewer().setInput(null);
+ derivateSearchComposite.getSearchField().setText("");
+ derivateSearchComposite.getComboDerivateType().deselectAll();
+ comboSpecimenTypeController.setSelection(SpecimenOrObservationType.Unknown);
+ }
selectedTaxon = null;
}
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.key.GeographicalScopeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.ScopeRestrictionSection;
import eu.etaxonomy.taxeditor.ui.section.key.TaxonomicScopeSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.GeoScopeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection;
/**
else if ((input instanceof PolytomousKeyNode) &&
(formSection instanceof PolytomousKeyDetailSection ||
- formSection instanceof GeographicalScopeDetailSection ||
+ formSection instanceof GeoScopeDetailSection ||
formSection instanceof ScopeRestrictionSection ||
formSection instanceof TaxonomicScopeSection)) {
input = ((PolytomousKeyNode)input).getKey();
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
-import eu.etaxonomy.cdm.api.service.ITermService;
import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifResponse;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
-import eu.etaxonomy.taxeditor.editor.UsageTermCollection;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.store.UsageTermCollection;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
import eu.etaxonomy.taxeditor.ui.element.RootElement;
import eu.etaxonomy.taxeditor.ui.section.agent.PersonDetailSection;
import eu.etaxonomy.taxeditor.ui.section.grantedAuthority.GrantedAuthorityDetailSection;
import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.key.TaxonomicScopeSection;
// editor
// and not derived unit facade objects,
- /*
- * (non-Javadoc)
- *
- * @see
- * eu.etaxonomy.taxeditor.editor.view.AbstractCdmDataViewer#setInput(java
- * .lang.Object)
- */
@Override
public void setInput(Object input) {
if(input instanceof TreeNode){
// END HACK TO MAKE THE DERIVED UNIT FACADE WORK
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.Viewer#refresh()
- */
+
/** {@inheritDoc} */
@Override
protected void showParts() {
}
else{
Set<Marker> descriptionMarkers = ((DescriptionBase<?>) input).getMarkers();
- MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(
- UsageTermCollection.uuidUseMarkerType);
+
Boolean isUseDescription = false;
for (Marker marker : descriptionMarkers) {
- if (marker.getMarkerType().equals(useMarkertype)) {
+ if (marker.getMarkerType()!= null && marker.getMarkerType().getUuid().equals(UsageTermCollection.uuidUseMarkerType)) {
isUseDescription = true;
}
}
}
} else if (input instanceof DescriptionElementBase) {
Set<Marker> descriptionMarkers = ((DescriptionElementBase) input).getInDescription().getMarkers();
- MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(
- UsageTermCollection.uuidUseMarkerType);
+
Boolean isUseDescription = false;
for (Marker marker : descriptionMarkers) {
- if (marker.getMarkerType().equals(useMarkertype)) {
+ if (marker.getMarkerType()!= null && marker.getMarkerType().getUuid().equals(UsageTermCollection.uuidUseMarkerType)) {
isUseDescription = true;
}
}
return selection;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.jface.viewers.Viewer#setSelection(org.eclipse.jface.viewers
- * .ISelection, boolean)
- */
/** {@inheritDoc} */
@Override
public void setSelection(ISelection selection, boolean reveal) {
private void createDefinedTermSection(RootElement parent) {
destroySections();
- AbstractFormSection definedTermDetailSection = formFactory.createDefinedTermDetailSection(getInput().getClass(), getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
+ AbstractFormSection<?> definedTermDetailSection = formFactory.createDefinedTermDetailSection(getInput().getClass(), getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
addPart(definedTermDetailSection);
}
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src/test/java"/>
- <classpathentry kind="src" path="src/main/resources"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry kind="src" path="src/test/java"/>\r
+ <classpathentry kind="src" path="src/main/resources"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
<?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="3.5.1.qualifier">
+<?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="3.5.2.qualifier">
<aboutInfo>
<image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
<text>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
</prerequisites>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.5.1-SNAPSHOT</version>
+ <version>3.5.2-SNAPSHOT</version>
<name>EDIT Taxonomic Editor</name>
<description>The Taxonomic Editor for EDIT's platform for
cybertaxonomy
<properties>
<java.codelevel>1.6</java.codelevel>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <cdmlib.version>3.5.1-SNAPSHOT</cdmlib.version>
+ <cdmlib.version>3.5.2-SNAPSHOT</cdmlib.version>
<!-- TODO can we use project.version ????? -->
<tycho.version>0.22.0</tycho.version>
- <taxeditor.version>3.5.1-SNAPSHOT</taxeditor.version>
+ <taxeditor.version>3.5.2-SNAPSHOT</taxeditor.version>
<update.dir>snapshot</update.dir>
</properties>
<modules>