Merge branch 'release/4.6.0' 4.6.0
authorjenkins <jenkins-int@bgbm.org>
Mon, 13 Mar 2017 11:32:48 +0000 (12:32 +0100)
committerjenkins <jenkins-int@bgbm.org>
Mon, 13 Mar 2017 11:32:48 +0000 (12:32 +0100)
467 files changed:
.gitignore
eu.etaxonomy.taxeditor.application/.classpath
eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.application/plugin.xml
eu.etaxonomy.taxeditor.application/pom.xml
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/admin/UserGroupContributionItem.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.bulkeditor/.classpath
eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.bulkeditor/build.properties
eu.etaxonomy.taxeditor.bulkeditor/plugin.xml
eu.etaxonomy.taxeditor.bulkeditor/pom.xml
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/LineAnnotation.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/annotatedlineeditor/handler/NewObjectHandler.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/BulkEditorSelectionPropertyTester.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/ReferenceEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/GroupCreator.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/UserCreator.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/AbstractDateComparator.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/ReferenceSortProvider.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/sortprovider/TitleCacheComparator.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/Messages.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/messages.properties [new file with mode: 0755]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/messages_de.properties [new file with mode: 0755]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsLabelProvider.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java [moved from eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/Messages.java with 70% similarity]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties [moved from eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/messages.properties with 59% similarity]
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties [moved from eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/messages_de.properties with 51% similarity]
eu.etaxonomy.taxeditor.cdmlib/.classpath
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/build.properties
eu.etaxonomy.taxeditor.cdmlib/pom.xml
eu.etaxonomy.taxeditor.cdmlib/resources/cdm.map.ser
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteConfiguration.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmModelCacher.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmModelCacherConnectionProvider.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmTransientEntityCacher.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/service/CdmServiceRequestExecutor.java
eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml
eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/remotingApplicationContext.xml
eu.etaxonomy.taxeditor.editor/.classpath
eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/messages.properties [deleted file]
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/messages_de.properties [deleted file]
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin.properties
eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/plugin_de.properties
eu.etaxonomy.taxeditor.editor/build.properties
eu.etaxonomy.taxeditor.editor/plugin.xml
eu.etaxonomy.taxeditor.editor/pom.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/CdmDataTransfer.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/ChooseFromMultipleTaxonNodesDialog.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorStateManager.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/Messages.java [deleted file]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/MultiPageTaxonEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/MultiPageTaxonEditorDataChangeBehaviour.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/Page.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/SimpleSelectionProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInput.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInputFactory.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/UseObjectManager.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/CdmAuthorityEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/handler/EditCdmAuthoritiesHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/EditNewTaxonHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenChecklistEditorHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenDerivateViewHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenParentHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveAllHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SpecimenPropertyTester.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/defaultHandler/DefaultOpenSpecimenEditorForTypeSpecimenHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/defaultHandler/DefaultOpenTaxonEditorForTaxonBaseHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/defaultHandler/DefaultOpenTaxonEditorForTaxonNodeHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/internal/TaxeditorEditorPlugin.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/KeyEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyEditorInput.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyEditorLabels.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyGraphContentProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyGraphEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyLabelProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListItem.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyListLabelProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/PolytomousKeyPropertyTester.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/CreateChildNodeHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/CreateSiblingNodeHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/DeleteNodeHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/InsertNewNodeHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/RefreshNodeNumberingHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/RemotingCreateChildPolytomousKeyNodeHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/handler/RemotingCreateSiblingPolytomousKeyNodeHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/InsertPolytomousKeyNodeOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/RemotingCreatePolytomousKeyNodeOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/l10n/Messages.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/l10n/messages.properties [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/l10n/messages_de.properties [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/TaxonNameEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractGroupedContainer.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/ConceptContainer.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/EditorAnnotation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/IContainerConstants.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/LineBreakListener.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/LineWrapSquigglesStrategy.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/LineWrapSupport.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/MisapplicationContainer.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/NameViewer.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/RulerWithIcon.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/SynonymContainer.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/dnd/NameEditorDropTargetListener.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeSynonymToAcceptedTaxonHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeToConceptRelationHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeToMisapplicationHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeToSynonymHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/CreateHeterotypicSynonymHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/CreateHomotypicSynonymHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/CreateMisapplicationHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/CreateSynonymInHomotypicalGroupHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/DeleteAllEmptyNamesHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/DeleteTaxonBaseHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/MoveSynonymToAnotherAcceptedTaxonHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/RemoveBasionymHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/SetBasionymHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/SwapSynonymAndAcceptedHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptRelationshipTypeOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInExistingHomotypicalGroupOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/MoveSynonymToAnotherAcceptedTaxonOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/validation/MarkerManager.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/validation/ValidationDaemon.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditorInput.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/edit/DistributionEditingSupport.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/filter/ChecklistEditorFilter.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/CreateDescriptionElementHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/CreateDescriptionHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/handler/OpenDistributionHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/listener/ChecklistDropdownSelectionListener.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/listener/ChecklistFocusListener.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptLabelProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/ConceptViewPart.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/graph/ConceptGraphLabelProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/graph/ConceptGraphView.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/AbstractDynamicConceptRelationMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/ChangeConceptRelationshipTypeHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/ChangeConceptRelationshipTypeMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/ChangeToConceptRelationMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/CreateConceptRelationHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/CreateConceptRelationMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/DeleteConceptRelationHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/OpenRelatedConceptHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/OpenRelatedConceptInBulkEditorHandler.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateDropListener.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateViewEditorInput.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivativeEditorPropertyTester.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/contextMenu/CreateDerivateContextMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/contextMenu/CreateFieldUnitContextMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/contextMenu/ListenToSelectionChangeContextMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/DeleteDerivateHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/OpenDerivativeEditorForDescriptionElement.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/OpenDerivativeEditorForSpecimenOrOBservationBase.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/OpenDerivativeEditorForTaxonNode.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/SingleReadHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/operation/DeleteDerivateOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/operation/MoveDerivateOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchComposite.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchCompositeController.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptionElementDropAdapter.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptionElementTransfer.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionElementHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/CreateDescriptionHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DeleteHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DescriptionsMenuPropertyTester.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/MoveDescriptionElementsHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/MoveDescriptionToOtherTaxonHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/AddDerivedUnitFacadeMediaOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateDescriptionElementOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateSpecimenDescriptionOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteDescriptionElementOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/EditInXper2Handler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/MoveDescriptionToOtherTaxonOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/MediaContentProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/MediaViewPart.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/AddExistingMediaHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/AddImageGalleryHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/CreateMediaHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/DeleteMediaHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/MoveImageDownInListHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/MoveImageUpInListHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/operation/MoveMediaInListOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseSummaryOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/EntityClassMarkerField.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/EntityIdMarkerField.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/InvalidValueMarkerField.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/UserFriendlyDescriptionMarkerField.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/UserFriendlyFieldNameMarkerField.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/UserFriendlyTypeNameMarkerField.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/ValidationProblemsView.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/ValidatorClassMarkerField.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/ValidatorMessageMarkerField.java
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeConceptToSynonymOperationTest.java
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperationTest.java
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToConceptOperationTest.java
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToMisapplicationOperationTest.java
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInExisitingHomotypicalGroupOperationTest.java
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInNewGroupOperationTest.java
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteMisapplicationOperationTest.java
eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/name/operation/SwapSynonymAndAcceptedOperationTest.java
eu.etaxonomy.taxeditor.feature.jre.linux64/feature.xml
eu.etaxonomy.taxeditor.feature.jre.linux64/pom.xml
eu.etaxonomy.taxeditor.feature.platform/feature.xml
eu.etaxonomy.taxeditor.feature.platform/pom.xml
eu.etaxonomy.taxeditor.feature/feature.xml
eu.etaxonomy.taxeditor.feature/pom.xml
eu.etaxonomy.taxeditor.help/.classpath
eu.etaxonomy.taxeditor.help/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.help/pom.xml
eu.etaxonomy.taxeditor.molecular.lib/.classpath
eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.molecular.lib/pom.xml
eu.etaxonomy.taxeditor.molecular/.classpath
eu.etaxonomy.taxeditor.molecular/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.molecular/OSGI-INF/l10n/messages.properties [deleted file]
eu.etaxonomy.taxeditor.molecular/OSGI-INF/l10n/messages_de.properties [deleted file]
eu.etaxonomy.taxeditor.molecular/pom.xml
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/Messages.java [deleted file]
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditor.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/AlignmentEditorInput.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/PherogramMouseListener.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/editor/PherogramViewPart.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/AlignmentEditorPasteHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/CutPherogramLeftHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/CutPherogramRightHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/EditSequenceHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/ExportSequenceToFileHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/HandlerTools.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/LoadPherogramHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/ShowPherogramHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/ToggleInsertOverwriteHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/handler/ToggleLeftRightInsertionHandler.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/io/CDMPherogramAlignmentObjectTranslator.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/io/CDMSequenceMatrixAdapter.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/io/SequenceIDIterator.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/io/SingleReadAlignmentRDFXMLConstants.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/io/wizard/ExportSingleReadAlignmentFileFormatPage.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/io/wizard/ExportSingleReadAlignmentOptionsPage.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/io/wizard/ExportSingleReadAlignmentWizard.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/io/wizard/ExportSingleReadAlignmentWizardModel.java
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/l10n/Messages.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/l10n/messages.properties [new file with mode: 0644]
eu.etaxonomy.taxeditor.molecular/src/main/java/eu/etaxonomy/taxeditor/molecular/l10n/messages_de.properties [new file with mode: 0644]
eu.etaxonomy.taxeditor.navigation/.classpath
eu.etaxonomy.taxeditor.navigation/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle.properties
eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_de.properties
eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages.properties [deleted file]
eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_de.properties [deleted file]
eu.etaxonomy.taxeditor.navigation/build.properties
eu.etaxonomy.taxeditor.navigation/plugin.xml
eu.etaxonomy.taxeditor.navigation/pom.xml
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/internal/TaxeditorNavigationPlugin.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyViewLabels.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyViewPart.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/PolytomousKeyViewPartDataChangeBehavior.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/handler/DeleteHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/handler/EditPolytomousKeyNodesHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/handler/RefreshPolytomousKeyNodesHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/handler/RemotingDeletePolytomousKeyHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/handler/RemotingEditPolytomousKeyNodesHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/DeleteOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/RemotingDeletePolytomousKeyOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/RemotingUpdatePolytomousKeyAllNodesOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/l10n/Messages.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/l10n/messages.properties [new file with mode: 0644]
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/l10n/messages_de.properties [new file with mode: 0644]
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/ClassificationLabelProvider.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/Root.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/SynonymLabelProvider.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonLinkHelper.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigatorDataChangeBehavior.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigatorLabels.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNodeLabelProvider.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNodeNavigatorComparator.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNodePropertyTester.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TreeNodeDropAdapter.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TreeNodeDropAdapterAssistant.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/ChangeAcceptedTaxonToSynonymHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CloneClassificationHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CopyHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CreateClassificationHierarchyHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveFactualDataHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveTaxonHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/RemotingChangeAcceptedTaxonToSynonymHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/RemotingDeleteTaxonNodeHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/RemotingMoveFactualDataHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/RemotingMoveTaxonNodeHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/SetSecReferenceForSubtreeHandler.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/ChangeAcceptedTaxonToSynonymOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/RemotingChangeAcceptedTaxonToSynonymOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/RemotingDeleteTaxonNodeOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/RemotingMoveFactualDataOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/RemotingMoveTaxonOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/SetSecundumForSubtreeOperation.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateNewTaxonHierarchyOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateTaxonNode.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java [deleted file]
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchBar.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchResultLabelProvider.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchResultView.java
eu.etaxonomy.taxeditor.printpublisher/.classpath
eu.etaxonomy.taxeditor.printpublisher/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.printpublisher/pom.xml
eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/printpublisher/handler/GeneratePdfHandler.java
eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/printpublisher/wizard/SelectServiceWizardPage.java
eu.etaxonomy.taxeditor.store/.classpath
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/build.properties
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/pom.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabasePreferencesPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabasePreferencesWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabaseRepairSortIndexPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabaseRepairTitleCacheUpdatePage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/Test.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/CdmDataSourceRepository.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermMenu.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractIOManager.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/ExportManager.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/ImportManager.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ExcelNormalExplicitTaxaImportWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ExportToFileDestinationWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/GenericConfiguratorWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/Messages.java with 77% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties [moved from eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties with 79% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties [moved from eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties with 79% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DefaultTermComparator.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/FeatureNodeContainerTree.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/ExternalReferenceServiceWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewGrantedAuthorityWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewNonViralNameWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractDescriptionPostOperation.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/ParseHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguageEditorPreferencePage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NameDetailsConfigurator.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NameDetailsViewConfiguration.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TemplatePreferencePage.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NomenclaturalCodePreferences.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStoreConnector.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/SearchManager.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/bar/AuthenticatedUserBar.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/AbstractComboElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/LoginDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/RemotingLoginDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/ConfiguratorComposite.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteConfiguratorComposite.java with 90% similarity, mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/SetSecundumConfiguratorWizardPage.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/SetSecundumForSubtreeConfigurationWizard.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteConfiguratorDialog.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteConfiguratorDialog.java with 96% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteMediaConfiguratorComposite.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteMediaConfiguratorComposite.java with 98% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteNameConfiguratorComposite.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteNameConfiguratorComposite.java with 98% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteNodeConfiguratorComposite.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteNodeConfiguratorComposite.java with 97% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteSpecimenConfiguratorComposite.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteSpecimenConfiguratorComposite.java with 98% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteTaxonBaseConfiguratorComposite.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteTaxonBaseConfiguratorComposite.java with 99% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteTaxonConfiguratorComposite.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteTaxonConfiguratorComposite.java with 96% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmEnumSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NomenclaturalAuthorSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NomenclaturalReferenceSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/ReferenceSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/RightsSelectionDialog.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SelectionDialogFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonNodeSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractUriWithExceptionLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/UriWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/EditPasswordElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/password/PasswordWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/SourceComparator.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityCollectionElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/grantedAuthority/GrantedAuthorityDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/AuthorshipDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonBaseDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/PresenceAbsenceTermDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/CdmViewerContextMenu.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/CdmViewerUtil.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/SaveImportedSpecimenAction.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/SpecimenImportView.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/dataimport/SpecimenSearchWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewPart.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/ChangeConnectionHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewPart.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java
eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/NameProtectTitleCacheTest.java
eu.etaxonomy.taxeditor.test/.classpath
eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.test/pom.xml
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.java
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemoteLazyLoadingTest.java
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/operation/TaxonNameEditorTest.java
eu.etaxonomy.taxeditor.test/src/test/resources/eu/etaxonomy/cdm/testRemotingApplicationContext.xml
eu.etaxonomy.taxeditor.webapp/.classpath
eu.etaxonomy.taxeditor.webapp/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.webapp/pom.xml
eu.etaxonomy.taxeditor/.classpath
eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product
eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product.with.jre
eu.etaxonomy.taxeditor/pom.xml
lifecycle-mapping-metadata.xml [new file with mode: 0644]
pom.xml
setup-project.sh [new file with mode: 0755]
src/site/fml/troubleshooting.fml
src/site/site.xml

index a8aaf71..8ba1a0e 100644 (file)
@@ -1,9 +1,11 @@
 .project
+.classpath
 integration-test.log
 eu.etaxonomy.taxeditor.cdmlib/src/main/resources/etc/jetty/*
 .settings
 target
 .directory
+bin
 eu.etaxonomy.taxeditor.cdmlib/cdmlib-*.jar
 eu.etaxonomy.taxeditor.cdmlib/cdmlib-*.zip
 eu.etaxonomy.taxeditor.cdmlib/dist
index 6bca977..a9750ff 100644 (file)
@@ -1,6 +1,6 @@
 <?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.7"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
        <classpathentry kind="src" path="src/test/java"/>
index d06acdf..a4db339 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Application
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.application;singleton:=true
-Bundle-Version: 4.5.1
+Bundle-Version: 4.6.0
 Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
 Bundle-Vendor: EDIT
 Bundle-Localization: OSGI-INF/l10n/plugin
index d5ced8d..fdad8b2 100644 (file)
                </and>
             </visibleWhen>
          </command>
+         <dynamic
+               class="eu.etaxonomy.taxeditor.admin.UserGroupContributionItem"
+               id="eu.etaxonomy.taxeditor.admin.UserGroupContributionItem">
+            <visibleWhen
+                  checkEnabled="true">
+               <and>
+                  <reference
+                        definitionId="hasROLE_PROJECT_MANAGER">
+                  </reference>
+                  <reference
+                        definitionId="isCdmStoreConnected">
+                  </reference>
+               </and>
+            </visibleWhen>
+         </dynamic>
       </menuContribution>
       <menuContribution
             locationURI="menu:org.eclipse.ui.main.menu.help">
index cc9c8a0..37f5f9d 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>4.5.1</version>
+    <version>4.6.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 02d13bd..d6baf5f 100644 (file)
@@ -168,8 +168,8 @@ public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
                                MessagingUtils.REMOTE_ACCESS_FAILURE_MESSAGE + System.getProperty("line.separator"),
                                pluginId,
                                t,
-                               true,
-                               false);
+                               false,
+                               true);
                        return true;
                    }
                    return false;
diff --git a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/admin/UserGroupContributionItem.java b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/admin/UserGroupContributionItem.java
new file mode 100644 (file)
index 0000000..4b99ceb
--- /dev/null
@@ -0,0 +1,35 @@
+// $Id$
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.admin;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.action.IContributionItem;
+
+import eu.etaxonomy.taxeditor.bulkeditor.command.OpenBulkEditorContributionItem;
+import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
+
+/**
+ * @author pplitzner
+ * @date Mar 9, 2017
+ *
+ */
+public class UserGroupContributionItem extends OpenBulkEditorContributionItem {
+
+    /** {@inheritDoc} */
+    @Override
+    protected IContributionItem[] getContributionItems() {
+        List<IContributionItem> contributionItems = new ArrayList<IContributionItem>();
+        contributionItems.add(BulkEditorInputType.USER.createContributionItem());
+        contributionItems.add(BulkEditorInputType.GROUP.createContributionItem());
+        return contributionItems.toArray(new IContributionItem[contributionItems.size()]);
+    }
+}
index 264aebb..a3ec70c 100644 (file)
@@ -1,6 +1,6 @@
 <?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.7"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
        <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"/>
index 0c07282..084a95d 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Bulkeditor Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.bulkeditor;singleton:=true
-Bundle-Version: 4.5.1
+Bundle-Version: 4.6.0
 Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
index 03f8b95..bc33896 100644 (file)
@@ -7,6 +7,6 @@ bin.includes = META-INF/,\
                p2.inf,\\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
+               src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties,\\r
+               src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties\r
                
\ No newline at end of file
index abb836a..6983d48 100644 (file)
             class="eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler.OpenBulkEditorForIdentifiableEntity"
             commandId="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity">
          <activeWhen>
-            <reference
-                  definitionId="isBulkEditorSupported">
-            </reference>
+            <and>
+               <reference
+                     definitionId="isBulkEditorSupported">
+               </reference>
+               <not>
+                  <with
+                        variable="activePartId">
+                     <equals
+                           value="bulkeditor.editor">
+                     </equals>
+                  </with>
+               </not>
+            </and>
          </activeWhen>
       </handler>
       
index 0e68d40..c1fc0b2 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>4.5.1</version>
+               <version>4.6.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 5634b62..1f4f7ee 100644 (file)
@@ -14,7 +14,6 @@ import org.apache.log4j.Logger;
 import org.eclipse.jface.text.source.Annotation;
 
 import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
-import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator;
 
 /**
  * An <code>Annotation</code> which spans an entire line and holds an object associated
@@ -40,6 +39,7 @@ public class LineAnnotation<T> extends Annotation implements IEntityContainer<T>
        private boolean markedAsNew;
        private T mergeTarget;
        private DeleteConfiguratorBase configurator= null;
+       private boolean markAsDelete;
 
 
        /**
@@ -264,6 +264,6 @@ public class LineAnnotation<T> extends Annotation implements IEntityContainer<T>
 
        public void setDeleteConfigurator(DeleteConfiguratorBase config) {
                this.configurator = config;
-               
+
        }
 }
index 9fd646e..a83930d 100644 (file)
@@ -1,17 +1,14 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
 
 package eu.etaxonomy.taxeditor.annotatedlineeditor.handler;
 
-import java.net.URI;
-import java.net.URISyntaxException;
-
 import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
@@ -25,6 +22,8 @@ import org.eclipse.ui.handlers.HandlerUtil;
 
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.GroupCreator;
+import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.UserCreator;
 
 /**
  * <p>NewObjectHandler class.</p>
@@ -39,49 +38,50 @@ public class NewObjectHandler extends AbstractHandler {
         * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
         */
        /** {@inheritDoc} */
-       public Object execute(ExecutionEvent event) throws ExecutionException {
-               
+       @Override
+    public Object execute(ExecutionEvent event) throws ExecutionException {
+
                IEditorPart editor = HandlerUtil.getActiveEditor(event);
                IEditorInput input = editor.getEditorInput();
-               
+
                if (editor instanceof AnnotatedLineEditor) {
-                       
+
                        Object key = ((Event)event.getTrigger()).data;
                        if (key != null) {
                                if(!(key instanceof SpecimenOrObservationType)) {
-                                       String text = ((Event)event.getTrigger()).text; 
-                                       
+                                       String text = ((Event)event.getTrigger()).text;
+
                                        //FIXME : This should probably go into some ValidatorFactory
                                        IInputValidator nonEmptyInputValidator = null;
-                                       //FIXME : This is a workaround to not allow empty strings in the 
-                                       //        input dialog for User and Group entities. 
+                                       //FIXME : This is a workaround to not allow empty strings in the
+                                       //        input dialog for User and Group entities.
                                        //        Normally this should be default
                                        //        behaviour, so we need to discuss whether this handler
                                        //        should be used to handle the creating new entities of
                                        //        type other than User and Group.
                                        //        Once #4348 is fixed this check can be removed.
-                                       if(text.equals("User") || text.equals("Group")) {
+                                       if(text.equals(UserCreator.USER) || text.equals(GroupCreator.GROUP)) {
                                                nonEmptyInputValidator = new IInputValidator() {
-                                                       public String isValid(String text) {                                                    
+                                                       @Override
+                            public String isValid(String text) {
                                                                if(text == null || text.isEmpty()) {
                                                                        return "Input cannot be empty";
                                                                }
                                                                return null;
-                                                       }                       
+                                                       }
                                                };
                                        }
-                                       InputDialog dialog = new InputDialog(HandlerUtil.getActiveShell(event), 
-                                                       "Create " + text, 
-                                                       "Enter new " + text, "",
-                                                       nonEmptyInputValidator); 
+                                       InputDialog dialog = new InputDialog(HandlerUtil.getActiveShell(event),
+                                                       String.format("Create %s", text), String.format("Enter new %s", text), "",
+                                                       nonEmptyInputValidator);
 
-                                       if (dialog.open() != Window.CANCEL) { 
-                                               ((AnnotatedLineEditor) editor).createAnnotatedLineNewObject(key, dialog.getValue()); 
+                                       if (dialog.open() != Window.CANCEL) {
+                                               ((AnnotatedLineEditor) editor).createAnnotatedLineNewObject(key, dialog.getValue());
                                        }
                                } else {
-                                       ((AnnotatedLineEditor) editor).createAnnotatedLineNewObject(key, "Untitled"); 
+                                       ((AnnotatedLineEditor) editor).createAnnotatedLineNewObject(key, "Untitled");
                                }
-                               
+
                        } else {
                                ((AnnotatedLineEditor) editor).createAnnotatedLineNewObject();
                        }
index 1f5b701..4a2aee9 100644 (file)
@@ -2,6 +2,7 @@ package eu.etaxonomy.taxeditor.bulkeditor.command;
 
 import org.eclipse.core.expressions.PropertyTester;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeNode;
 
 import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
@@ -21,6 +22,10 @@ public class BulkEditorSelectionPropertyTester extends PropertyTester {
                                    if(selectedElement instanceof UuidAndTitleCache){
                                        return BulkEditorInputType.getByType(((UuidAndTitleCache) selectedElement).getType())!=null;
                                    }
+                                   else if(selectedElement instanceof TreeNode){
+                                       System.out.println(BulkEditorInputType.getByType(((TreeNode) selectedElement).getValue().getClass())!=null);
+                                       return BulkEditorInputType.getByType(((TreeNode) selectedElement).getValue().getClass())!=null;
+                                   }
                                        return BulkEditorInputType.getByType(selectedElement.getClass())!=null;
                                }
                        }
index 9ce4ab9..c2b0cbe 100644 (file)
 package eu.etaxonomy.taxeditor.bulkeditor.command;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import org.eclipse.jface.action.IContributionItem;
 import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.actions.CompoundContributionItem;
-import org.eclipse.ui.menus.CommandContributionItem;
-import org.eclipse.ui.menus.CommandContributionItemParameter;
 
-import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
 import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
 
 /**
- * <p>
- * OpenBulkEditorContributionItem class.
- * </p>
  *
  * @author p.ciardelli
  * @created 19.08.2009
@@ -36,32 +26,13 @@ import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInputType;
  */
 public class OpenBulkEditorContributionItem extends CompoundContributionItem {
 
-    /**
-     * <p>
-     * Constructor for OpenBulkEditorContributionItem.
-     * </p>
-     */
     public OpenBulkEditorContributionItem() {
     }
 
-    /**
-     * <p>
-     * Constructor for OpenBulkEditorContributionItem.
-     * </p>
-     *
-     * @param id
-     *            a {@link java.lang.String} object.
-     */
     public OpenBulkEditorContributionItem(String id) {
         super(id);
     }
 
-    /*
-     * (non-Javadoc)
-     *
-     * @see
-     * org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
-     */
     /** {@inheritDoc} */
     @Override
     protected IContributionItem[] getContributionItems() {
@@ -75,29 +46,10 @@ public class OpenBulkEditorContributionItem extends CompoundContributionItem {
         contributionItems.add(BulkEditorInputType.NAME.createContributionItem());
         contributionItems.add(BulkEditorInputType.TAXON.createContributionItem());
         contributionItems.add(new Separator(groupName));
-        contributionItems.add(BulkEditorInputType.OCCURRENCE.createContributionItem());
-        contributionItems.add(new Separator(groupName));
         contributionItems.add(BulkEditorInputType.MEDIA.createContributionItem());
         contributionItems.add(new Separator(groupName));
-        contributionItems.add(BulkEditorInputType.USER.createContributionItem());
-        contributionItems.add(BulkEditorInputType.GROUP.createContributionItem());
+        contributionItems.add(BulkEditorInputType.OCCURRENCE.createContributionItem());
         return contributionItems.toArray(new IContributionItem[contributionItems.size()]);
     }
 
-    /**
-     * @param key
-     * @param object
-     * @return
-     */
-    private IContributionItem createContributionItem(String label, String inputType) {
-        CommandContributionItemParameter parameter = new CommandContributionItemParameter(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null, IBulkEditorConstants.DYNAMIC_OPEN_MENU_ID, SWT.NONE);
-
-        parameter.label = label;
-
-        Map<String, String> parameters = new HashMap<String, String>();
-        parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType);
-        parameter.parameters = parameters;
-
-        return new CommandContributionItem(parameter);
-    }
 }
index 3ced119..cbc2768 100644 (file)
@@ -25,7 +25,7 @@ import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.eclipse.ui.texteditor.IDocumentProvider;
 
-import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
+import eu.etaxonomy.cdm.api.application.ICdmRepository;
 import eu.etaxonomy.cdm.api.service.DeleteResult;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
@@ -54,7 +54,7 @@ import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
 import eu.etaxonomy.taxeditor.model.DeleteResultMessagingUtils;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.dialog.deleteConfigurator.DeleteConfiguratorDialog;
+import eu.etaxonomy.taxeditor.ui.dialog.configurator.deleteConfigurator.DeleteConfiguratorDialog;
 
 
 /**
@@ -99,7 +99,7 @@ public class DeleteHandler extends AbstractHandler {
 
 
                                        try {
-                                           ICdmApplicationConfiguration controller;
+                                           ICdmRepository controller;
                                            controller = CdmStore.getCurrentApplicationConfiguration();
                                            if (object instanceof SpecimenOrObservationBase){
                                                IOccurrenceService service = controller.getOccurrenceService();
@@ -124,7 +124,7 @@ public class DeleteHandler extends AbstractHandler {
                                                if (object != null){
                                                    config = new NameDeletionConfigurator();
 
-                                                   DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion",  null,  "Do you really want to delete the name?\nThis operation is irreversible!", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+                                                   DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion",  null,  "Do you really want to delete the name?\nThis operation is irreversible!", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0, true);
                                                    int result_dialog= dialog.open();
                                                    if (result_dialog != Status.OK){
                                                        return null;
@@ -140,7 +140,7 @@ public class DeleteHandler extends AbstractHandler {
                                                                Synonym synonym = HibernateProxyHelper.deproxy(object, Synonym.class);
                                                                config = new SynonymDeletionConfigurator();
                                                                errorMessage = "The synonym ";
-                                                               DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion",  null,  "Do you really want to delete the synonym?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+                                                               DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion",  null,  "Do you really want to delete the synonym?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0, true);
                                     int result_dialog= dialog.open();
                                     if (result_dialog != Status.OK){
                                          return null;
@@ -159,7 +159,7 @@ public class DeleteHandler extends AbstractHandler {
                                                                config = new TaxonDeletionConfigurator();
                                                                ((TaxonDeletionConfigurator) config).setDeleteInAllClassifications(true);
                                                                DeleteConfiguratorDialog dialog;
-                                                           dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion",  null,  "Do you really want to delete the taxon?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+                                                           dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion",  null,  "Do you really want to delete the taxon?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0, true);
                                                                int result_dialog= dialog.open();
                                     if (result_dialog != Status.OK){
                                          return null;
@@ -168,13 +168,13 @@ public class DeleteHandler extends AbstractHandler {
 
                                                        }
                                            } else if (object instanceof TeamOrPersonBase){
-
+                                               result = controller.getAgentService().isDeletable(((CdmBase) object).getUuid(), null);
                                                  errorMessage = "The team or person ";
                                           } else if (object instanceof Media){
                                               config = new MediaDeletionConfigurator();
                                               Media media = HibernateProxyHelper.deproxy(object, Media.class);
                                               DeleteConfiguratorDialog dialog;
-                                                  dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion",  null,  "Do you really want to delete the media?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0);
+                                                  dialog = new DeleteConfiguratorDialog(config, HandlerUtil.getActiveShell(event), "Confirm Deletion",  null,  "Do you really want to delete the media?", MessageDialog.WARNING, new String[] { "Delete", "Skip" }, 0, true);
                                                   int result_dialog= dialog.open();
                                if (result_dialog != Status.OK){
                                    return null;
index 9dcbd7f..51806e3 100644 (file)
@@ -151,13 +151,17 @@ public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase>
        @Override
        public TeamOrPersonBase save(TeamOrPersonBase entity) {
           return (TeamOrPersonBase) CdmStore.getService(IAgentService.class).merge(entity, true).getMergedEntity();
-          
+
        }
 
        @Override
        public boolean delete(TeamOrPersonBase entity, DeleteConfiguratorBase config)
                        throws ReferencedObjectUndeletableException {
-               return CdmStore.getService(IAgentService.class).delete(entity.getUuid()) != null;
+           if (entity.getUuid() != null){
+               return CdmStore.getService(IAgentService.class).delete(entity.getUuid()) != null;
+           }else{
+               return false;
+           }
        }
 
     /* (non-Javadoc)
index ddbbbe9..25b52c6 100644 (file)
@@ -29,6 +29,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
+import eu.etaxonomy.taxeditor.l10n.Messages;
 
 public enum BulkEditorInputType {
        AGENT(Messages.BulkEditorInputType_0, AgentEditorInput.ID),
index e535191..9464f33 100644 (file)
@@ -31,7 +31,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  *
  * @author n.hoffmann
  * @created Jun 16, 2010
- * @version 1.0
  */
 public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObservationBase> {
 
@@ -57,9 +56,6 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                return instance;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#listEntities(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
-        */
        /** {@inheritDoc} */
        @Override
        protected List<SpecimenOrObservationBase> listEntities(
@@ -67,9 +63,6 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                return CdmStore.getSearchManager().findOccurrences(configurator);
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#loadEntity(java.util.UUID)
-        */
        /** {@inheritDoc}
        @Override
        protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
@@ -77,9 +70,6 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
        }*/
 
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.IEditorInput#getName()
-        */
        /**
         * <p>getName</p>
         *
@@ -90,9 +80,6 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                return BulkEditorInputType.OCCURRENCE.label;
        }
 
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.IEditorInput#getToolTipText()
-        */
        /**
         * <p>getToolTipText</p>
         *
@@ -103,9 +90,6 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                return getName();
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
-        */
        @Override
        public String getTypeText(Object entity) {
         if(HibernateProxyHelper.isInstanceOf(entity, SpecimenOrObservationBase.class)){
@@ -123,9 +107,6 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                return ID;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
-        */
        /** {@inheritDoc}
         * @throws ReferencedObjectUndeletableException */
        @Override
@@ -133,28 +114,18 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                return CdmStore.getService(IOccurrenceService.class).delete(entity) != null;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#save(java.lang.Object)
-        */
        /** {@inheritDoc} */
        @Override
-    public SpecimenOrObservationBase<IIdentifiableEntityCacheStrategy> save(SpecimenOrObservationBase entity) {
+    public SpecimenOrObservationBase<?> save(SpecimenOrObservationBase entity) {
            return CdmStore.getService(IOccurrenceService.class).merge(entity, true).getMergedEntity();
           
        }
 
-
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
-        */
        @Override
        protected IEntityCreator<SpecimenOrObservationBase> createEntityCreator() {
                return new OccurrenceCreator();
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
-        */
        @Override
        public List<IBulkEditorSortProvider<SpecimenOrObservationBase>> getSortProviders() {
                List<IBulkEditorSortProvider<SpecimenOrObservationBase>> sortProviders = super.getSortProviders();
@@ -164,9 +135,6 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                return sortProviders;
        }
 
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
-     */
     @Override
     public void merge() {
 
@@ -177,5 +145,4 @@ public class OccurrenceEditorInput extends AbstractBulkEditorInput<SpecimenOrObs
                List<String> propertyPaths = Arrays.asList(new String[]{});
                return CdmStore.getService(IOccurrenceService.class).load(entityUuid, propertyPaths);
        }
-
 }
index f2b56eb..a5c8687 100644 (file)
@@ -31,7 +31,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  *
  * @author p.ciardelli
  * @created 25.06.2009
- * @version 1.0
  */
 public class ReferenceEditorInput extends AbstractBulkEditorInput<Reference> {
 
@@ -133,7 +132,11 @@ public class ReferenceEditorInput extends AbstractBulkEditorInput<Reference> {
         * @throws ReferencedObjectUndeletableException */
        @Override
     public boolean delete(Reference entity, DeleteConfiguratorBase config) throws ReferencedObjectUndeletableException {
-               return CdmStore.getService(IReferenceService.class).delete(entity.getUuid()) != null;
+           if (entity.getUuid() != null){
+               return CdmStore.getService(IReferenceService.class).delete(entity.getUuid()) != null;
+           }else{
+               return false;
+           }
        }
 
        /** {@inheritDoc} */
index a2076eb..1f18560 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -22,7 +22,9 @@ import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
  */
 public class GroupCreator implements IEntityCreator<Group> {
 
-       /* (non-Javadoc)
+    public static final String GROUP = "Group";
+
+    /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#createEntity(java.lang.String)
         */
        @Override
@@ -44,7 +46,7 @@ public class GroupCreator implements IEntityCreator<Group> {
        @Override
        public Map<Object, String> getKeyLabelPairs() {
                Map<Object, String> result = new HashMap<Object, String>();
-               result.put(Group.class, "Group");
+               result.put(Group.class, GROUP);
                return result;
        }
 
index 0abba8e..0897eb3 100644 (file)
 package eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.springframework.security.access.AccessDeniedException;
 
 import eu.etaxonomy.cdm.api.service.IUserService;
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
+import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
@@ -27,7 +30,9 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class UserCreator  implements IEntityCreator<User>{
 
-       /* (non-Javadoc)
+    public static final String USER = "User";
+
+    /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator#createEntity(java.lang.String)
         */
        @Override
@@ -42,9 +47,15 @@ public class UserCreator  implements IEntityCreator<User>{
        public User createEntity(Object key, String text) {
                try{
                        User user = User.NewInstance(text, text);
-                       CdmStore.getService(IUserService.class).createUser(user);
-                       user = CdmStore.getService(IUserService.class).loadWithUpdate(user.getUuid());
-                       return user;
+                       List<User> userList =CdmStore.getService(IUserService.class).listByUsername(user.getUsername(), MatchMode.EXACT, null, 100, 0, null, null);
+                       if (userList.isEmpty()){
+                       CdmStore.getService(IUserService.class).createUser(user);
+                       user = CdmStore.getService(IUserService.class).loadWithUpdate(user.getUuid());
+                       return user;
+                       } else{
+                           MessagingUtils.messageDialog(Messages.USER_CREATOR_user_exists_title, user, Messages.USER_CREATOR_user_exists);
+                   return null;
+                       }
                } catch (AccessDeniedException e){
                        MessagingUtils.messageDialog("Access denied", getClass(), e.getMessage(), e);
                        return null;
@@ -57,7 +68,7 @@ public class UserCreator  implements IEntityCreator<User>{
        @Override
        public Map<Object, String> getKeyLabelPairs() {
                Map<Object, String> result = new HashMap<Object, String>();
-               result.put(User.class, "User");
+               result.put(User.class, USER);
                return result;
        }
 
index 7536b88..fd1219a 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -21,10 +21,15 @@ import eu.etaxonomy.cdm.model.common.ICdmBase;
  * @version 1.0
  */
 public abstract class AbstractDateComparator<T extends ICdmBase> implements Comparator<T>{
-       
-       public int compare(T o1, T o2) {                
+
+       @Override
+    public int compare(T o1, T o2) {
+           if (o1.equals(o2)){
+               return 0;
+           }
+
                return getDate(o1).compareTo(getDate(o2));
        };
-       
+
        protected abstract DateTime getDate(T object);
 }
index c61b504..ebdc23b 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -22,7 +22,7 @@ import eu.etaxonomy.cdm.model.reference.Reference;
 public class ReferenceSortProvider extends AbstractSortProvider<Reference> {
 
        /**
-        * 
+        *
         */
        public ReferenceSortProvider() {
                comparators.put("Type", new ReferenceTypeComparator());
@@ -30,20 +30,21 @@ public class ReferenceSortProvider extends AbstractSortProvider<Reference> {
        }
 
        private class ReferenceYearComparator implements Comparator<Reference> {
-               
+
                /**
                 * @param o1
                 * @return
                 */
                private String getYearString(Reference o) {
-                       TimePeriod datePublished = o == null ? null : o.getDatePublished(); 
+                       TimePeriod datePublished = o == null ? null : o.getDatePublished();
                        return datePublished == null? null : datePublished.toString();
                }
-               
+
                /* (non-Javadoc)
                 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
                 */
-               public int compare(Reference o1, Reference o2) {
+               @Override
+        public int compare(Reference o1, Reference o2) {
                        String yearString1 = getYearString(o1);
                        String yearString2 = getYearString(o2);
                        if (yearString1 == null) {
@@ -58,19 +59,21 @@ public class ReferenceSortProvider extends AbstractSortProvider<Reference> {
                        }
                        int returnVal = yearString1.compareToIgnoreCase(yearString2);
                        if (returnVal == 0) {
-                               return new TitleCacheComparator<Reference>().compare(o1, o2);
-                       } else {
-                               return returnVal;
+                               returnVal = new TitleCacheComparator<Reference>().compare(o1, o2);
+
                        }
-               }               
+                       return returnVal;
+
+               }
        }
-       
+
        private class ReferenceTypeComparator implements Comparator<Reference> {
-               
+
                /* (non-Javadoc)
                 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
                 */
-               public int compare(Reference o1, Reference o2) {
+               @Override
+        public int compare(Reference o1, Reference o2) {
                        String typeString1 = o1.getClass().toString();
                        String typeString2 = o2.getClass().toString();
                        if (typeString1 == null) {
@@ -85,12 +88,13 @@ public class ReferenceSortProvider extends AbstractSortProvider<Reference> {
                        }
                        int returnVal = typeString1.compareToIgnoreCase(typeString2);
                        if (returnVal == 0) {
+                           //the TitleCacheComparator already fulfills the comparator contract
                                return new TitleCacheComparator<Reference>().compare(o1, o2);
                        } else {
                                return returnVal;
                        }
-               }               
+               }
        }
 
-       
+
 }
index 842417c..4d5892d 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -21,18 +21,19 @@ import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
  * @version 1.0
  */
 public class TitleCacheComparator<T extends IIdentifiableEntity> implements Comparator<T> {
-       
+
     private boolean fIgnoreCase;
 
        private String getTitleCache(T o) {
                return o == null ? null : o.getTitleCache();
        }
-       
+
        /* (non-Javadoc)
         * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
         */
        /** {@inheritDoc} */
-       public int compare(T o1, T o2) {
+       @Override
+    public int compare(T o1, T o2) {
                String titleCache1 = getTitleCache(o1);
                String titleCache2 = getTitleCache(o2);
                if (titleCache1 == null && titleCache2 == null) {
@@ -43,8 +44,13 @@ public class TitleCacheComparator<T extends IIdentifiableEntity> implements Comp
                }
                if (titleCache2 == null) {
                        return 1;
-               }                               
-        return fIgnoreCase ? titleCache1.compareToIgnoreCase(titleCache2) : 
+               }
+        int result =  fIgnoreCase ? titleCache1.compareToIgnoreCase(titleCache2) :
                                                        titleCache1.compareTo(titleCache2);
+
+        if (result == 0){
+            result = o1.getUuid().compareTo(o2.getUuid());
+        }
+        return result;
        }
 }
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/Messages.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/Messages.java
new file mode 100755 (executable)
index 0000000..768046e
--- /dev/null
@@ -0,0 +1,28 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.bulkeditor.l10n;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author k.luther
+ * @date 10.03.2017
+ *
+ */
+public class Messages extends NLS {
+    private static final String BUNDLE_NAME = "src/main/java/eu.etaxonomy.taxeditor.bulkeditor.l10n.messages"; //$NON-NLS-1$
+    public static String ReferencingObjectsLabelProvider_No_description_available;
+    static {
+        // initialize resource bundle
+        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+    }
+
+    private Messages() {
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/messages.properties b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/messages.properties
new file mode 100755 (executable)
index 0000000..5cb5303
--- /dev/null
@@ -0,0 +1 @@
+ReferencingObjectsLabelProvider_No_description_available=No description available
diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/messages_de.properties b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/l10n/messages_de.properties
new file mode 100755 (executable)
index 0000000..bfcb11a
--- /dev/null
@@ -0,0 +1 @@
+ReferencingObjectsLabelProvider_No_description_available=Keine Beschreibung verfügbar
\ No newline at end of file
index 21f7b52..84322e2 100644 (file)
@@ -9,6 +9,7 @@
 
 package eu.etaxonomy.taxeditor.bulkeditor.referencingobjects;
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.LabelProvider;
@@ -16,6 +17,7 @@ import org.eclipse.swt.graphics.Image;
 
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.taxeditor.bulkeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.DescriptionHelper;
 
 /**
@@ -60,11 +62,11 @@ public class ReferencingObjectsLabelProvider extends LabelProvider implements IT
                        }
                }else if (columnIndex == 3) {
                        if(element instanceof CdmBase){
-                               text = ((CdmBase) element).getId() + "";
+                               text = ((CdmBase) element).getId() + ""; //$NON-NLS-1$
                        }
                }
 
-               return text == null ? element.toString() : text;
+               return (StringUtils.isBlank(text)) ? Messages.ReferencingObjectsLabelProvider_No_description_available : text;
 
        }
 }
index 1eba7ac..00bcc23 100644 (file)
@@ -39,6 +39,7 @@ import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.ui.IWorkbenchPart;
+import org.springframework.remoting.RemoteAccessException;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
@@ -73,6 +74,7 @@ import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.taxeditor.model.DescriptionHelper;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -94,6 +96,11 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
        private String referencedObjectTitleCache;
        private ConversationHolder conversation;
        private final ICdmEntitySession cdmEntitySession;
+       private UUID actualUuid;
+       List<CdmBase> referencingObjects = null;
+       Set<CdmBase> referencingObjectsSet = null;
+       IProgressMonitor actualMonitor = null;
+       private Job currentJob = null;
 
        public ReferencingObjectsView() {
            cdmEntitySession = CdmStore.getCurrentSessionManager().bindNullSession();
@@ -178,46 +185,103 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
        }
 
        public void updateReferencingObjects(final UUID entityUUID, final Class objectClass) {
-
-               final Display display = Display.getCurrent();
-
-               Job job = new Job("Update Referencing Objects") {
+           if (actualUuid == entityUUID){
+               return ;
+           }
+           showEmptyPage();
+           if(actualMonitor!=null && !actualMonitor.isCanceled()){
+//             boolean success = false;
+//             //wait for cancel to be done
+//             while(!success){
+//                 success = currentJob.cancel();
+//             }
+//             currentJob = null;
+               while(!actualMonitor.isCanceled()){
+                   actualMonitor.setCanceled(true);
+               }
+
+           }
+               currentJob = new Job("Update Referencing Objects " + entityUUID) {
 
                        @Override
                        protected IStatus run(IProgressMonitor monitor) {
-                               monitor.beginTask("Calculating referencing objects", 10);
-
-                               monitor.worked(3);
-
-                               display.asyncExec(new Runnable() {
-
-                                       @Override
-                                       public void run() {
-                                               if (entityUUID != null){
-                                                   ICdmEntitySession previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession();
-                                                   cdmEntitySession.bind();
-                                                       List<CdmBase> referencingObjects = getReferencingObjects(entityUUID, objectClass);
-                                                       if(previousCdmEntitySession != null) {
-                                                           previousCdmEntitySession.bind();
-                                                       }
-                                                       updateView(referencingObjects);
-
-                                               }
-                                       }
-                               });
+                               monitor.beginTask("Calculating referencing objects", 100);
+                               actualUuid = entityUUID;
+
+                               monitor.worked(5);
+                               referencingObjects = new ArrayList<>();
+                               if(monitor.isCanceled()) {
+                                   actualUuid = null;
+                    return Status.CANCEL_STATUS;
+                }
+                               if (actualMonitor != null){
+                                   actualMonitor.setCanceled(true);
 
+                               }
+                               actualMonitor = monitor;
+                               if (entityUUID != null){
+                                   ICdmEntitySession previousCdmEntitySession = CdmStore.getCurrentSessionManager().getActiveSession();
+                       cdmEntitySession.bind();
+                       referencingObjectsSet = getReferencingObjects(entityUUID, objectClass);
+
+                       if(monitor.isCanceled()) {
+                           actualUuid = null;
+
+                           return Status.CANCEL_STATUS;
+                       }
+                       monitor.worked(30);
+                       referencingObjects = sortReferencing();
+                       if (referencingObjects == null){
+                           if (monitor.isCanceled()){
+                               actualUuid = null;
+
+                               return Status.CANCEL_STATUS;
+                           }
+                       }
+
+                       if(monitor.isCanceled()) {
+                           if(previousCdmEntitySession != null) {
+                               previousCdmEntitySession.bind();
+                           }
+
+                           return Status.CANCEL_STATUS;
+                       }
+                       monitor.worked(80);
+                    updateView();
+
+                       if(previousCdmEntitySession != null) {
+                           previousCdmEntitySession.bind();
+                       }
+                      // actualUuid = entityUUID;
+                               }
                                monitor.done();
 
 
                                return Status.OK_STATUS;
+
+
                        }
                };
+               currentJob.setUser(true);
+
+               currentJob.schedule();
+//             final IJobChangeListener listener;
+//             listener =  new JobChangeAdapter() {
+//            @Override
+//            public void done(IJobChangeEvent event) {
+//                System.err.println("Job is done" + entityUUID);
+//                //event.getJob().cancel();
+//            }
+//
+//        };
+//        currentJob.addJobChangeListener(listener);
+
+
+
 
-               job.setPriority(Job.DECORATE);
-               job.schedule();
        }
 
-       private List<CdmBase> getReferencingObjects(UUID entity, Class objectClass) {
+       private Set<CdmBase> getReferencingObjects(UUID entity, Class objectClass) {
                CdmBase referencedObject = null;
         try {
                if (objectClass.getSuperclass().equals(TeamOrPersonBase.class) ){
@@ -268,71 +332,109 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
                    else if(referencedObject.isInstanceOf(DescriptionElementBase.class)){
                        referencedObjectTitleCache = DescriptionHelper.getLabel(referencedObject);
                    }
-                   else{
+                   else if (referencedObject.isInstanceOf(User.class)){
+                       referencedObjectTitleCache = ((User)referencedObject).getUsername();
+                   }else{
                        referencedObjectTitleCache = null;
                    }
                        setOfReferencingObjects = CdmStore.getCommonService().getReferencingObjects(referencedObject);
+                       return setOfReferencingObjects;
                }
-               if (setOfReferencingObjects != null){
-                       List<CdmBase> referencingObjects = new ArrayList<CdmBase>(setOfReferencingObjects);
 
-                       Collections.sort(referencingObjects, new ReferencingClassComparator());
-
-                       return referencingObjects;
-
-               }
         } catch (Exception e) {
-            logger.error("Error retrieving referencing objects", e);
-            setContentDescription("The referencing objects view could not be loaded completely. Some Problems occured.");
+            logger.debug("Error retrieving referencing objects", e);
+            e.printStackTrace();
+            updateDescription("The referencing objects view could not be loaded completely. Some Problems occured.");
         }
                return null;
        }
+       private List<CdmBase> sortReferencing(){
+
+           if (referencingObjectsSet != null){
+            List<CdmBase> referencingObjects = new ArrayList<CdmBase>(referencingObjectsSet);
+            try{
+                Collections.sort(referencingObjects, new ReferencingClassComparator());
+            }catch (RemoteAccessException e){
+                logger.debug(e.getStackTrace());
+                return null;
+            }
+            return referencingObjects;
+
+        }
+
+           return null;
+       }
 
-       class ReferencingClassComparator implements Comparator<CdmBase> {
+
+       class ReferencingClassComparator implements Comparator<CdmBase>   {
 
                @Override
         public int compare(CdmBase o1, CdmBase o2) {
                        String string1 = o1.getClass().getSimpleName();
                        String string2 = o2.getClass().getSimpleName();
-                       int classCompare = string1.compareToIgnoreCase(string2);
-                       if (classCompare == 0) {
+                       int result = string1.compareToIgnoreCase(string2);
+                       if (result == 0) {
                                string1 = DescriptionHelper.getObjectDescription(o1);
                                string2 = DescriptionHelper.getObjectDescription(o2);
-                               return string1.compareToIgnoreCase(string2);
-                       } else {
-                               return classCompare;
+
+                               result = string1.compareToIgnoreCase(string2);
+                               if (result == 0){
+                                   return o1.getUuid().compareTo(o2.getUuid());
+                               }
                        }
+                               return result;
                }
        }
 
-       private void updateView(List<CdmBase> referencingObjects) {
-               if (viewer != null && !viewer.getControl().isDisposed()){
-                       try{
-                               viewer.setInput(referencingObjects);
-                               if (referencedObjectTitleCache != null){
-                                       setContentDescription("'" + referencedObjectTitleCache + "' is referenced by:");
-                               } else {
-                                       setContentDescription("");
-                               }
-                               showViewer();
-                               //enable/disable table
-                               viewer.getControl().setEnabled(referencingObjects!=null);
-                       }catch(Exception e){
-                               setContentDescription("The referencing objects view could not be loaded completely. Some Problems occured.");
-                       }
+       private void updateView() {
+           Display.getDefault().asyncExec(new Runnable() {
+            @Override
+            public void run() {
+                       if (viewer != null && !viewer.getControl().isDisposed()){
+                               try{
+                                       viewer.setInput(referencingObjects);
 
-               }
+                                       showViewer();
+
+                                       //enable/disable table
+                                       viewer.getControl().setEnabled(referencingObjects!=null);
+
+                               }catch(Exception e){
+                                   e.printStackTrace();
+                                   logger.debug(e.getStackTrace());
+                                   updateDescription("The referencing objects view could not be loaded completely. Some Problems occured.");
+                               }
+
+                       }
+            }
+            });
        }
 
+
+       private void updateDescription(final String description){
+           Display.getDefault().asyncExec(new Runnable() {
+            @Override
+            public void run() {
+                   if (referencedObjectTitleCache != null){
+                    setContentDescription(description);
+                } else {
+                    setContentDescription(description);
+                }
+            }
+
+         });
+        }
+
        /** {@inheritDoc} */
        @Override
     public void selectionChanged(IWorkbenchPart part, ISelection selection) {
         if(part == this){
             return;
         }
+
         if(selection instanceof IStructuredSelection){
-               referencedObjectTitleCache = null;
-            showViewer(part, (IStructuredSelection) selection);
+               //referencedObjectTitleCache = null;
+               showViewer(part, (IStructuredSelection) selection);
         }
        }
 
@@ -346,11 +448,35 @@ public class ReferencingObjectsView extends AbstractCdmViewPart {
                    firstElement = ((TreeNode) firstElement).getValue();
                }
                if(firstElement instanceof CdmBase){
-                   updateReferencingObjects(((CdmBase) firstElement).getUuid(),firstElement.getClass() );
+                   CdmBase referencedCdmObject = (CdmBase) firstElement;
+                   if (referencedCdmObject.getUuid() == actualUuid){
+                       return;
+                   }
+                   if (referencedCdmObject != null){
+                if(referencedCdmObject.isInstanceOf(IdentifiableEntity.class)){
+                    referencedObjectTitleCache = (HibernateProxyHelper.deproxy(referencedCdmObject, IdentifiableEntity.class)).getTitleCache();
+                }
+                else if(referencedCdmObject.isInstanceOf(DescriptionElementBase.class)){
+                    referencedObjectTitleCache = DescriptionHelper.getLabel(referencedCdmObject);
+                }
+                else if (referencedCdmObject.isInstanceOf(User.class)){
+                    referencedObjectTitleCache = ((User)referencedCdmObject).getUsername();
+                }else if (referencedCdmObject.isInstanceOf(TaxonNode.class)){
+                    referencedObjectTitleCache = "TaxonNode of "+(HibernateProxyHelper.deproxy(referencedCdmObject, TaxonNode.class)).getTaxon().getTitleCache();
+                }
+                   }
+                   if (referencedObjectTitleCache != null){
+                       updateDescription("'" + referencedObjectTitleCache + "' is referenced by:");
+                   } else{
+                       updateDescription("");
+                   }
+
+                   updateReferencingObjects(referencedCdmObject.getUuid(),firstElement.getClass() );
+
                }
-               else{
-                   updateView(null);
-            setContentDescription("");
+               else if (firstElement != null){
+                   updateView();
+            updateDescription("");
                }
        }
 
@@ -1,23 +1,25 @@
-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
-       public static String BulkEditorInputType_8;\r
-       static {\r
-               // initialize resource bundle\r
-               NLS.initializeMessages(BUNDLE_NAME, Messages.class);\r
-       }\r
-\r
-       private Messages() {\r
-       }\r
-}\r
+package eu.etaxonomy.taxeditor.l10n;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+    private static final String BUNDLE_NAME = "src/main/java/eu.etaxonomy.taxeditor.l10n.messages"; //$NON-NLS-1$
+    public static String USER_CREATOR_user_exists_title;
+    public static String USER_CREATOR_user_exists;
+       public static String BulkEditorInputType_0;
+       public static String BulkEditorInputType_1;
+       public static String BulkEditorInputType_2;
+       public static String BulkEditorInputType_3;
+       public static String BulkEditorInputType_4;
+       public static String BulkEditorInputType_5;
+       public static String BulkEditorInputType_6;
+       public static String BulkEditorInputType_7;
+       public static String BulkEditorInputType_8;
+       static {
+               // initialize resource bundle
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+       }
+
+       private Messages() {
+       }
+}
@@ -1,9 +1,12 @@
-BulkEditorInputType_0=Persons and Teams\r
-BulkEditorInputType_1=References\r
-BulkEditorInputType_2=Names\r
-BulkEditorInputType_3=Name Relationships\r
-BulkEditorInputType_4=Specimen and Observations\r
-BulkEditorInputType_5=Users\r
-BulkEditorInputType_6=Groups\r
-BulkEditorInputType_7=Taxa\r
-BulkEditorInputType_8=Media\r
+BulkEditorInputType_0=Persons and Teams
+BulkEditorInputType_1=References
+BulkEditorInputType_2=Names
+BulkEditorInputType_3=Name Relationships
+BulkEditorInputType_4=Specimen and Observations (bulk)
+BulkEditorInputType_5=Users
+BulkEditorInputType_6=Groups
+BulkEditorInputType_7=Taxa
+BulkEditorInputType_8=Media
+
+USER_CREATOR_user_exists_title=The user already exists
+USER_CREATOR_user_exists=The user already exists in database
\ No newline at end of file
@@ -1,9 +1,12 @@
-BulkEditorInputType_0=Personen und Teams \r
-BulkEditorInputType_1=Referenzen\r
-BulkEditorInputType_2=Namen\r
-BulkEditorInputType_3=Namensbeziehungen\r
-BulkEditorInputType_4=Belege und Beobachtungen\r
-BulkEditorInputType_5=Nutzer\r
-BulkEditorInputType_6=Nutzergruppen\r
-BulkEditorInputType_7=Taxa\r
-BulkEditorInputType_8=Medien
\ No newline at end of file
+BulkEditorInputType_0=Personen und Teams 
+BulkEditorInputType_1=Referenzen
+BulkEditorInputType_2=Namen
+BulkEditorInputType_3=Namensbeziehungen
+BulkEditorInputType_4=Belege und Beobachtungen (bulk)
+BulkEditorInputType_5=Nutzer
+BulkEditorInputType_6=Nutzergruppen
+BulkEditorInputType_7=Taxa
+BulkEditorInputType_8=Medien
+
+USER_CREATOR_user_exists_title=Der Benutzer existiert bereits
+USER_CREATOR_user_exists=Der Benutzer existiert bereits in der Datenbank.
index 8ad395a..64c2e14 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<classpath>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-security-oauth2-2.0.11.RELEASE.jar"/>\r
-       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>\r
-       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
-       <classpathentry kind="src" path="src/main/java"/>\r
-       <classpathentry kind="src" path="src/main/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/apache-log4j-extras-1.2.17.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.8.8.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.8.8.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.8.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.5.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-4.5.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-4.5.1.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-ext/4.3.0-SNAPSHOT/cdmlib-ext-4.5.1-sources.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-4.5.1.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-io/4.3.0-SNAPSHOT/cdmlib-io-4.5.1-sources.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-4.5.1.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-model/4.3.0-SNAPSHOT/cdmlib-model-4.5.1-sources.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-4.5.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-4.5.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-4.5.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-4.5.1.jar" sourcepath="C:/Users/k.luther/.m2/repository/eu/etaxonomy/cdmlib-services/4.3.0-SNAPSHOT/cdmlib-services-4.5.1-sources.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-test-4.5.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cglib-3.2.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/cglib-nodep-3.2.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/classmate-1.3.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/codemodel-2.2.11.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.9.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/commons-codec-1.10.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/commons-csv-1.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.4.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-lang3-3.3.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/commons-logging-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.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/doxia-logging-api-1.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/doxia-module-apt-1.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/doxia-module-xhtml-1.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/doxia-sink-api-1.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/dozer-5.3.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/dtd-parser-1.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/easymock-2.3.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.11.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/ezmorph-1.0.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/FastInfoset-1.2.13.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/fop-1.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/google-api-translate-java-0.92.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/guava-19.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/h2-1.4.190.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/h2mig_pagestore_addon.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hamcrest-core-1.3.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-c3p0-5.0.7.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-5.0.1.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-core-5.0.7.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-ehcache-5.0.7.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-entitymanager-5.0.7.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-5.0.7.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-jpa-2.1-api-1.0.0.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-5.5.2.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-search-orm-5.5.2.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-5.2.2.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-cdi-5.2.2.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/hsqldb-2.3.3.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/httpclient-4.5.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/httpclient-cache-4.2.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/httpcore-4.4.4.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/httpmime-4.5.1.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.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/istack-commons-runtime-2.21.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/istack-commons-tools-2.21.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/itextpdf-5.5.8.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jackson-annotations-2.6.5.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jackson-core-2.6.5.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-databind-2.6.5.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/jandex-2.0.0.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/javassist-3.20.0-GA.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/javax.el-2.2.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/javax.el-api-2.2.5.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/javax.servlet-api-3.1.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jaxb-api-2.2.12.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jaxb-core-2.2.11.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jaxb-jxc-2.2.11.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jaxb-runtime-2.2.11.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jaxb-xjc-2.2.11.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/jaxen-1.1.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jboss-logging-3.3.0.Final.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/jcl-over-slf4j-1.7.6.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/jdom2-2.0.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jena-arq-2.13.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jena-core-2.13.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jena-iri-1.1.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jena-tdb-1.1.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/joda-time-2.9.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/json-20090211.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/json-lib-2.4-jdk15.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jsonld-java-0.5.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jsr250-api-1.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jta-1.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/jtds-1.3.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/junit-4.12.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/junit-benchmarks-0.7.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/libthrift-0.9.2.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-common-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-backward-codecs-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-core-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-facet-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-grouping-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-highlighter-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-join-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-memory-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-misc-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-queries-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-queryparser-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-sandbox-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/lucene-suggest-5.4.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/mapstruct-1.0.0.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/mchange-commons-java-0.2.11.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.1.38.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/objenesis-1.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/odfdom-0.8.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.osgi.core-1.0.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/osgi-3.6.0.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-component-annotations-1.5.5.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-3.0.15.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/poi-3.13.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-3.13.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-schemas-3.13.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/postgresql-9.4-1206-jdbc4.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/relaxngDatatype-20020414.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/rngom-2.2.11.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/sanselan-0.97-incubator.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/Saxon-HE-9.7.0-2.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.13.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/slf4j-log4j12-1.7.13.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/slf4j-nop-1.7.13.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-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-aspects-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-beans-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-context-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-context-support-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-core-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-expression-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-jdbc-4.2.4.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-orm-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-oxm-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-plugin-core-1.2.0.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-plugin-metadata-1.2.0.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-security-config-4.0.3.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-security-core-4.0.3.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-security-web-4.0.3.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-test-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-tx-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-web-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/spring-webmvc-4.2.4.RELEASE.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/springfox-core-2.3.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/springfox-schema-2.3.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/springfox-spi-2.3.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/springfox-spring-web-2.3.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/springfox-swagger-common-2.3.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/springfox-swagger2-2.3.1.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/standard-1.1.2.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/stax-ex-1.7.7.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/swagger-annotations-1.5.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/swagger-models-1.5.5.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/tools.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/txw2-2.2.11.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-core-3.4.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-database-3.4.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-dbmaintainer-3.4.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-dbunit-3.4.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-easymock-3.4.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-inject-3.4.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-mock-3.4.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-orm-3.4.2.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/unitils-spring-3.4.2.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.1.0.Final.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/wsdl4j-1.6.3.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/xalan-2.7.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/xmlbeans-2.6.0.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/xmlgraphics-commons-1.5.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.6.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/xom-1.2.5.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/xsom-20140925.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/xstream-1.4.8.jar"/>\r
-       <classpathentry exported="true" kind="lib" path="lib/yjp-controller-api-redist-9.0.8.jar"/>\r
-       <classpathentry kind="output" path="target/classes"/>\r
-</classpath>\r
+<?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.8"/>
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+       <classpathentry kind="src" path="src/main/java"/>
+       <classpathentry kind="src" path="src/main/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/apache-log4j-extras-1.2.17.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.8.8.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.8.8.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/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.8.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.5.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-test-4.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cglib-3.2.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cglib-nodep-3.2.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/classmate-1.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/codemodel-2.2.11.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.aopalliance-1.0.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.apache.commons.logging-1.1.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.9.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/commons-codec-1.10.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/commons-csv-1.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.4.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-lang3-3.3.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/commons-logging-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.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/doxia-logging-api-1.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/doxia-module-apt-1.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/doxia-module-xhtml-1.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/doxia-sink-api-1.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/dozer-5.3.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/dtd-parser-1.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/easymock-2.3.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/easymockclassextension-2.3.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/ehcache-core-2.6.11.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/ezmorph-1.0.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/FastInfoset-1.2.13.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/fop-1.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/google-api-translate-java-0.92.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/guava-19.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/h2-1.4.190.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/h2mig_pagestore_addon.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hamcrest-core-1.3.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-c3p0-5.0.7.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-5.0.1.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-core-5.0.7.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-ehcache-5.0.7.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-entitymanager-5.0.7.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-5.0.7.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-jpa-2.1-api-1.0.0.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-5.5.2.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-search-orm-5.5.2.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-5.2.2.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-cdi-5.2.2.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/hsqldb-2.3.3.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/httpclient-4.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/httpclient-cache-4.2.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/httpcore-4.4.4.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/httpmime-4.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/icu4j-2.6.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/identificationKeyAPI-1.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/istack-commons-runtime-2.21.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/istack-commons-tools-2.21.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/itextpdf-5.5.8.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jackson-annotations-2.6.5.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jackson-core-2.6.5.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jackson-core-asl-1.8.8.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jackson-databind-2.6.5.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/jandex-2.0.0.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/javassist-3.20.0-GA.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/javax.el-2.2.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/javax.el-api-2.2.5.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/javax.servlet-api-3.1.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jaxb-api-2.2.12.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jaxb-core-2.2.11.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jaxb-jxc-2.2.11.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jaxb-runtime-2.2.11.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jaxb-xjc-2.2.11.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/jaxen-1.1.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jboss-logging-3.3.0.Final.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/jcl-over-slf4j-1.7.6.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/jdom2-2.0.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jena-arq-2.13.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jena-core-2.13.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jena-iri-1.1.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jena-tdb-1.1.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/joda-time-2.9.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/json-20090211.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/json-lib-2.4-jdk15.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jsonld-java-0.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jsr250-api-1.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jta-1.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/jtds-1.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/junit-4.12.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/junit-benchmarks-0.7.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/libthrift-0.9.2.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-common-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-backward-codecs-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-core-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-facet-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-grouping-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-highlighter-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-join-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-memory-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-misc-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-queries-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-queryparser-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-sandbox-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/lucene-suggest-5.4.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/mapstruct-1.0.0.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/mchange-commons-java-0.2.11.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.1.38.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/objenesis-1.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/odfdom-0.8.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.osgi.core-1.0.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/osgi-3.6.0.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-component-annotations-1.5.5.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-3.0.15.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/poi-3.13.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-3.13.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-schemas-3.13.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/postgresql-9.4-1206-jdbc4.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/relaxngDatatype-20020414.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/rngom-2.2.11.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/sanselan-0.97-incubator.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/Saxon-HE-9.7.0-2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/servlet-api-2.5.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.7.13.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/slf4j-log4j12-1.7.13.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/slf4j-nop-1.7.13.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-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-aspects-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-beans-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-context-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-context-support-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-core-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-expression-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-jdbc-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-modules-cache-0.7.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-orm-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-oxm-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-plugin-core-1.2.0.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-plugin-metadata-1.2.0.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-security-config-4.0.3.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-security-core-4.0.3.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-security-web-4.0.3.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-test-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-tx-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-web-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-webmvc-4.2.4.RELEASE.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/springfox-core-2.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/springfox-schema-2.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/springfox-spi-2.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/springfox-spring-web-2.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/springfox-swagger-common-2.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/springfox-swagger2-2.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/standard-1.1.2.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/stax-ex-1.7.7.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/swagger-annotations-1.5.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/swagger-models-1.5.5.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/tools.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/txw2-2.2.11.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-core-3.4.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-database-3.4.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-dbmaintainer-3.4.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-dbunit-3.4.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-easymock-3.4.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-inject-3.4.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-mock-3.4.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-orm-3.4.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/unitils-spring-3.4.2.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.1.0.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/wsdl4j-1.6.3.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/xalan-2.7.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/xmlbeans-2.6.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/xmlgraphics-commons-1.5.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/xmlpull-1.1.3.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/xmlunit-1.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/xom-1.2.5.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/xsom-20140925.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/xstream-1.4.8.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/yjp-controller-api-redist-9.0.8.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/spring-security-oauth2-2.0.11.RELEASE.jar"/>
+       <classpathentry kind="output" path="target/classes"/>
+</classpath>
index 2daba24..d7092d2 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: CDM Library Dependencies Plugin
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.cdmlib;singleton:=true
-Bundle-Version: 4.5.1
+Bundle-Version: 4.6.0
 Eclipse-BundleShape: dir
 Export-Package: com.google.api,
  com.google.api.detect,
@@ -539,15 +539,15 @@ Bundle-ClassPath: .,
  lib/batik-util-1.7.jar,
  lib/batik-xml-1.7.jar,
  lib/c3p0-0.9.5.2.jar,
- lib/cdmlib-commons-4.5.1.jar,
- lib/cdmlib-ext-4.5.1.jar,
- lib/cdmlib-io-4.5.1.jar,
- lib/cdmlib-model-4.5.1.jar,
- lib/cdmlib-persistence-4.5.1.jar,
- lib/cdmlib-print-4.5.1.jar,
- lib/cdmlib-remote-4.5.1.jar,
- lib/cdmlib-services-4.5.1.jar,
- lib/cdmlib-test-4.5.1.jar,
+ lib/cdmlib-commons-4.6.0.jar,
+ lib/cdmlib-ext-4.6.0.jar,
+ lib/cdmlib-io-4.6.0.jar,
+ lib/cdmlib-model-4.6.0.jar,
+ lib/cdmlib-persistence-4.6.0.jar,
+ lib/cdmlib-print-4.6.0.jar,
+ lib/cdmlib-remote-4.6.0.jar,
+ lib/cdmlib-services-4.6.0.jar,
+ lib/cdmlib-test-4.6.0.jar,
  lib/cglib-3.2.0.jar,
  lib/cglib-nodep-3.2.0.jar,
  lib/classmate-1.3.1.jar,
index 5467e37..4bdb6e2 100644 (file)
@@ -25,15 +25,15 @@ bin.includes = META-INF/,\
                lib/batik-util-1.7.jar,\
                lib/batik-xml-1.7.jar,\
                lib/c3p0-0.9.5.2.jar,\
-               lib/cdmlib-commons-4.5.1.jar,\
-               lib/cdmlib-ext-4.5.1.jar,\
-               lib/cdmlib-io-4.5.1.jar,\
-               lib/cdmlib-model-4.5.1.jar,\
-               lib/cdmlib-persistence-4.5.1.jar,\
-               lib/cdmlib-print-4.5.1.jar,\
-               lib/cdmlib-remote-4.5.1.jar,\
-               lib/cdmlib-services-4.5.1.jar,\
-               lib/cdmlib-test-4.5.1.jar,\
+               lib/cdmlib-commons-4.6.0.jar,\
+               lib/cdmlib-ext-4.6.0.jar,\
+               lib/cdmlib-io-4.6.0.jar,\
+               lib/cdmlib-model-4.6.0.jar,\
+               lib/cdmlib-persistence-4.6.0.jar,\
+               lib/cdmlib-print-4.6.0.jar,\
+               lib/cdmlib-remote-4.6.0.jar,\
+               lib/cdmlib-services-4.6.0.jar,\
+               lib/cdmlib-test-4.6.0.jar,\
                lib/cglib-3.2.0.jar,\
                lib/cglib-nodep-3.2.0.jar,\
                lib/classmate-1.3.1.jar,\
index 01f3d53..8da8b8e 100644 (file)
@@ -4,7 +4,7 @@
   <parent>\r
     <groupId>eu.etaxonomy</groupId>\r
     <artifactId>taxeditor-parent</artifactId>\r
-    <version>4.5.1</version>\r
+    <version>4.6.0</version>\r
   </parent>\r
   <modelVersion>4.0.0</modelVersion>\r
   <artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
index 2579773..23ff835 100644 (file)
Binary files a/eu.etaxonomy.taxeditor.cdmlib/resources/cdm.map.ser and b/eu.etaxonomy.taxeditor.cdmlib/resources/cdm.map.ser differ
index 2cb3143..32d451a 100644 (file)
@@ -62,6 +62,7 @@ import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
 import eu.etaxonomy.cdm.api.service.IPreferenceService;\r
 import eu.etaxonomy.cdm.api.service.IProgressMonitorService;\r
 import eu.etaxonomy.cdm.api.service.IReferenceService;\r
+import eu.etaxonomy.cdm.api.service.IRightsService;\r
 import eu.etaxonomy.cdm.api.service.IService;\r
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;\r
 import eu.etaxonomy.cdm.api.service.ITaxonService;\r
@@ -100,7 +101,7 @@ import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
  *\r
  */\r
 @Component\r
-public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfiguration, ApplicationContextAware  {\r
+public class CdmApplicationRemoteConfiguration implements ICdmRepository, ApplicationContextAware  {\r
 \r
     @SuppressWarnings("unused")\r
     private static final Logger logger = Logger.getLogger(CdmApplicationRemoteConfiguration.class);\r
@@ -296,6 +297,11 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
     }\r
 \r
     @Override\r
+    public IRightsService getRightsService(){\r
+        return (IRightsService) getService(IRightsService.class, "/remoting/rights.service", new CdmServiceRequestExecutor());\r
+    }\r
+\r
+    @Override\r
     public ICommonService getCommonService(){\r
         return (ICommonService) getService(ICommonService.class, "/remoting/common.service", new CdmServiceRequestExecutor());\r
     }\r
@@ -414,7 +420,7 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
     public IGroupService getGroupService(){\r
         return (IGroupService) getService(IGroupService.class, "/remoting/group.service", new CdmServiceRequestExecutor());\r
     }\r
-    \r
+\r
     @Override\r
     public IPreferenceService getPreferenceService(){\r
         return (IPreferenceService) getService(IPreferenceService.class, "/remoting/preference.service", new CdmServiceRequestExecutor());\r
index 716357a..796727a 100644 (file)
@@ -47,7 +47,7 @@ public class CdmApplicationState {
 
     private static CdmApplicationState cdmApplicationState;
 
-    private ICdmApplicationConfiguration appConfig;
+    private ICdmRepository appConfig;
 
     private ICdmDataChangeService dataChangeService;
 
@@ -66,7 +66,7 @@ public class CdmApplicationState {
         return cdmApplicationState;
     }
 
-    public void setAppConfig(ICdmApplicationConfiguration appConfig) {
+    public void setAppConfig(ICdmRepository appConfig) {
         this.appConfig = appConfig;
         if(appConfig instanceof CdmApplicationRemoteController) {
             CdmBase.setNewEntityListener(new DefaultNewEntityListener());
@@ -75,15 +75,15 @@ public class CdmApplicationState {
         }
     }
 
-    public ICdmApplicationConfiguration getAppConfig() {
+    public ICdmRepository getAppConfig() {
         return appConfig;
     }
 
-    public static void setCurrentAppConfig(ICdmApplicationConfiguration appConfig) {
+    public static void setCurrentAppConfig(ICdmRepository appConfig) {
         getInstance().setAppConfig(appConfig);
     }
 
-    public static ICdmApplicationConfiguration getCurrentAppConfig() {
+    public static ICdmRepository getCurrentAppConfig() {
         return getInstance().getAppConfig();
     }
 
@@ -151,7 +151,7 @@ public class CdmApplicationState {
 
 
     /**
-     * Generic method that will scan the getters of {@link ICdmApplicationConfiguration} for the given service
+     * Generic method that will scan the getters of {@link ICdmRepository} for the given service
      * interface. If a matching getter is found the according service implementation is returned by
      * invoking the getter otherwise the method returns <code>null</code>.
      *
@@ -161,9 +161,9 @@ public class CdmApplicationState {
      * @throws CdmApplicationException
      */
     public static <T extends IService> T getService(Class<T> serviceClass) throws CdmApplicationException {
-        ICdmApplicationConfiguration configuration = getCurrentAppConfig();
+        ICdmRepository configuration = getCurrentAppConfig();
 
-        Method[] methods = ICdmApplicationConfiguration.class.getDeclaredMethods();
+        Method[] methods = ICdmRepository.class.getDeclaredMethods();
 
         T service = null;
 
@@ -193,14 +193,14 @@ public class CdmApplicationState {
      * As ICommonService is not extending IService we need a specific request here
      */
     public static ICommonService getCommonService() {
-        ICdmApplicationConfiguration configuration = getCurrentAppConfig();
+        ICdmRepository configuration = getCurrentAppConfig();
 
         return configuration.getCommonService();
 
     }
 
     public static IIOService getIOService() {
-        ICdmApplicationConfiguration configuration = getCurrentAppConfig();
+        ICdmRepository configuration = getCurrentAppConfig();
 
         return ((CdmApplicationRemoteController)configuration).getIOService();
 
@@ -208,14 +208,14 @@ public class CdmApplicationState {
 
 
     public static ITestService getTestService() {
-        ICdmApplicationConfiguration configuration = getCurrentAppConfig();
+        ICdmRepository configuration = getCurrentAppConfig();
 
         return ((CdmApplicationRemoteController)configuration).getTestService();
 
     }
 
     public static ICachedCommonService getCachedCommonService() {
-        ICdmApplicationConfiguration configuration = getCurrentAppConfig();
+        ICdmRepository configuration = getCurrentAppConfig();
 
         return ((CdmApplicationRemoteController)configuration).getCachedCommonService();
 
index dcfff9f..88f0aab 100644 (file)
@@ -1,13 +1,13 @@
 package eu.etaxonomy.cdm.api.cache;
 
+import java.io.File;
 import java.util.UUID;
 
-import net.sf.ehcache.config.CacheConfiguration;
-import net.sf.ehcache.config.SizeOfPolicyConfiguration;
-
 import org.springframework.stereotype.Component;
 
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
+import eu.etaxonomy.cdm.api.config.EhCacheConfiguration;
+import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.TermBase;
@@ -19,6 +19,9 @@ import eu.etaxonomy.taxeditor.session.CdmEntitySession;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManagerObserver;
+import net.sf.ehcache.config.CacheConfiguration;
+import net.sf.ehcache.config.DiskStoreConfiguration;
+import net.sf.ehcache.config.SizeOfPolicyConfiguration;
 
 /**
  * Class which uses CDM services to cache cdm entities
@@ -31,9 +34,8 @@ import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManagerObserver;
  *
  * @param <T>
  */
-@Component
-public class CdmServiceCacher extends CdmCacher  implements ICdmEntitySessionManagerObserver {
-
+@Component //FIXME This indicates that the CdmServiceCacher is initialized as Spring Component but it seems only to be instantiated directly
+public class CdmServiceCacher extends CdmCacher implements ICdmEntitySessionManagerObserver {
 
 
     private ICdmEntitySessionManager cdmEntitySessionManager;
@@ -44,11 +46,35 @@ public class CdmServiceCacher extends CdmCacher  implements ICdmEntitySessionMan
 
     @Override
     protected void setup() {
+
+        setUpCacheManager();
+
         DefinedTermBase.setCacher(this);
         CdmTransientEntityCacher.setDefaultCacher(this);
         TermServiceRequestExecutor.setDefaultCacher(this);
 
         cacheLoader = new CacheLoader(this);
+
+    }
+
+
+    /**
+     *
+     */
+    private void setUpCacheManager() {
+
+        EhCacheConfiguration cacheConfig = new EhCacheConfiguration();
+
+        DiskStoreConfiguration diskStoreConfiguration = new DiskStoreConfiguration();
+        File ehcacheFolder = CdmUtils.getCdmSubDir("taxeditor-ehcache");
+        // FIXME use subfolder per taxeditor version to allow running multiple installations in parallel
+        // String taxEditorVersion = ..;
+        // File ehcacheFolder = new File(ehcacheFolder, taxEditorVersion);
+        diskStoreConfiguration.setPath(ehcacheFolder.getAbsolutePath());
+
+        cacheConfig.setDiskStoreConfiguration(diskStoreConfiguration);
+        addCacheManager(cacheConfig.cacheManager());
+
     }
 
 
index 0ba73ba..af18a29 100644 (file)
@@ -30,11 +30,18 @@ import org.hibernate.property.access.spi.Getter;
 import org.osgi.framework.Bundle;
 
 
+/**
+ * This class serializing and deserializing the CDM model for performance purposes.
+ * To serialize it see the comments on {@link #main(String[])} and on 
+ * https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/TaxonomicEditorDevelopersGuide#Model-Change-Actions
+ * 
+ * @author c.mathew
+ * @date 2015
+ *
+ */
 public class CdmModelCacher {
 
 
-
-
     public static String HB_CONFIG_FILE_PATH= "/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml";
 
     public static final String CDM_MAP_SER_FILE_PATH = "resources/cdm.map.ser";
@@ -62,7 +69,8 @@ public class CdmModelCacher {
 
         FileInputStream fin = new FileInputStream(modelMapFilePath);
         ObjectInputStream ois = new ObjectInputStream(fin);
-        Map<String, CdmModelFieldPropertyFromClass> modelClassMap = (Map<String, CdmModelFieldPropertyFromClass>) ois.readObject();
+        @SuppressWarnings("unchecked")
+               Map<String, CdmModelFieldPropertyFromClass> modelClassMap = (Map<String, CdmModelFieldPropertyFromClass>) ois.readObject();
         ois.close();
         return modelClassMap;
     }
@@ -143,6 +151,8 @@ public class CdmModelCacher {
         // To re-create the serialised cdm map run,
         // mvn exec:java -Dexec.mainClass="eu.etaxonomy.taxeditor.remoting.cache.CdmModelCacher"
         // in the eu.etaxonomy.taxeditor.cdmlib project root dir
+       // See also https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/TaxonomicEditorDevelopersGuide#Model-Change-Actions
+       //Note AM: does not fully work for me, but running the main from the IDE works. 
         String CDM_MAP_SER_DIR = "resources/";
 
         CdmModelCacher cdmModelCacher = new CdmModelCacher();
index 097c3b4..20aee0c 100644 (file)
@@ -9,11 +9,16 @@ import eu.etaxonomy.cdm.database.CdmDataSource;
 /**
  * This is a very preliminary class to get the model cache running. Need to better understand how 
  * the datasource works with hibernate service registry before implementing the correct way.
+
  * Or use a running source.
+ * 
+ * When changing this class please also adapt https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/TaxonomicEditorDevelopersGuide#Model-Change-Actions 
+ * 
  * @author a.mueller
  *
  */
 public class CdmModelCacherConnectionProvider extends DatasourceConnectionProviderImpl{
+       private static final long serialVersionUID = 454393966637126346L;
 
        public CdmModelCacherConnectionProvider() {
                super();
index d1c9bf7..21c04da 100644 (file)
@@ -17,14 +17,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
-import net.sf.ehcache.Cache;
-import net.sf.ehcache.CacheManager;
-import net.sf.ehcache.Element;
-import net.sf.ehcache.Status;
-import net.sf.ehcache.config.CacheConfiguration;
-import net.sf.ehcache.config.SizeOfPolicyConfiguration;
-import net.sf.ehcache.statistics.LiveCacheStatistics;
-
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
@@ -35,6 +27,13 @@ import eu.etaxonomy.cdm.model.ICdmCacher;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
+import net.sf.ehcache.Cache;
+import net.sf.ehcache.CacheManager;
+import net.sf.ehcache.Element;
+import net.sf.ehcache.Status;
+import net.sf.ehcache.config.CacheConfiguration;
+import net.sf.ehcache.config.SizeOfPolicyConfiguration;
+import net.sf.ehcache.statistics.LiveCacheStatistics;
 
 /**
  *
index d8a0732..783845d 100644 (file)
@@ -54,9 +54,16 @@ public class CdmServiceRequestExecutor extends CdmAuthenticatedHttpInvokerReques
                RemoteInvocationResult rir = fromCache(currentRemoteInvocation);
 
                if(rir == null) {
-                   logger.info("Remote invoking : " + currentRemoteInvocation.getMethodName() + "@" + config.getServiceUrl());
-                       rir = super.doExecuteRequest(config, baos);
+
+                   if (!(currentRemoteInvocation.getMethodName() == null) && !(config.getServiceUrl() == null)){
+                      // logger.info("Remote invoking : " + currentRemoteInvocation.getMethodName() + "@" + config.getServiceUrl());
+                   }
+                   rir = super.doExecuteRequest(config, baos);
                        if(rir.getValue() != null && !rir.hasException()) {
+                           if (currentRemoteInvocation == null){
+                               logger.debug("return RemoteInvocationResult without caching" );
+                               return rir;
+                           }
                 if(cachableMethods.contains(currentRemoteInvocation.getMethodName())) {
                     rir = new RemoteInvocationResult(cdmEntitySessionManager.load(rir.getValue(), true));
                 } else if(rir.getValue() instanceof UpdateResult){
index 56a8e35..0c2620e 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE hibernate-configuration PUBLIC\r
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"\r
- "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">\r
-\r
-<hibernate-configuration>\r
-    <session-factory>\r
-\r
-      <property name="connection.release_mode">after_transaction</property>\r
-      \r
-      <property name="hibernate.implicit_naming_strategy">org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl</property>\r
-      \r
-\r
-      <!-- Connection Pooling -->\r
-<!--       <property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property> -->\r
-      <!-- <property name="hibernate.connection.provider_class">org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl</property>\r
-          -->\r
-             <property name="hibernate.connection.provider_class">eu.etaxonomy.taxeditor.remoting.cache.CdmModelCacherConnectionProvider</property>\r
-          \r
-            <!--\r
-          Configuring the C3P0ConnectionProvider\r
-          ========================================\r
-          see http://www.mchange.com/projects/c3p0/index.html#hibernate-specific\r
-          and also org.springframework.orm.hibernate3.AbstractSessionFactoryBean.setDataSource(DataSource dataSource)\r
-\r
-          IMPORTANT:\r
-          Because of the constraint (1) the org.hibernate.connection.C3P0ConnectionProvider are not be used\r
-          for the Cdm Library because it requires the dataSource bean in some cases.\r
-\r
-          (1)\r
-          Do NOT specify the dataSource in the sessionFactory for example in the\r
-          org.springframework.orm.hibernate3.LocalSessionFactoryBean\r
-          !!!==> If *dataSource* is set, this will override corresponding settings in Hibernate properties.!!!\r
-                         If this is set, the Hibernate settings should not define a connection provider to\r
-                     avoid meaningless double configuration.\r
-          (2)\r
-          Hibernate uses the hibernate.c3p0.max_size property to determine if c3p0\r
-          is beeing used.  Therefore the max_size property MUST be set. - maybe not need in hibernate 3.4 +\r
-\r
-          (3) If you are using Hibernate's C3P0ConnectionProvider you must set the following properties\r
-          in your hibernate configuration, using hibernate-specific configuration keys.\r
-          All other properties must be defined as usual in a c3p0.properties file.\r
-          This is confusing, and will hopefully be simplified some time in the future, but for now...\r
-          \r
-          DOCUMENTATION UPDATE (2015-05-22):\r
-          Hibernate's C3P0ConnectionProvider renames 7 c3p0 configuration properties, which, \r
-          if set in your hibernate configuration, will override any configuration you may have set \r
-          in a c3p0.properties file.\r
-          TODO: are points (2) and (3) still valid? I don't think so! (AK)\r
-\r
-            hibernate.c3p0.acquire_increment\r
-                       hibernate.c3p0.idle_test_period\r
-                       hibernate.c3p0.timeout\r
-                       hibernate.c3p0.max_size\r
-                       hibernate.c3p0.max_statements\r
-                       hibernate.c3p0.min_size\r
-                       hibernate.c3p0.validate\r
-      -->\r
-      <mapping package="eu.etaxonomy.cdm.model.common"/>\r
-      <!-- Annotation Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.agent.Address"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.agent.AgentBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.agent.Contact"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.agent.Institution"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.agent.InstitutionalMembership"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.agent.Person"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.agent.Team"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase"/>\r
-      <!-- Common Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.common.Annotation"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.AnnotationType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.Credit"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.DefinedTerm"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.DefinedTermBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.Extension"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.ExtensionType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.IdentifiableSource"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.Identifier"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.IntextReference"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.Group"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.Language"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.LanguageString"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.LSID"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.LSIDAuthority"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.Marker"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.MarkerType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.OrderedTerm"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.OrderedTermBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.OrderedTermVocabulary"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.OriginalSourceBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.RelationshipTermBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.Representation"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.TermVocabulary"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.common.User"/>\r
-      <!-- Description Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.description.CategoricalData"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.CommonTaxonName"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.DescriptionBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.DescriptionElementBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.DescriptionElementSource"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.Distribution"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.Feature"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.FeatureNode"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.FeatureTree"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.KeyStatement"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.MediaKey"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.IndividualsAssociation"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.MeasurementUnit"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.MultiAccessKey"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.PolytomousKey"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.PolytomousKeyNode"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.QuantitativeData"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.SpecimenDescription"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.State"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.StateData"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.StatisticalMeasure"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.TaxonDescription"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.TaxonInteraction"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.TaxonNameDescription"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.TextData"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.TextFormat"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.description.WorkingSet"/>\r
-      <!-- Location Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.location.NamedArea"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.location.NamedAreaLevel"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.location.NamedAreaType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.location.ReferenceSystem"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.location.Point"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.location.Country"/>\r
-      <!-- Media Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.media.AudioFile"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.media.ImageFile"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.media.Media"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.media.MediaRepresentation"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.media.MediaRepresentationPart"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.media.MovieFile"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.media.Rights"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.media.RightsType"/>\r
-      <!-- Meta Data Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.metadata.CdmMetaData"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.metadata.CdmPreference"/>\r
-      <!-- Molecular Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.PhylogeneticTree"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.DnaQuality"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.DnaSample"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.Amplification"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.AmplificationResult"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.Primer"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.Sequence"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.SequenceString"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.SingleRead"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.SingleReadAlignment"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.molecular.Cloning"/>\r
-      <!-- Name Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.name.BacterialName"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.BotanicalName"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.CultivarPlantName"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.HomotypicalGroup"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.HybridRelationship"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.HybridRelationshipType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.NameRelationship"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.NameRelationshipType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.NameTypeDesignation"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalCode"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalStatus"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalStatusType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.NonViralName"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.Rank"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.TaxonNameBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.TypeDesignationBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.ViralName"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.name.ZoologicalName"/>\r
-      <!-- Occurrence Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.Collection"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivationEvent"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivationEventType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivedUnit"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.MaterialOrMethodEvent"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.MediaSpecimen"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.DeterminationEvent"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.FieldUnit"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.GatheringEvent"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.PreservationMethod"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase"/>\r
-      <!-- Reference Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.reference.Reference"/>\r
-\r
-      <!-- Taxon Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.Synonym"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.SynonymType"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.Taxon"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonBase"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonNode"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonNodeAgentRelation"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.Classification"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonRelationship"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType"/>\r
-      \r
-      <!-- Validation Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.validation.EntityValidation"/>\r
-      <mapping class="eu.etaxonomy.cdm.model.validation.EntityConstraintViolation"/>\r
-      \r
-      <!-- View Package -->\r
-      <mapping class="eu.etaxonomy.cdm.model.view.AuditEvent"/>\r
-      \r
-\r
-\r
-    </session-factory>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-configuration PUBLIC
+ "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+    <session-factory>
+
+      <property name="connection.release_mode">after_transaction</property>
+
+      <property name="hibernate.implicit_naming_strategy">org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl</property>
+      <!-- NOTE: if integrated in spring this is handled there (see persistence.xml) -->
+      <!-- Connection Pooling -->
+<!--       <property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property> -->
+<!--       <property name="hibernate.connection.provider_class">org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl</property> -->
+         <property name="hibernate.connection.provider_class">eu.etaxonomy.taxeditor.remoting.cache.CdmModelCacherConnectionProvider</property>
+          
+           <!--
+          Configuring the C3P0ConnectionProvider
+          ========================================
+          see http://www.mchange.com/projects/c3p0/index.html#hibernate-specific
+          and also org.springframework.orm.hibernate3.AbstractSessionFactoryBean.setDataSource(DataSource dataSource)
+
+          IMPORTANT:
+          Because of the constraint (1) the org.hibernate.connection.C3P0ConnectionProvider are not be used
+          for the Cdm Library because it requires the dataSource bean in some cases.
+
+          (1)
+          Do NOT specify the dataSource in the sessionFactory for example in the
+          org.springframework.orm.hibernate3.LocalSessionFactoryBean
+          !!!==> If *dataSource* is set, this will override corresponding settings in Hibernate properties.!!!
+                         If this is set, the Hibernate settings should not define a connection provider to
+                     avoid meaningless double configuration.
+          (2)
+          Hibernate uses the hibernate.c3p0.max_size property to determine if c3p0
+          is beeing used.  Therefore the max_size property MUST be set. - maybe not need in hibernate 3.4 +
+
+          (3) If you are using Hibernate's C3P0ConnectionProvider you must set the following properties
+          in your hibernate configuration, using hibernate-specific configuration keys.
+          All other properties must be defined as usual in a c3p0.properties file.
+          This is confusing, and will hopefully be simplified some time in the future, but for now...
+          
+          DOCUMENTATION UPDATE (2015-05-22):
+          Hibernate's C3P0ConnectionProvider renames 7 c3p0 configuration properties, which, 
+          if set in your hibernate configuration, will override any configuration you may have set 
+          in a c3p0.properties file.
+          TODO: are points (2) and (3) still valid? I don't think so! (AK)
+
+            hibernate.c3p0.acquire_increment
+                       hibernate.c3p0.idle_test_period
+                       hibernate.c3p0.timeout
+                       hibernate.c3p0.max_size
+                       hibernate.c3p0.max_statements
+                       hibernate.c3p0.min_size
+                       hibernate.c3p0.validate
+      -->
+      <mapping package="eu.etaxonomy.cdm.model.common"/>
+      <!-- Annotation Package -->
+      <mapping class="eu.etaxonomy.cdm.model.agent.Address"/>
+      <mapping class="eu.etaxonomy.cdm.model.agent.AgentBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.agent.Contact"/>
+      <mapping class="eu.etaxonomy.cdm.model.agent.Institution"/>
+      <mapping class="eu.etaxonomy.cdm.model.agent.InstitutionalMembership"/>
+      <mapping class="eu.etaxonomy.cdm.model.agent.Person"/>
+      <mapping class="eu.etaxonomy.cdm.model.agent.Team"/>
+      <mapping class="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase"/>
+      <!-- Common Package -->
+      <mapping class="eu.etaxonomy.cdm.model.common.Annotation"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.AnnotationType"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.Credit"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.DefinedTerm"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.DefinedTermBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.Extension"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.ExtensionType"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.IdentifiableSource"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.Identifier"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.IntextReference"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.Group"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.Language"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.LanguageString"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.LSID"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.LSIDAuthority"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.Marker"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.MarkerType"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.OrderedTerm"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.OrderedTermBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.OrderedTermVocabulary"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.OriginalSourceBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.RelationshipTermBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.Representation"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.TermVocabulary"/>
+      <mapping class="eu.etaxonomy.cdm.model.common.User"/>
+      <!-- Description Package -->
+      <mapping class="eu.etaxonomy.cdm.model.description.CategoricalData"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.CommonTaxonName"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.DescriptionBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.DescriptionElementBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.DescriptionElementSource"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.Distribution"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.Feature"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.FeatureNode"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.FeatureTree"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.KeyStatement"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.MediaKey"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.IndividualsAssociation"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.MeasurementUnit"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.MultiAccessKey"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.PolytomousKey"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.PolytomousKeyNode"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.QuantitativeData"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.SpecimenDescription"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.State"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.StateData"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.StatisticalMeasure"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.TaxonDescription"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.TaxonInteraction"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.TaxonNameDescription"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.TextData"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.TextFormat"/>
+      <mapping class="eu.etaxonomy.cdm.model.description.WorkingSet"/>
+      <!-- Location Package -->
+      <mapping class="eu.etaxonomy.cdm.model.location.NamedArea"/>
+      <mapping class="eu.etaxonomy.cdm.model.location.NamedAreaLevel"/>
+      <mapping class="eu.etaxonomy.cdm.model.location.NamedAreaType"/>
+      <mapping class="eu.etaxonomy.cdm.model.location.ReferenceSystem"/>
+      <mapping class="eu.etaxonomy.cdm.model.location.Point"/>
+      <mapping class="eu.etaxonomy.cdm.model.location.Country"/>
+      <!-- Media Package -->
+      <mapping class="eu.etaxonomy.cdm.model.media.AudioFile"/>
+      <mapping class="eu.etaxonomy.cdm.model.media.ImageFile"/>
+      <mapping class="eu.etaxonomy.cdm.model.media.Media"/>
+      <mapping class="eu.etaxonomy.cdm.model.media.MediaRepresentation"/>
+      <mapping class="eu.etaxonomy.cdm.model.media.MediaRepresentationPart"/>
+      <mapping class="eu.etaxonomy.cdm.model.media.MovieFile"/>
+      <mapping class="eu.etaxonomy.cdm.model.media.Rights"/>
+      <mapping class="eu.etaxonomy.cdm.model.media.RightsType"/>
+      <!-- Meta Data Package -->
+      <mapping class="eu.etaxonomy.cdm.model.metadata.CdmMetaData"/>
+      <mapping class="eu.etaxonomy.cdm.model.metadata.CdmPreference"/>
+      <!-- Molecular Package -->
+      <mapping class="eu.etaxonomy.cdm.model.molecular.PhylogeneticTree"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.DnaQuality"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.DnaSample"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.Amplification"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.AmplificationResult"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.Primer"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.Sequence"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.SequenceString"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.SingleRead"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.SingleReadAlignment"/>
+      <mapping class="eu.etaxonomy.cdm.model.molecular.Cloning"/>
+      <!-- Name Package -->
+      <mapping class="eu.etaxonomy.cdm.model.name.BacterialName"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.BotanicalName"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.CultivarPlantName"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.HomotypicalGroup"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.HybridRelationship"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.HybridRelationshipType"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.NameRelationship"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.NameRelationshipType"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.NameTypeDesignation"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalCode"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalStatus"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalStatusType"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.NonViralName"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.Rank"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.TaxonNameBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.TypeDesignationBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.ViralName"/>
+      <mapping class="eu.etaxonomy.cdm.model.name.ZoologicalName"/>
+      <!-- Occurrence Package -->
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.Collection"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivationEvent"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivationEventType"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivedUnit"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.MaterialOrMethodEvent"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.MediaSpecimen"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.DeterminationEvent"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.FieldUnit"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.GatheringEvent"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.PreservationMethod"/>
+      <mapping class="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase"/>
+      <!-- Reference Package -->
+      <mapping class="eu.etaxonomy.cdm.model.reference.Reference"/>
+
+      <!-- Taxon Package -->
+      <mapping class="eu.etaxonomy.cdm.model.taxon.Synonym"/>
+      <mapping class="eu.etaxonomy.cdm.model.taxon.SynonymType"/>
+      <mapping class="eu.etaxonomy.cdm.model.taxon.Taxon"/>
+      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonBase"/>
+      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonNode"/>
+      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonNodeAgentRelation"/>
+      <mapping class="eu.etaxonomy.cdm.model.taxon.Classification"/>
+      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonRelationship"/>
+      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType"/>
+      
+      <!-- Validation Package -->
+      <mapping class="eu.etaxonomy.cdm.model.validation.EntityValidation"/>
+      <mapping class="eu.etaxonomy.cdm.model.validation.EntityConstraintViolation"/>
+      
+      <!-- View Package -->
+      <mapping class="eu.etaxonomy.cdm.model.view.AuditEvent"/>
+      
+      <!-- for filling caches -->
+      <!-- since hibernate 4 listeners are not handled via hibernate.cfg.xml anymore -->
+      <!--  http://stackoverflow.com/questions/8616146/eventlisteners-using-hibernate-4-0-with-spring-3-1-0-release
+            https://community.jboss.org/wiki/HibernateCoreMigrationGuide40 -->
+
+    </session-factory>
 </hibernate-configuration>
\ No newline at end of file
index 604b197..7dc046a 100644 (file)
   <bean id="cdmApplicationRemoteConfiguration" \r
     class="eu.etaxonomy.cdm.api.application.CdmApplicationRemoteConfiguration" />\r
 \r
-  \r
   <bean id="cdmServiceRequestExecutor" \r
     class="eu.etaxonomy.taxeditor.service.CdmServiceRequestExecutor" />\r
     \r
   <bean id="cachedCommonService" \r
-    class="eu.etaxonomy.taxeditor.service.CachedCommonServiceImpl" />\r
-    \r
+    class="eu.etaxonomy.taxeditor.service.CachedCommonServiceImpl" />    \r
   \r
   <bean id="defaultExport"\r
     class="eu.etaxonomy.cdm.io.common.CdmApplicationAwareDefaultExport" />\r
index 13a030a..a8f5931 100644 (file)
@@ -1,6 +1,6 @@
 <?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.7"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
        <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"/>
index fe6879c..ecfae0e 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Editor Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.editor;singleton:=true
-Bundle-Version: 4.5.1
+Bundle-Version: 4.6.0
 Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: OSGI-INF/l10n/plugin
diff --git a/eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/messages.properties b/eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/messages.properties
deleted file mode 100644 (file)
index 3519191..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-CreateDerivateContextMenu_ADD=Add...
-CreateDerivateContextMenu_DNA_SAMPLE=DNA Sample
-CreateDerivateContextMenu_MEDIA=Media...
-CreateDerivateContextMenu_MEDIA_EXISTING=Use existing media item
-CreateDerivateContextMenu_MEDIA_SPECIMEN=Media item
-CreateDerivateContextMenu_NO_CHILD_DERIVATE=No child derivatives
-CreateDerivateContextMenu_SEQUENCE=Consensus Sequence
-CreateDerivateContextMenu_SINGLE_READ=Single Read
-CreateDerivateContextMenu_SPECIMEN=Specimen
-CreateDerivateContextMenu_TISSUE_SAMPLE=Tissue Sample
-
-CreateFieldUnitContextMenu_CREATE_FIELD_UNIT=Create new field unit
-CreateFieldUnitContextMenu_CREATE_FIELD_UNIT_FOR=Create new field unit for %s
-
-SingleReadSequenceContextMenu_REMOVE_FROM_SEQUENCE=Remove from this Sequence
-SingleReadSequenceContextMenu_REUSE_FOR_SEQUENCE=Reuse for other Sequence
-SingleReadSequenceContextMenu_REUSE_SINGLE_READ_HERE=Reuse SingleRead here
-
-DerivateView_DERIVATIVE_EDITOR=Specimen Editor
-DerivateView_SAVING_HIERARCHY=Saving hierarchy
-DerivateView_UNSAVED_CHANGES=View has unsaved changes
-DerivateView_YOU_NEED_TO_SAVE=You need to save before performing this action
-
-DeleteDerivateOperation_AND_CHILDREN= and its children
-DeleteDerivateOperation_CONFIRM=Confirm Deletion
-DeleteDerivateOperation_DELETE_FAILED=Deletion failed
-DeleteDerivateOperation_REALLY_DELETE=Do you really want to delete the selected element
-
-DerivateDropListener_MOVE_TO=Moving "%s" to "%s"
-
-DerivateViewEditorInput_FAIL_INIT=Failed initializing editor
-DerivateViewEditorInput_NO_ROOT=No root element found\!
-
-MoveDerivateOperation_MOVE_NOT_POSSIBLE=Moving derivatives not possible\!
-MoveDerivateOperation_MOVE_TO_NOT_POSSIBLE=Moving "%s" to "%s" is not possible\!
-
-OpenDerivateEditorForTaxonHandler_COULD_NOT_OPEN_EDITOR=Could not open Specimen Editor
-OpenDerivateEditorForTaxonHandler_FAILED_TO_OPEN=Failed to open Editor
-OpenDerivateEditorForTaxonHandler_HIERARCHY_CORRUPTED=The derivative hierarchy is corrupted\!
-OpenDerivateEditorForTaxonHandler_NO_DERIVATIVES_FOUND=No Derivatives found
-
-DeleteTaxonBaseHandler_CONFIRM_DELETION=Confirm Deletion
-DeleteTaxonBaseHandler_ELEMENT_MUST_BE_SYNONYM_MISAPP_CONCEPT=Element has to be Synonym, Misapplication or Concept
-DeleteTaxonBaseHandler_REALLY_DELETE_TAXON=Are you sure you want to delete the selected taxon?
-DeleteTaxonBaseHandler_REALLY_DELETE_SYNONYM=Are you sure you want to delete the selected synoym, this is irreversible?
-DeleteTaxonBaseHandler_DELETE_SYNONYM_SUCCESSFULL_BUT_REMAINING_RELATED_OBJECTS=The Synonym could be deleted, but related object(s) could not be deleted
-DeleteTaxonBaseHandler_DELETE_MISAPPLIEDNAME_SUCCESSFULL_BUT_REMAINING_RELATED_OBJECTS=The misapplied name could be deleted, but related object(s) could not be deleted
-
-DescriptiveViewPart_COLLAPSE_ALL=Collapse All
-DescriptiveViewPart_EXPAND_ALL=Expand All
-DescriptiveViewPart_FACTUAL_DATA=Factual Data
-DescriptiveViewPart_SHOW_ALL_DATA=Show all factual data
-
-ConceptGraphView_VIEWER_NAME=Concept Graph
-ConceptViewPart_VIEWER_NAME=Concept Relations
-UsesViewPart_VIEWER_NAME=Uses
diff --git a/eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/messages_de.properties b/eu.etaxonomy.taxeditor.editor/OSGI-INF/l10n/messages_de.properties
deleted file mode 100644 (file)
index dd77383..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-CreateDerivateContextMenu_ADD=Hinzufügen...
-CreateDerivateContextMenu_DNA_SAMPLE=DNA Probe
-CreateDerivateContextMenu_MEDIA=Media...
-CreateDerivateContextMenu_MEDIA_EXISTING=Vorhandendes Medienobjekt verwenden
-CreateDerivateContextMenu_MEDIA_SPECIMEN=Medienobjekt
-CreateDerivateContextMenu_NO_CHILD_DERIVATE=Keine Kind-Derivate
-CreateDerivateContextMenu_SEQUENCE=Konsensussequenz
-CreateDerivateContextMenu_SINGLE_READ=Single Read
-CreateDerivateContextMenu_SPECIMEN=Beleg
-CreateDerivateContextMenu_TISSUE_SAMPLE=Gewebeprobe
-
-CreateFieldUnitContextMenu_CREATE_FIELD_UNIT=Erzeuge neue Field Unit
-CreateFieldUnitContextMenu_CREATE_FIELD_UNIT_FOR=Erzeuge neue Field Unit für %s
-
-SingleReadSequenceContextMenu_REMOVE_FROM_SEQUENCE=Von Sequenz entfernen
-SingleReadSequenceContextMenu_REUSE_FOR_SEQUENCE=Für andere Sequenz verwenden
-SingleReadSequenceContextMenu_REUSE_SINGLE_READ_HERE=SingleRead hier verwenden
-
-DerivateView_DERIVATIVE_EDITOR=Specimen-Editor
-DerivateView_SAVING_HIERARCHY=Speichere Hierarchie
-DerivateView_UNSAVED_CHANGES=Ungepeicherte Änderungen
-DerivateView_YOU_NEED_TO_SAVE=Sie müssen speichern, um diese Aktion auszuführen
-
-DeleteDerivateOperation_CONFIRM=Löschen bestätigen
-DeleteDerivateOperation_DELETE_FAILED=Löschen fehlgeschlagen
-DeleteDerivateOperation_REALLY_DELETE=Wollen Sie wirklich das ausgewählte Element löschen
-DeleteDerivateOperation_AND_CHILDREN= (mit Kind-Elementen)
-
-DerivateDropListener_MOVE_TO=Verschiebe "%s" nach "%s"
-
-DerivateViewEditorInput_FAIL_INIT=Initialisierung des Editor fehlgeschlagen
-DerivateViewEditorInput_NO_ROOT=Kein Root-Element gefunden\!
-
-MoveDerivateOperation_MOVE_NOT_POSSIBLE=Verschieben von Derivaten nicht möglich\!
-MoveDerivateOperation_MOVE_TO_NOT_POSSIBLE=Verschieben von "%s" nach "%s" nicht möglich\!
-
-OpenDerivateEditorForTaxonHandler_COULD_NOT_OPEN_EDITOR=Konnte Specimen-Editor nicht öffnen
-OpenDerivateEditorForTaxonHandler_FAILED_TO_OPEN=Öffnen des Editors fehlgeschlagen
-OpenDerivateEditorForTaxonHandler_HIERARCHY_CORRUPTED=Die Derivathierarchie ist korrumpiert\!
-OpenDerivateEditorForTaxonHandler_NO_DERIVATIVES_FOUND=Keine Derivate gefunden
-
-DeleteTaxonBaseHandler_CONFIRM_DELETION=Löschen bestätigen
-DeleteTaxonBaseHandler_ELEMENT_MUST_BE_SYNONYM_MISAPP_CONCEPT=Element muss Synonym, Misapplikation oder Konzept sein
-DeleteTaxonBaseHandler_REALLY_DELETE_TAXON=Wollen Sie wirklich das ausgewählte Taxon löschen?
-DeleteTaxonBaseHandler_REALLY_DELETE_SYNONYM=Wollen Sie das ausgewählte Synonym wirklich löschen, dieser Vorgang ist nicht reversibel.
-DeleteTaxonBaseHandler_DELETE_SYNONYM_SUCCESSFULL_BUT_REMAINING_RELATED_OBJECTS=Das Synonym konnte gelöscht werden, aber es gibt noch verknüpfte Objekte, die nicht gelöscht werden konnten.
-DeleteTaxonBaseHandler_DELETE_MISAPPLIEDNAME_SUCCESSFULL_BUT_REMAINING_RELATED_OBJECTS=Die Misapplikation konnte gelöscht werden, aber es gibt noch verknüpfte Objekte, die nicht gelöscht werden konnten.
-
-
-DescriptiveViewPart_COLLAPSE_ALL=Alles einklappen
-DescriptiveViewPart_EXPAND_ALL=Alles ausklappen
-DescriptiveViewPart_FACTUAL_DATA=Faktendaten
-DescriptiveViewPart_SHOW_ALL_DATA=Zeige alle Faktendaten
-
-ConceptGraphView_VIEWER_NAME=Konzeptgraph
-ConceptViewPart_VIEWER_NAME=Konzeptrelationen
-UsesViewPart_VIEWER_NAME=Nutzung
index 55681cf..cbecb3f 100644 (file)
@@ -171,7 +171,7 @@ command.name.50 = delete
 command.name.51 = delete
 \r
 editor.name.DERIVATIVE_EDITOR = Specimen Editor\r
-command.label.DERIVATIVE_EDITOR = Specimen Editor\r
+command.label.DERIVATIVE_EDITOR = Specimen Editor (hierarchy)\r
 command.label.LINK_WITH_TAXON_SELECTION = Link with taxon selection\r
 command.label.UNLINK_FROM_TAXON_SELECTION = Unlink from taxon selection\r
 command.label.REUSE_SINGLE_READ_HERE = Reuse single read here\r
@@ -188,4 +188,5 @@ command.name.TOGGLE_LINK_WITH_TAXON_SELECTION = Toggle link with taxon selection
 \r
 viewCommandMapping.viewerName.NAME_EDITOR = Name Editor\r
 viewCommandMapping.viewerName.SPECIMEN_EDITOR = Specimen Editor\r
-viewCommandMapping.viewerName.CHECKLIST_EDITOR = Distribution Editor
\ No newline at end of file
+viewCommandMapping.viewerName.CHECKLIST_EDITOR = Distribution Editor\r
+command.name.OPEN_EDITOR_FOR_TYPE_SPECIMEN = Open specimen editor for type specimen
\ No newline at end of file
index 6d1d7a8..e379ed1 100644 (file)
@@ -168,7 +168,7 @@ command.name.51 = L\u00f6schen
 command.name.57 = Setze als Basionym der homotypischen Gruppe
 
 editor.name.DERIVATIVE_EDITOR = Specimen-Editor
-command.label.DERIVATIVE_EDITOR = Specimen-Editor
+command.label.DERIVATIVE_EDITOR = Specimen-Editor (Hierarchie)
 command.label.LINK_WITH_TAXON_SELECTION = Verknüpfe mit Taxonauswahl
 command.label.UNLINK_FROM_TAXON_SELECTION = Verknüpfung mit Taxonauswahl aufheben
 command.label.REUSE_SINGLE_READ_HERE = Single-Read hier wiederverwenden
@@ -185,4 +185,5 @@ command.name.TOGGLE_LINK_WITH_TAXON_SELECTION = De-/Aktiviere Verkn
 
 viewCommandMapping.viewerName.NAME_EDITOR = Namenseditor
 viewCommandMapping.viewerName.SPECIMEN_EDITOR = Specimen-Editor
-viewCommandMapping.viewerName.CHECKLIST_EDITOR = Verbreitungs-Editor
\ No newline at end of file
+viewCommandMapping.viewerName.CHECKLIST_EDITOR = Verbreitungs-Editor
+command.name.OPEN_EDITOR_FOR_TYPE_SPECIMEN = Öffne Specimen-Editor für Typusbelege
\ No newline at end of file
index 24738e1..4c50378 100644 (file)
@@ -5,4 +5,6 @@ bin.includes = META-INF/,\
                plugin.xml,\
                icons/,\
                p2.inf,\
-               OSGI-INF/
+               OSGI-INF/,\
+               src/main/java/eu/etaxonomy/taxeditor/editor/l10n/
+bin.excludes = src/main/java/eu/etaxonomy/taxeditor/editor/l10n/Messages.java
index 0a893e8..838b951 100644 (file)
                </and>
             </visibleWhen>
          </command>
-         <separator
-               name="eu.etaxonomy.taxeditor.store.separator_derivative_start"
-               visible="true">
-         </separator>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditorFromMenu"
-               label="%command.label.DERIVATIVE_EDITOR"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <reference
-                     definitionId="isCdmStoreConnected">
-               </reference>
-            </visibleWhen>
-         </command>
-         <separator
-               name="eu.etaxonomy.taxeditor.editor.separator1"
-               visible="true">
-         </separator>
       </menuContribution>
       <menuContribution
             locationURI="menu:eu.etaxonomy.taxeditor.menu.showView?before=eu.etaxonomy.taxeditor.store.showViewMenu.internal">
                   id="eu.etaxonomy.taxeditor.editor.view.concept.menus.new">
             </dynamic>
          </menu>
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.open"
-               label="%command.label.43"
-               style="push">
-         </command>
+         <dynamic
+               class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu"
+               id="eu.etaxonomy.taxeditor.view.context.CdmViewerContextMenu">
+         </dynamic>
          <separator
                name="eu.etaxonomy.taxeditor.editor.view.concept.menu.separator1"
                visible="true">
             </command>
          </toolbar>
       </menuContribution>
+      <menuContribution
+            locationURI="menu:bulkeditor.menus.openmenu">
+         <command
+               commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditorFromMenu"
+               label="%command.label.DERIVATIVE_EDITOR"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <reference
+                     definitionId="isCdmStoreConnected">
+               </reference>
+            </visibleWhen>
+         </command>
+      </menuContribution>
    </extension>
    <extension
          point="org.eclipse.ui.handlers">
          </activeWhen>
       </handler>
       <handler
+            class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivativeEditorForSpecimenOrOBservationBase"
+          &nbs