From: l.morris Date: Mon, 16 Jan 2012 12:14:15 +0000 (+0000) Subject: Committing changes to definedtermeditor after merge from branch X-Git-Tag: 3.6.0~1131 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/b9a0d3009c2413dc3114f643f0f27311ce1123e3 Committing changes to definedtermeditor after merge from branch --- diff --git a/.gitattributes b/.gitattributes index cae0e78b9..c5a8995a2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -847,6 +847,29 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/wiz eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceSQLServerWizardPage.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceTypeSelectionWizardPage.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceWizard.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDragListener.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDropAdapter.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermEditor.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermBasePropertyTester.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermContentProvider.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermTransfer.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/CreateDefinedTermHandler.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/CreateTermVocabularyHandler.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/DeleteTermBaseHandler.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/OpenDefinedTermEditorHandler.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/OpenDefinedTermMenu.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/AbstractDefinedTermEditorInput.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/DefinedTermEditorInputFactory.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/ExtensionTypeEditorInput.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/FeatureEditorInput.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/MarkerTypeEditorInput.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaEditorInput.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaLevelEditorInput.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateDefinedTermOperation.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateTermVocabularyOperation.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/MoveDefinedTermOperation.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/AvailableFeaturesWizard.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/AvailableFeaturesWizardPage.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/EditFeatureTreeWizardPage.java -text @@ -990,6 +1013,9 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermMana eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/internal/TaxeditorStorePlugin.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/bar/AuthenticatedUserBar.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EmptyComboElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialogs/LoginDialog.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialogs/UriDialog.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialogs/filteredSelection/AbstractFilteredCdmResourceSelectionDialog.java -text @@ -1224,6 +1250,14 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/use eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/user/UserDetailWizardPage.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/AbstractTermBaseDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AbstractSelectionElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/AgentSelectionElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/ClassificationSelectionElement.java -text @@ -1248,34 +1282,6 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/T eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TaxonSelectionElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/TeamSelectionElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/UserSelectionElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractEnumComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractTermComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AnnotationTypeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/DeterminationModifierComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/EmptyComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ExtensionTypeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/LanguageComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MarkerTypeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MeasurementUnitComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ModifierComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameRelationshipTypeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameTypeDesignationStatusComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NamedAreaTypeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalCodeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalStatusTypeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PresenceAbsenceTermComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PreservationMethodComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RankComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceSystemComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceTypeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RightsTypeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ScopeComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SexComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SpecimenTypeDesignationStatusComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StageComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StateComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StatisticalMeasureComboElement.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/TaxonRelationshipTypeComboElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/GoogleLanguageApiWrapper.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/ITranslationServiceWrapper.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/LanguageNotSupportedException.java -text diff --git a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java index 982c8fd98..105f62e2d 100644 --- a/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java +++ b/eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java @@ -26,7 +26,7 @@ public class ApplicationUtil extends AbstractUtility { * * @return a {@link java.lang.String} object. */ - protected static String getPluginId(){ + public static String getPluginId(){ return TaxonomicEditorPlugin.PLUGIN_ID; } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorUtil.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorUtil.java index e6bc27539..77e70cad0 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorUtil.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorUtil.java @@ -73,7 +73,7 @@ public class BulkEditorUtil extends AbstractUtility{ * * @return a {@link java.lang.String} object. */ - protected static String getPluginId(){ + public static String getPluginId(){ return TaxeditorBulkeditorPlugin.PLUGIN_ID; } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java index 117f32e43..d244ab961 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java @@ -49,7 +49,7 @@ public class DynamicMarkerTypeEditingMenu extends CompoundContributionItem { return new IContributionItem[] { new ContributionItem() { public void fill(Menu menu, int index){ - for(MarkerType markerType : CdmStore.getTermManager().getPreferredMarkerTypes()){ + for(MarkerType markerType : CdmStore.getTermManager().getPreferredTerms(MarkerType.class)){ createMenuItem(menu, markerType); } } diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java index b999d4e38..12fe3a4e3 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/NameCreator.java @@ -57,7 +57,7 @@ public class NameCreator implements IEntityCreator { */ public Map getKeyLabelPairs() { Map result = new HashMap(); - for (Rank rank : CdmStore.getTermManager().getPreferredRanks()) { + for (Rank rank : CdmStore.getTermManager().getPreferredTerms(Rank.class)) { result.put(rank, rank.getLabel()); } return result; diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/preference/BulkEditorMarkerPreferencePage.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/preference/BulkEditorMarkerPreferencePage.java index e677b4d33..b2fdb3cfb 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/preference/BulkEditorMarkerPreferencePage.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/preference/BulkEditorMarkerPreferencePage.java @@ -56,7 +56,7 @@ public class BulkEditorMarkerPreferencePage extends PreferencePage implements IW Composite container = new Composite(parent, SWT.NULL); container.setLayout(new GridLayout()); - for (final MarkerType markerType : TermStore.getNonTechnicalMarkerTypes()) { + for (final MarkerType markerType : TermStore.getTerms(MarkerType.class)) { final Button button = new Button(container, SWT.CHECK); button.setText(String.format("Edit '%s' markers", markerType.getLabel())); diff --git a/eu.etaxonomy.taxeditor.cdmlib/.classpath b/eu.etaxonomy.taxeditor.cdmlib/.classpath index a0ff574b1..6b053d545 100644 --- a/eu.etaxonomy.taxeditor.cdmlib/.classpath +++ b/eu.etaxonomy.taxeditor.cdmlib/.classpath @@ -1,119 +1,119 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java index 2fcf7ad76..f1758c821 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java @@ -306,7 +306,7 @@ public class EditorUtil extends AbstractUtility { * * @return a {@link java.lang.String} object. */ - protected static String getPluginId() { + public static String getPluginId() { return TaxeditorEditorPlugin.PLUGIN_ID; } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/AbstractDynamicConceptRelationMenu.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/AbstractDynamicConceptRelationMenu.java index 6c024a207..a651461cf 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/AbstractDynamicConceptRelationMenu.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/concept/handler/AbstractDynamicConceptRelationMenu.java @@ -34,7 +34,7 @@ public abstract class AbstractDynamicConceptRelationMenu extends ContributionIte public void fill(Menu menu, int index){ final IHandlerService handlerService = (IHandlerService) TaxeditorEditorPlugin.getDefault().getWorkbench().getService(IHandlerService.class); - for(final TaxonRelationshipTypeInverseContainer container : CdmStore.getTermManager().getRelationshipTypesWithInverses()){ + for(final TaxonRelationshipTypeInverseContainer container : CdmStore.getTermManager().getPreferredTerms(TaxonRelationshipTypeInverseContainer.class)){ MenuItem menuItem = new MenuItem(menu, -1); menuItem.setText(container.getTitleCache()); menuItem.setData(container); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java index 568c914fd..d76d6e575 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java @@ -11,6 +11,7 @@ import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; import eu.etaxonomy.cdm.model.description.DescriptionBase; +import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.FeatureTree; import eu.etaxonomy.cdm.model.description.TaxonDescription; import eu.etaxonomy.cdm.model.taxon.Taxon; @@ -112,7 +113,7 @@ public class DescriptiveContentProvider implements ITreeContentProvider { // create a transient tree with all features if none was selected if(featureTree == null){ - featureTree = FeatureTree.NewInstance(TermStore.getFeatures()); + featureTree = FeatureTree.NewInstance(TermStore.getTerms(Feature.class)); } return featureTree; diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java index b3799a0c3..9b1a7380c 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveViewPart.java @@ -42,6 +42,7 @@ import eu.etaxonomy.cdm.model.description.TaxonDescription; import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; import eu.etaxonomy.taxeditor.editor.key.AbstractGraphKeyEditor; import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; import eu.etaxonomy.taxeditor.model.FeatureNodeContainerTree; @@ -165,6 +166,11 @@ public class DescriptiveViewPart extends AbstractCdmEditorViewPart implements IP return; } + if(part instanceof DefinedTermEditor){ + showEmptyPage(); + return; + } + if(part instanceof MultiPageTaxonEditor){ if(! part.equals(this.part)){ IEditorInput input = ((IEditorPart) part).getEditorInput(); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DynamicFeatureMenu.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DynamicFeatureMenu.java index f2374a56d..f1194d785 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DynamicFeatureMenu.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/handler/DynamicFeatureMenu.java @@ -134,7 +134,7 @@ public class DynamicFeatureMenu extends CompoundContributionItem { } if(featureTree == null){ - featureTree = FeatureTree.NewInstance(CdmStore.getTermManager().getPreferredFeatures()); + featureTree = FeatureTree.NewInstance(CdmStore.getTermManager().getPreferredTerms(Feature.class)); } return featureTree; diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java index 5a76457d7..5925be91e 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java @@ -317,7 +317,7 @@ public class NavigationUtil extends AbstractUtility{ * * @return a {@link java.lang.String} object. */ - protected static String getPluginId(){ + public static String getPluginId(){ return TaxeditorNavigationPlugin.PLUGIN_ID; } diff --git a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF index 77d98881b..15bcf0edd 100644 --- a/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF @@ -9,6 +9,7 @@ Export-Package: eu.etaxonomy.cdm, eu.etaxonomy.cdm.database, eu.etaxonomy.taxeditor.datasource, eu.etaxonomy.taxeditor.datasource.wizard, + eu.etaxonomy.taxeditor.editor.definedterm, eu.etaxonomy.taxeditor.featuretree, eu.etaxonomy.taxeditor.handler, eu.etaxonomy.taxeditor.io, @@ -26,6 +27,7 @@ Export-Package: eu.etaxonomy.cdm, eu.etaxonomy.taxeditor.store.internal, eu.etaxonomy.taxeditor.store.operations, eu.etaxonomy.taxeditor.ui.bar, + eu.etaxonomy.taxeditor.ui.combo, eu.etaxonomy.taxeditor.ui.dialogs, eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection, eu.etaxonomy.taxeditor.ui.forms, @@ -40,7 +42,6 @@ Export-Package: eu.etaxonomy.cdm, eu.etaxonomy.taxeditor.ui.section.supplemental, eu.etaxonomy.taxeditor.ui.section.taxon, eu.etaxonomy.taxeditor.ui.selection, - eu.etaxonomy.taxeditor.ui.term, eu.etaxonomy.taxeditor.view, eu.etaxonomy.taxeditor.view.datasource, eu.etaxonomy.taxeditor.view.datasource.handler, diff --git a/eu.etaxonomy.taxeditor.store/plugin.xml b/eu.etaxonomy.taxeditor.store/plugin.xml index dbcc37fbf..33e09770c 100644 --- a/eu.etaxonomy.taxeditor.store/plugin.xml +++ b/eu.etaxonomy.taxeditor.store/plugin.xml @@ -221,6 +221,15 @@ restorable="true"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -359,10 +425,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -794,6 +939,15 @@ + + + + + + diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDragListener.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDragListener.java new file mode 100644 index 000000000..42ead9391 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDragListener.java @@ -0,0 +1,77 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.Viewer; +import org.eclipse.swt.dnd.DragSourceAdapter; +import org.eclipse.swt.dnd.DragSourceEvent; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; + +/** + * @author l.morris + * @date 10 Jan 2012 + * + */ +public class DefinedTermDragListener extends DragSourceAdapter { + + private Viewer viewer; + + /** + * + */ + public DefinedTermDragListener(Viewer viewer) { + this.viewer = viewer; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.DragSourceAdapter#dragStart(org.eclipse.swt.dnd.DragSourceEvent) + */ + @Override + public void dragStart(DragSourceEvent event) { + + event.doit = true;// set to false if needed - default is true + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.DragSourceAdapter#dragFinished(org.eclipse.swt.dnd.DragSourceEvent) + */ + @Override + public void dragFinished(DragSourceEvent event) { + // TODO Auto-generated method stub + super.dragFinished(event); + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.DragSourceAdapter#dragSetData(org.eclipse.swt.dnd.DragSourceEvent) + */ + @Override + public void dragSetData(DragSourceEvent event) { + + IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); + List definedTerms = new ArrayList(); + + for (Object object : selection.toList()){ + definedTerms.add((DefinedTermBase)object); + } + + if (TermTransfer.getInstance().isSupportedType( + event.dataType)) { + event.data = definedTerms.toArray(new DefinedTermBase[definedTerms.size()]); + } + } + + + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDropAdapter.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDropAdapter.java new file mode 100644 index 000000000..874441015 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDropAdapter.java @@ -0,0 +1,77 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.jface.viewers.ViewerDropAdapter; +import org.eclipse.swt.dnd.TransferData; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.taxeditor.editor.definedterm.operation.MoveDefinedTermOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.store.StoreUtil; + +/** + * @author l.morris + * @date 10 Jan 2012 + * + */ +public class DefinedTermDropAdapter extends ViewerDropAdapter { + + private DefinedTermEditor editor; + /** + * @param viewer + */ + protected DefinedTermDropAdapter(DefinedTermEditor editor) { + super(editor.getViewer()); + this.editor = editor; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ViewerDropAdapter#performDrop(java.lang.Object) + */ + @Override + public boolean performDrop(Object data) { + + TermBase target = (TermBase) getCurrentTarget();//can be vocab + //DefinedTermBase[] droppedElements = (DefinedTermBase[]) data; + Object[] droppedTerms = (Object[]) data; + Collection sourceTerms = new ArrayList(); //Arrays.asList(droppedElements) + + for (Object droppedTerm : droppedTerms) { + + DefinedTermBase term = (DefinedTermBase) droppedTerm; + sourceTerms.add(term); + + } + + AbstractPostOperation operation = new MoveDefinedTermOperation("Move Descriptions", StoreUtil.getUndoContext(), target, sourceTerms, editor); + //TODO: implement execute + StoreUtil.executeOperation(operation); + + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData) + */ + @Override + public boolean validateDrop(Object target, int operation, + TransferData transferType) { + boolean transferDataIsSupported = TermTransfer.getInstance().isSupportedType(transferType); + System.out.println(target); + // maybe don't need this - they will be all TermBase anyway + return target instanceof TermBase && transferDataIsSupported; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermEditor.java new file mode 100644 index 000000000..6ff74b9fa --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermEditor.java @@ -0,0 +1,270 @@ +// $Id$ +/** + * Copyright (C) 2009 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.editor.definedterm; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.action.GroupMarker; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.jface.viewers.ViewerSorter; +import org.eclipse.swt.SWT; +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.Transfer; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.ISelectionListener; +import org.eclipse.ui.ISelectionService; +import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.part.EditorPart; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.api.service.IVocabularyService; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; +import eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput; +import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider; +import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; +import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; + +/** + * @author l.morris + * @date 3 Jan 2012 + * + */ +public class DefinedTermEditor extends EditorPart implements IConversationEnabled, ISelectionListener, IDirtyMarkableSelectionProvider, IPostOperationEnabled { + + public static final String ID = "eu.etaxonomy.taxeditor.editor.definedTerm"; + + public static final String OPEN_COMMAND_ID = "eu.etaxonomy.taxeditor.store.openDefinedTermEditor"; + + protected TreeViewer viewer; + protected ConversationHolder conversation; + private ISelectionService selectionService; + private boolean dirty; + Set> inMemoryVocabularies = new HashSet>(); + + private int dndOperations = DND.DROP_COPY | DND.DROP_MOVE; + /** + * + */ + public DefinedTermEditor() { + super(); + conversation = CdmStore.createConversation(); + } + + @Override + public void createPartControl(Composite parent) { + + // parent.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE)); + + FillLayout layout = new FillLayout(); + layout.marginHeight = 0; + layout.marginWidth = 0; + layout.type = SWT.VERTICAL; + + parent.setLayout(layout); + viewer = new TreeViewer(parent); + viewer.getControl().setLayoutData(CdmFormFactory.FILL()); + viewer.setContentProvider(new TermContentProvider()); + viewer.setLabelProvider(new TermLabelProvider()); + viewer.setSorter(new ViewerSorter()); + + Transfer[] transfers = new Transfer[] { TermTransfer.getInstance() }; + viewer.addDragSupport(dndOperations, transfers, new DefinedTermDragListener(viewer)); + viewer.addDropSupport(dndOperations, transfers, new DefinedTermDropAdapter(this)); + + + initialiseVocabularies(); + viewer.setInput(inMemoryVocabularies); + + getSite().setSelectionProvider(viewer); + + selectionService = getSite().getWorkbenchWindow().getSelectionService(); + selectionService.addSelectionListener(this); + + setPartName(getEditorInput().getName()); + createMenu(); + } + + + protected void initialiseVocabularies() { + inMemoryVocabularies.clear(); + //List vocabularies = CdmStore.getService(IVocabularyService.class).list(null, null, null, null, null); + +// for (TermVocabulary vocabulary : vocabularies){ +// if(vocabulary.getTerms().isEmpty()){ +// inMemoryVocabularies.add(vocabulary); +// } +// } + + + List> termVocabularies = CdmStore.getService(IVocabularyService.class).listByTermClass(getDefinedTermEditorInput().getTermClass(), true, true, null, null, null, null); + + + inMemoryVocabularies.addAll(termVocabularies); + } + + /** + * + */ + public AbstractDefinedTermEditorInput getDefinedTermEditorInput() { + return (AbstractDefinedTermEditorInput) getEditorInput(); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#postOperation(eu.etaxonomy.cdm.model.common.CdmBase) + */ + @Override + public boolean postOperation(CdmBase objectAffectedByOperation) { + + if(objectAffectedByOperation instanceof DefinedTermBase){ + viewer.refresh(); + } else if (objectAffectedByOperation instanceof TermVocabulary){ +// if (inMemoryVocabularies.contains(objectAffectedByOperation)){ +// inMemoryVocabularies.remove((TermVocabulary) objectAffectedByOperation); +// }else{ +// inMemoryVocabularies.add((TermVocabulary) objectAffectedByOperation); +// DetailsViewPart view = (DetailsViewPart) StoreUtil.getView(DetailsViewPart.ID, true); +// view.setFocus(); +// } + +// viewer.setInput(inMemoryVocabularies); + viewer.refresh(); + + } + + + + if(objectAffectedByOperation != null){ + viewer.setSelection(new StructuredSelection(objectAffectedByOperation)); + } + setDirty(true); + + return true; + } + + private void createMenu() { + // register context menu + MenuManager menuManager = new MenuManager(); + menuManager + .add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); + getSite().registerContextMenu(ID, menuManager, viewer); + + Control control = viewer.getControl(); + Menu menu = menuManager.createContextMenu(control); + control.setMenu(menu); + } + + + + + @Override + public void doSave(IProgressMonitor monitor) { + getConversationHolder().commit(); + setDirty(false); + initialiseVocabularies(); + } + + + @Override + public void doSaveAs() {} + + @Override + public void init(IEditorSite site, IEditorInput input) throws PartInitException { + setSite(site); + setInput(input); + + } + + @Override + public boolean isDirty() { + return dirty; + } + + @Override + public boolean isSaveAsAllowed() { + return false; + } + + @Override + public void setFocus() { + getConversationHolder().bind(); + } + + @Override + public void update(CdmDataChangeMap changeEvents) { + // TODO Auto-generated method stub + + } + + @Override + public ConversationHolder getConversationHolder() { + return conversation; + } + + @Override + public void selectionChanged(IWorkbenchPart part, ISelection selection) { + // TODO Auto-generated method stub + + } + + @Override + public void changed(Object element) { + dirty = true; + setDirty(true); + viewer.update(element, null); + } + + /** + * @param dirty the dirty to set + */ + public void setDirty(boolean dirty) { + this.dirty = dirty; + firePropertyChange(PROP_DIRTY); + } + + @Override + public boolean onComplete() { + // TODO Auto-generated method stub + return false; + } + + /** + * + */ + public TreeViewer getViewer() { + return viewer; + } + + /** + * @return + * + */ + public Set> getInMemoryVocabularies() { + return inMemoryVocabularies; + } + +} \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermBasePropertyTester.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermBasePropertyTester.java new file mode 100644 index 000000000..6c9e0f483 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermBasePropertyTester.java @@ -0,0 +1,84 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm; + +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.core.expressions.PropertyTester; +import org.eclipse.jface.viewers.IStructuredSelection; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.Marker; +import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.AbstractTermBaseDetailElement; + +/** + * @author l.morris + * @date 9 Jan 2012 + * + */ +public class TermBasePropertyTester extends PropertyTester { + + private static final String IS_MODIFIABLE = "isModifiable"; + + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + */ + @Override + public boolean test(Object receiver, String property, Object[] args, + Object expectedValue) { + + IStructuredSelection selection = (IStructuredSelection) receiver; + TermBase selectedElement = (TermBase) selection.getFirstElement(); + + if(IS_MODIFIABLE.equals(property)){ + return isModifiable(selectedElement); + } + + return false; + } + + + /** + * Checks whether there is a {@link Marker} with the type {@link MarkerType#MODIFIABLE()} and if there is then return its value. + * + * @return The markers value if it exists + */ + public static boolean isModifiable(TermBase termBase) { + if (termBase == null){ + return true; + } + + TermVocabulary vocabulary = null; + + if(termBase instanceof DefinedTermBase){ + vocabulary = ((DefinedTermBase) termBase).getVocabulary(); + }else if(termBase instanceof TermVocabulary){ + vocabulary = (TermVocabulary) termBase; + } + + if(vocabulary == null){ + return true; + } + + for(Marker vocabularyMarker : vocabulary.getMarkers()){ + if(vocabularyMarker.getMarkerType().equals(MarkerType.MODIFIABLE())){ + return vocabularyMarker.getValue(); + } + } + + return true; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermContentProvider.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermContentProvider.java new file mode 100644 index 000000000..3b6241ace --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermContentProvider.java @@ -0,0 +1,127 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm; + +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; +import java.util.SortedSet; + +import org.eclipse.jface.viewers.ITreeContentProvider; +import org.eclipse.jface.viewers.Viewer; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * @author l.morris + * @date 8 Dec 2011 + * + */ +public class TermContentProvider implements ITreeContentProvider { + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.IContentProvider#dispose() + */ + @Override + public void dispose() { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) + */ + @Override + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) + */ + @Override + public Object[] getElements(Object inputElement) { + + Collection inputElements = (Collection) inputElement; + return inputElements.toArray(); + //return null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) + */ + @Override + public Object[] getChildren(Object parentElement) { + + if(parentElement instanceof TermVocabulary){ + return getTopLevelElements((TermVocabulary) parentElement); + } else if (parentElement instanceof DefinedTermBase) { + return ((DefinedTermBase) parentElement).getIncludes().toArray(); + } + return null; + } + + /** + * + * @param vocabulary + * @return An array of DefinedTermBase objects that do not have parents + * + * TODO: Needs to be implemented in cdmlib + */ + private Object[] getTopLevelElements(TermVocabulary vocabulary) { + + SortedSet terms = vocabulary.getTermsOrderedByLabels(CdmStore.getDefaultLanguage()); + Set topLevelTerms = new HashSet(); + + for (DefinedTermBase term : terms){ + if (term.getPartOf() == null){ + topLevelTerms.add(term); + } + + } + + return topLevelTerms.toArray(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) + */ + @Override + public Object getParent(Object element) { + + if(element instanceof DefinedTermBase){ + + DefinedTermBase definedTerm = (DefinedTermBase)element; + if (definedTerm.getPartOf() == null) { + return definedTerm.getVocabulary(); + } else { + return definedTerm.getPartOf(); + } + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) + */ + @Override + public boolean hasChildren(Object element) { + + if (getChildren(element) != null){ + + return getChildren(element).length > 0; + } + return false; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java new file mode 100644 index 000000000..ea647af18 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermLabelProvider.java @@ -0,0 +1,48 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm; + +import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.viewers.StyledString; + +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.cdm.model.common.TermVocabulary; + +/** + * @author l.morris + * @date 9 Dec 2011 + * + */ +public class TermLabelProvider extends LabelProvider implements + IStyledLabelProvider { + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider#getStyledText(java.lang.Object) + */ + @Override + public StyledString getStyledText(Object element) { + + return new StyledString(getText(element), StyledString.QUALIFIER_STYLER); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object) + */ + @Override + public String getText(Object element) { + + if (element instanceof TermBase){ + return ((TermBase)element).getLabel(); + } + return super.getText(element); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermTransfer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermTransfer.java new file mode 100644 index 000000000..c8623b0e4 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/TermTransfer.java @@ -0,0 +1,60 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm; + +import java.util.UUID; + +import eu.etaxonomy.cdm.api.service.ITermService; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.taxeditor.model.CdmObjectTransfer; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * @author l.morris + * @date 10 Jan 2012 + * + */ +public class TermTransfer extends CdmObjectTransfer { + + private static TermTransfer instance = new TermTransfer(); + private static final String TYPE_NAME = "termElement-transfer-format"; + private static final int TYPEID = registerType(TYPE_NAME); + + public static synchronized TermTransfer getInstance(){ + return instance; + } + + private TermTransfer() {} + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.model.CdmObjectTransfer#loadElement(java.util.UUID) + */ + @Override + public DefinedTermBase loadElement(UUID uuid) { + return CdmStore.getService(ITermService.class).load(uuid); + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.Transfer#getTypeIds() + */ + @Override + protected int[] getTypeIds() { + return new int[] { TYPEID }; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.Transfer#getTypeNames() + */ + @Override + protected String[] getTypeNames() { + return new String[] { TYPE_NAME }; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/CreateDefinedTermHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/CreateDefinedTermHandler.java new file mode 100644 index 000000000..24a8462c5 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/CreateDefinedTermHandler.java @@ -0,0 +1,64 @@ +// $Id$ +/** + * Copyright (C) 2009 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.editor.definedterm.handler; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.IHandler; +import org.eclipse.core.commands.common.NotDefinedException; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.handlers.HandlerUtil; + +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; +import eu.etaxonomy.taxeditor.editor.definedterm.operation.CreateDefinedTermOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; +import eu.etaxonomy.taxeditor.store.StoreUtil; + +/** + * @author l.morris + * @date 21 Dec 2011 + * + */ +public class CreateDefinedTermHandler extends AbstractHandler implements IHandler { + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands. + * ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + IPostOperationEnabled editor = (IPostOperationEnabled) HandlerUtil + .getActiveEditor(event); + + IStructuredSelection selection = (IStructuredSelection) HandlerUtil + .getCurrentSelection(event); + + TermBase selectedElement = (TermBase) selection.getFirstElement(); + + try { + AbstractPostOperation operation = new CreateDefinedTermOperation( + event.getCommand().getName(), StoreUtil.getUndoContext(), + selectedElement, editor); + StoreUtil.executeOperation(operation); + + } catch (NotDefinedException e) { + StoreUtil.error(getClass(), e); + } + + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/CreateTermVocabularyHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/CreateTermVocabularyHandler.java new file mode 100644 index 000000000..3ad89be9e --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/CreateTermVocabularyHandler.java @@ -0,0 +1,60 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.handler; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.IHandler; +import org.eclipse.core.commands.common.NotDefinedException; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.handlers.HandlerUtil; + +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; +import eu.etaxonomy.taxeditor.editor.definedterm.operation.CreateDefinedTermOperation; +import eu.etaxonomy.taxeditor.editor.definedterm.operation.CreateTermVocabularyOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; +import eu.etaxonomy.taxeditor.store.StoreUtil; + +/** + * @author l.morris + * @date 21 Dec 2011 + * + */ +public class CreateTermVocabularyHandler extends AbstractHandler implements + IHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + IPostOperationEnabled editor = (IPostOperationEnabled) HandlerUtil + .getActiveEditor(event); + + if (! (editor instanceof DefinedTermEditor)){ + return null; + } + + try { + AbstractPostOperation operation = new CreateTermVocabularyOperation( + event.getCommand().getName(), StoreUtil.getUndoContext(), (DefinedTermEditor) editor); + StoreUtil.executeOperation(operation); + + } catch (NotDefinedException e) { + StoreUtil.error(getClass(), e); + } + + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/DeleteTermBaseHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/DeleteTermBaseHandler.java new file mode 100644 index 000000000..ec008ea41 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/DeleteTermBaseHandler.java @@ -0,0 +1,67 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.handler; + +import java.util.Iterator; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.common.NotDefinedException; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.handlers.HandlerUtil; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; +import eu.etaxonomy.taxeditor.editor.definedterm.operation.DeleteTermBaseOperation; +import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.store.StoreUtil; + +/** + * @author l.morris + * @date 22 Dec 2011 + * + */ +public class DeleteTermBaseHandler extends AbstractHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + DefinedTermEditor editor = (DefinedTermEditor) HandlerUtil + .getActiveEditor(event); + + IStructuredSelection selection = (IStructuredSelection) HandlerUtil + .getCurrentSelection(event); + + Iterator selectionIterator = selection.iterator(); + + while (selectionIterator.hasNext()){ + + TermBase term = selectionIterator.next(); + + try { + AbstractPostOperation operation = new DeleteTermBaseOperation( + event.getCommand().getName(), StoreUtil.getUndoContext(), + term, editor); + StoreUtil.executeOperation(operation); + + } catch (NotDefinedException e) { + StoreUtil.error(getClass(), e); + } + } + + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/OpenDefinedTermEditorHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/OpenDefinedTermEditorHandler.java new file mode 100644 index 000000000..393a3e648 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/OpenDefinedTermEditorHandler.java @@ -0,0 +1,59 @@ +package eu.etaxonomy.taxeditor.editor.definedterm.handler; +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.IHandler; +import org.eclipse.core.commands.IParameter; +import org.eclipse.core.commands.common.NotDefinedException; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.handlers.HandlerUtil; +import org.eclipse.ui.handlers.ShowViewHandler; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; +import eu.etaxonomy.taxeditor.editor.definedterm.input.DefinedTermEditorInputFactory; +import eu.etaxonomy.taxeditor.store.StoreUtil; + +// $Id$ +/** + * Copyright (C) 2009 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. + */ + +/** + * @author l.morris + * @date 8 Dec 2011 + * + */ +public class OpenDefinedTermEditorHandler extends AbstractHandler implements + IHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + + try { + String parameter = event.getParameter("eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"); + Class clazz = (Class) Class.forName(parameter); + + IWorkbenchPage activePage = StoreUtil.getActivePage(); + try { + activePage.openEditor(DefinedTermEditorInputFactory.NewInstance(clazz), DefinedTermEditor.ID); + } catch (PartInitException e) { + StoreUtil.error(getClass(), e); + } + } catch (ClassNotFoundException e) { + StoreUtil.error(getClass(), e); + } + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/OpenDefinedTermMenu.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/OpenDefinedTermMenu.java new file mode 100644 index 000000000..5d6e797af --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/handler/OpenDefinedTermMenu.java @@ -0,0 +1,73 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.handler; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.jface.action.IContributionItem; +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; + +/** + * @author l.morris + * @date 4 Jan 2012 + * + */ +public class OpenDefinedTermMenu extends CompoundContributionItem { + + /** + * + */ + public OpenDefinedTermMenu() { + // TODO Auto-generated constructor stub + } + + /** + * @param id + */ + public OpenDefinedTermMenu(String id) { + super(id); + // TODO Auto-generated constructor stub + } + + /* (non-Javadoc) + * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems() + */ + @Override + protected IContributionItem[] getContributionItems() { + // TODO Auto-generated method stub + return null; + } + + /** + * @param key + * @param object + * @return + */ + private IContributionItem createContributionItem(String label, + String inputType) { + CommandContributionItemParameter parameter = new CommandContributionItemParameter( + PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null, + "eu.etaxonomy.taxeditor.store.definedterm.menu.open", SWT.NONE); + + parameter.label = label; + + Map parameters = new HashMap(); + parameters.put("eu.etaxonomy.taxeditor.store.definedterm.menu.open", inputType); + parameter.parameters = parameters; + + return new CommandContributionItem(parameter); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/AbstractDefinedTermEditorInput.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/AbstractDefinedTermEditorInput.java new file mode 100644 index 000000000..49cc3d434 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/AbstractDefinedTermEditorInput.java @@ -0,0 +1,71 @@ +// $Id$ +/** + * Copyright (C) 2009 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.editor.definedterm.input; + +import java.util.List; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IPersistableElement; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; + +/** + * @author l.morris + * @date 3 Jan 2012 + * + */ +public abstract class AbstractDefinedTermEditorInput implements IEditorInput { + + /** + * + */ + public AbstractDefinedTermEditorInput() { + super(); + } + + @Override + public Object getAdapter(Class adapter) { + return null; + } + + @Override + public boolean exists() { + return false; + } + + @Override + public ImageDescriptor getImageDescriptor() { + return null; + } + + @Override + public IPersistableElement getPersistable() { + return null; + } + + @Override + public String getToolTipText() { + return getName(); + } + + /** + * @return + */ + public abstract List getTermClasses(); + + public abstract T createTermInstance(); + + public Class getTermClass() { + + return createTermInstance().getClass(); + } + +} \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/DefinedTermEditorInputFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/DefinedTermEditorInputFactory.java new file mode 100644 index 000000000..efbfa0e4c --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/DefinedTermEditorInputFactory.java @@ -0,0 +1,54 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.input; + +import org.eclipse.ui.IEditorInput; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.ExtensionType; +import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.description.Feature; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.cdm.model.location.NamedAreaLevel; + +/** + * @author l.morris + * @date 3 Jan 2012 + * + */ +public class DefinedTermEditorInputFactory { + +// public static final String NamedArea = "eu.etaxonomy.taxeditor.editor.namedArea"; + + /** + * @param clazz + * @return + */ + public static IEditorInput NewInstance(Class clazz) { + if(clazz == NamedArea.class){ + return new NamedAreaEditorInput(); + } + if (clazz == NamedAreaLevel.class){ + return new NamedAreaLevelEditorInput(); + } + if (clazz == ExtensionType.class){ + return new ExtensionTypeEditorInput(); + } + if (clazz == MarkerType.class){ + return new MarkerTypeEditorInput(); + } + if (clazz == Feature.class){ + return new FeatureEditorInput(); + } + + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/ExtensionTypeEditorInput.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/ExtensionTypeEditorInput.java new file mode 100644 index 000000000..49d597a85 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/ExtensionTypeEditorInput.java @@ -0,0 +1,52 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.input; + +import java.util.Arrays; +import java.util.List; + +import eu.etaxonomy.cdm.model.common.ExtensionType; + +/** + * @author l.morris + * @date 6 Jan 2012 + * + */ +public class ExtensionTypeEditorInput extends AbstractDefinedTermEditorInput { + + private List termClasses = Arrays.asList(new String[]{ + ExtensionType.class.getName() + }); + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getName() + */ + @Override + public String getName() { + return "Extension Type"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#getTermClasses() + */ + @Override + public List getTermClasses() { + return termClasses; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#createTermInstance() + */ + @Override + public ExtensionType createTermInstance() { + return ExtensionType.NewInstance(); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/FeatureEditorInput.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/FeatureEditorInput.java new file mode 100644 index 000000000..da4c4d821 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/FeatureEditorInput.java @@ -0,0 +1,50 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.input; + +import java.util.Arrays; +import java.util.List; + +import eu.etaxonomy.cdm.model.description.Feature; +/** + * @author l.morris + * @date 11 Jan 2012 + * + */ +public class FeatureEditorInput extends AbstractDefinedTermEditorInput { + + private List termClasses = Arrays.asList(new String[]{ + Feature.class.getName() + }); + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getName() + */ + @Override + public String getName() { + return "Feature"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput#getTermClasses() + */ + @Override + public List getTermClasses() { + return termClasses; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput#createTermInstance() + */ + @Override + public Feature createTermInstance() { + return Feature.NewInstance(); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/MarkerTypeEditorInput.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/MarkerTypeEditorInput.java new file mode 100644 index 000000000..5bc6cb592 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/MarkerTypeEditorInput.java @@ -0,0 +1,54 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.input; + +import java.util.Arrays; +import java.util.List; + +import eu.etaxonomy.cdm.model.common.MarkerType; + +/** + * @author l.morris + * @date 6 Jan 2012 + * + */ +public class MarkerTypeEditorInput extends AbstractDefinedTermEditorInput { + + private List termClasses = Arrays.asList(new String[]{ + MarkerType.class.getName() + }); + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getName() + */ + @Override + public String getName() { + return "Marker Type"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#getTermClasses() + */ + @Override + public List getTermClasses() { + return termClasses; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#createTermInstance() + */ + @Override + public MarkerType createTermInstance() { + return new MarkerType(); + } + + + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaEditorInput.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaEditorInput.java new file mode 100644 index 000000000..5ce6ae394 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaEditorInput.java @@ -0,0 +1,63 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.input; + +import java.util.Arrays; +import java.util.List; + +import org.eclipse.ui.IEditorInput; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.location.Continent; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.cdm.model.location.TdwgArea; +import eu.etaxonomy.cdm.model.location.WaterbodyOrCountry; + +/** + * @author l.morris + * @date 8 Dec 2011 + * + */ +public class NamedAreaEditorInput extends AbstractDefinedTermEditorInput { + + private List termClasses = Arrays.asList(new String[]{ + NamedArea.class.getName(), + TdwgArea.class.getName(), + WaterbodyOrCountry.class.getName(), + Continent.class.getName() + }); + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getName() + */ + @Override + public String getName() { + return "Named Area"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#getTermClasses() + */ + @Override + public List getTermClasses() { + return termClasses; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#createTermInstance() + */ + @Override + public NamedArea createTermInstance() { + return NamedArea.NewInstance(); + } + + + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaLevelEditorInput.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaLevelEditorInput.java new file mode 100644 index 000000000..a3792395b --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/NamedAreaLevelEditorInput.java @@ -0,0 +1,53 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.input; + +import java.util.Arrays; +import java.util.List; + +import eu.etaxonomy.cdm.model.location.NamedAreaLevel; + +/** + * @author l.morris + * @date 4 Jan 2012 + * + */ +public class NamedAreaLevelEditorInput extends AbstractDefinedTermEditorInput { + + + private List termClasses = Arrays.asList(new String[]{ + NamedAreaLevel.class.getName() + }); + + /* (non-Javadoc) + * @see org.eclipse.ui.IEditorInput#getName() + */ + @Override + public String getName() { + return "Named Area Level"; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#getTermClasses() + */ + @Override + public List getTermClasses() { + return termClasses; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#createTermInstance() + */ + @Override + public NamedAreaLevel createTermInstance() { + return NamedAreaLevel.NewInstance(); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateDefinedTermOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateDefinedTermOperation.java new file mode 100644 index 000000000..cc2512f0d --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateDefinedTermOperation.java @@ -0,0 +1,97 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.operation; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.operations.IUndoContext; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.ui.IEditorInput; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; +import eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput; +import eu.etaxonomy.taxeditor.editor.definedterm.input.NamedAreaEditorInput; +import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; + +/** + * @author l.morris + * @date 21 Dec 2011 + * + */ +public class CreateDefinedTermOperation extends AbstractPostOperation { + + + + private TermBase parentTermBase; + private AbstractDefinedTermEditorInput editorInput; + + /** + * @param label + * @param undoContext + * @param postOperationEnabled + */ + public CreateDefinedTermOperation(String label, + IUndoContext undoContext, TermBase termBase, IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, postOperationEnabled); + this.parentTermBase = termBase; + editorInput = ((DefinedTermEditor)postOperationEnabled).getDefinedTermEditorInput(); + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus execute(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + + DefinedTermBase newTerm = editorInput.createTermInstance(); + + newTerm.setLabel("Untitled"); + + if (parentTermBase instanceof TermVocabulary){ + TermVocabulary vocabulary = (TermVocabulary) parentTermBase; + vocabulary.addTerm(newTerm); + } else if (parentTermBase instanceof DefinedTermBase) { + DefinedTermBase parent = (DefinedTermBase) parentTermBase; + parent.addIncludes(newTerm); + TermVocabulary vocabulary = parent.getVocabulary(); + vocabulary.addTerm(newTerm); + } + + return postExecute(newTerm); + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus redo(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus undo(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateTermVocabularyOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateTermVocabularyOperation.java new file mode 100644 index 000000000..a8950ee64 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateTermVocabularyOperation.java @@ -0,0 +1,79 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.operation; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.operations.IUndoContext; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; + +import eu.etaxonomy.cdm.api.service.IVocabularyService; +import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; +import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.store.CdmStore; + +/** + * @author l.morris + * @date 21 Dec 2011 + * + */ +public class CreateTermVocabularyOperation extends AbstractPostOperation { + + private DefinedTermEditor definedTermEditor; + + /** + * @param label + * @param undoContext + * @param postOperationEnabled + */ + public CreateTermVocabularyOperation(String label, + IUndoContext undoContext, DefinedTermEditor definedTermEditor) { + super(label, undoContext, definedTermEditor); + this.definedTermEditor = definedTermEditor; + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus execute(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + + TermVocabulary termVocabulary = OrderedTermVocabulary.NewInstance(null, "Untitled", null, null); + CdmStore.getService(IVocabularyService.class).save(termVocabulary); + definedTermEditor.getInMemoryVocabularies().add(termVocabulary); + + return postExecute(termVocabulary); + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus redo(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus undo(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java new file mode 100644 index 000000000..11ced846a --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java @@ -0,0 +1,120 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.operation; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.operations.IUndoContext; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; + +import eu.etaxonomy.cdm.api.service.ITermService; +import eu.etaxonomy.cdm.api.service.IVocabularyService; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; +import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.store.StoreUtil; + +/** + * @author l.morris + * @date 22 Dec 2011 + * + */ +public class DeleteTermBaseOperation extends AbstractPostOperation { + + private TermBase termBase; + private DefinedTermEditor definedTermEditor; + /** + * @param label + * @param undoContext + * @param postOperationEnabled + */ + public DeleteTermBaseOperation(String label, IUndoContext undoContext, TermBase termBase, + DefinedTermEditor definedTermEditor) { + super(label, undoContext, definedTermEditor); + this.termBase = termBase; + this.definedTermEditor = definedTermEditor; + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus execute(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + + + + if (termBase instanceof TermVocabulary) { + + if (!((TermVocabulary)termBase).getTerms().isEmpty()) { + IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "Delete all terms from this vocaulary before deleting the vocabulary."); + StoreUtil.warningDialog("Vocabulary not empty", termBase, status); + return status; + } + definedTermEditor.getInMemoryVocabularies().remove(termBase); + CdmStore.getService(IVocabularyService.class).delete((TermVocabulary)termBase); + + } else if (termBase instanceof DefinedTermBase) { + + + DefinedTermBase definedTermBase = (DefinedTermBase) termBase; + if(!definedTermBase.getIncludes().isEmpty()){ + IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "This term includes other terms. Please delete the included terms before deleting this term."); + StoreUtil.warningDialog("Term has included terms", termBase, status); + return status; + } + + DefinedTermBase partOf = definedTermBase.getPartOf(); + if(partOf != null){ + partOf.removeIncludes(definedTermBase); + } + + DefinedTermBase kindOf = definedTermBase.getKindOf(); + if(kindOf != null){ + definedTermBase.removeGeneralization(kindOf); + } + + TermVocabulary vocabulary = definedTermBase.getVocabulary(); + if(vocabulary != null){ + vocabulary.removeTerm(definedTermBase); + } + CdmStore.getService(ITermService.class).delete((DefinedTermBase)termBase); + + } + + return postExecute(termBase); + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus redo(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus undo(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/MoveDefinedTermOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/MoveDefinedTermOperation.java new file mode 100644 index 000000000..b68a85061 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/MoveDefinedTermOperation.java @@ -0,0 +1,135 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.definedterm.operation; + +import java.util.Collection; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.operations.IUndoContext; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.TermBase; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.cdm.model.description.DescriptionBase; +import eu.etaxonomy.cdm.model.description.DescriptionElementBase; +import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; +import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; +import eu.etaxonomy.taxeditor.store.StoreUtil; + +/** + * @author l.morris + * @date 10 Jan 2012 + * + */ +public class MoveDefinedTermOperation extends AbstractPostOperation { + + private Collection sourceTerms;// the actual DefinedTermBase(s) we are moving + private TermBase targetTermOrVocabulary;// the target VOCABULARY or DefinedTerm we are moving these to + + /** + * @param label + * @param undoContext + * @param postOperationEnabled + */ + public MoveDefinedTermOperation(String label, IUndoContext undoContext, TermBase target, Collection sourceTerms, + IPostOperationEnabled postOperationEnabled) { + super(label, undoContext, postOperationEnabled); + + this.targetTermOrVocabulary = target; + this.sourceTerms = sourceTerms; + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus execute(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + + // need to make the moved DefinedTerm part of another DefinedTerm or Vocabulary (target) + // and remove it from old associations + + //TODO move to ITermService + + for (DefinedTermBase term : sourceTerms){ + // do nothing when moving it on itself + if(targetTermOrVocabulary.equals(term)){ + Status status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "Term can not be added to itself"); + StoreUtil.informationDialog("", status); + return status; + } + + if (targetTermOrVocabulary instanceof TermVocabulary) { + TermVocabulary termVocabulary = (TermVocabulary)targetTermOrVocabulary; + + // do nothing when term is top level and gets added to the same vocabulary + if(term.getPartOf() == null && termVocabulary.equals(term.getVocabulary())){ + Status status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "Term is already in this vocabulary"); + StoreUtil.informationDialog("", status); + return status; + } + + cleanTerm(term); + termVocabulary.addTerm(term); + + } else if (targetTermOrVocabulary instanceof DefinedTermBase) { + cleanTerm(term); + DefinedTermBase targetDefinedTerm = (DefinedTermBase) targetTermOrVocabulary; + targetDefinedTerm.addIncludes(term); + targetDefinedTerm.getVocabulary().addTerm(term); + } + + } + //return null; + return postExecute(targetTermOrVocabulary); + } + + private DefinedTermBase cleanTerm(DefinedTermBase term){ + + DefinedTermBase partOf = term.getPartOf(); + if(partOf != null){ + partOf.removeIncludes(term); + } + + + TermVocabulary vocabulary = term.getVocabulary(); + if(vocabulary != null){ + vocabulary.removeTerm(term); + } + + return term; + } + + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus redo(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable) + */ + @Override + public IStatus undo(IProgressMonitor monitor, IAdaptable info) + throws ExecutionException { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/AvailableFeaturesWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/AvailableFeaturesWizardPage.java index adac91b51..bd2a64f69 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/AvailableFeaturesWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/AvailableFeaturesWizardPage.java @@ -97,7 +97,7 @@ public class AvailableFeaturesWizardPage extends WizardPage { */ private List getAvailableFeatures(){ - List preferredFeatures = CdmStore.getTermManager().getPreferredFeatures(); + List preferredFeatures = CdmStore.getTermManager().getPreferredTerms(Feature.class); for(Feature featureAlreadyInTree : featureTree.getDistinctFeatures()){ preferredFeatures.remove(featureAlreadyInTree); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java index d90f953b3..60e2e4084 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java @@ -10,7 +10,6 @@ package eu.etaxonomy.taxeditor.handler; -import org.apache.log4j.Logger; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/labels/DefaultLabelStrategy.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/labels/DefaultLabelStrategy.java index 4bf709a11..8ce48d376 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/labels/DefaultLabelStrategy.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/labels/DefaultLabelStrategy.java @@ -25,7 +25,7 @@ public class DefaultLabelStrategy implements ILabelImageStrategy { /** {@inheritDoc} */ public String getNameRelationTypeLabel(NameRelationshipType type) { List vocab = - TermStore.getNameRelationshipTypes(); + TermStore.getTerms(NameRelationshipType.class); for (NameRelationshipType type1 : vocab) { if (type1.equals(type)) { @@ -42,7 +42,7 @@ public class DefaultLabelStrategy implements ILabelImageStrategy { public String getNameRelationTypeInverseLabel(NameRelationshipType type) { List vocab = - TermStore.getNameRelationshipTypes(); + TermStore.getTerms(NameRelationshipType.class); for (NameRelationshipType type1 : vocab) { if (type1.equals(type)) { diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java index 6a18fa134..835ca8488 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java @@ -49,6 +49,7 @@ import org.eclipse.ui.progress.IWorkbenchSiteProgressService; import org.eclipse.ui.themes.ITheme; import org.eclipse.ui.themes.IThemeManager; +import eu.etaxonomy.cdm.model.common.TermBase; import eu.etaxonomy.taxeditor.operation.AbstractPostOperation; import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin; @@ -308,6 +309,11 @@ public abstract class AbstractUtility { }); } + public static void informationDialog(final String title, + final IStatus status) { + informationDialog(title, status.getMessage()); + } + /** *

* warningDialog @@ -332,6 +338,16 @@ public abstract class AbstractUtility { } }); } + + /** + * @param title + * @param termBase + * @param status + */ + public static void warningDialog(String title, Object source, + IStatus status) { + warningDialog(title, source, status.getMessage()); + } /** *

@@ -745,6 +761,11 @@ public abstract class AbstractUtility { log(status); } + public static void warn(Class source, IStatus status) { + getLog4JLogger(source).warn(status.getMessage(), status.getException()); + log(status); + } + public static void warn(Class source, Throwable t) { IStatus status = new Status(IStatus.WARNING, getPluginId(), t.getMessage(), t); getLog4JLogger(source).warn(t); @@ -827,7 +848,7 @@ public abstract class AbstractUtility { * * @return a {@link java.lang.String} object. */ - protected static String getPluginId() { + public static String getPluginId() { return "eu.taxeditor"; } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/TaxonRelationshipTypeInverseContainer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/TaxonRelationshipTypeInverseContainer.java index 08dc15b31..a194b8fb9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/TaxonRelationshipTypeInverseContainer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/TaxonRelationshipTypeInverseContainer.java @@ -22,6 +22,10 @@ import eu.etaxonomy.taxeditor.store.CdmStore; */ public class TaxonRelationshipTypeInverseContainer extends DefinedTermBase { + /** + * + */ + private static final long serialVersionUID = 7225140304186547675L; private boolean inverse; private TaxonRelationshipType type; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguagePreferencePage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguagePreferencePage.java index 838085888..e1a6b959c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguagePreferencePage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/LanguagePreferencePage.java @@ -81,7 +81,7 @@ public class LanguagePreferencePage extends PreferencePage implements IWorkbench final Combo combo_globalLanguage = new Combo(composite, SWT.NONE); - List preferredLanguages = CdmStore.getTermManager().getPreferredLanguages(); + List preferredLanguages = CdmStore.getTermManager().getPreferredTerms(Language.class); for(int i = 0; i < preferredLanguages.size(); i++){ Language language = preferredLanguages.get(i); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java index 403542782..ca321d137 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java @@ -483,7 +483,7 @@ public class PreferencesUtil implements IPreferenceKeys { */ public static Map getEditMarkerTypePreferences() { List markerTypes = CdmStore.getTermManager() - .getPreferredMarkerTypes(); + .getPreferredTerms(MarkerType.class); Map result = new HashMap(); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/AbstractMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/AbstractMenuPreferences.java index 75e164d73..f78483bd6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/AbstractMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/AbstractMenuPreferences.java @@ -15,13 +15,17 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; +import org.eclipse.core.commands.Command; +import org.eclipse.core.commands.IParameter; +import org.eclipse.core.commands.Parameterization; +import org.eclipse.core.commands.ParameterizedCommand; +import org.eclipse.core.commands.common.NotDefinedException; import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.jface.viewers.CheckStateChangedEvent; import org.eclipse.jface.viewers.CheckboxTableViewer; import org.eclipse.jface.viewers.ICheckStateListener; import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -33,16 +37,21 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; +import org.eclipse.ui.commands.ICommandService; +import org.eclipse.ui.handlers.IHandlerService; +import org.eclipse.ui.internal.commands.Parameter; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; import eu.etaxonomy.cdm.api.service.ITermService; import eu.etaxonomy.cdm.model.common.DefinedTermBase; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; +import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.preference.wizard.VocabularyTermWizard; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.store.TermStore; /** *

Abstract AbstractMenuPreferences class.

@@ -87,7 +96,9 @@ public abstract class AbstractMenuPreferences extends setDescription(description); } - protected abstract List getTerms(); + protected List getTerms(){ + return TermStore.getTerms(getTermClass()); + } /** * {@inheritDoc} @@ -178,24 +189,12 @@ public abstract class AbstractMenuPreferences extends * @param buttonContainer a {@link org.eclipse.swt.widgets.Composite} object. */ protected void createEditButtons(Composite buttonContainer) { - newButton = new Button(buttonContainer, SWT.PUSH); - newButton.setText("New"); - newButton.setLayoutData(new GridData(SWT.FILL)); - editButton = new Button(buttonContainer, SWT.PUSH); - editButton.setText("Edit"); + editButton.setText("Open Term Editor"); editButton.setLayoutData(new GridData(SWT.FILL)); - - removeButton = new Button(buttonContainer, SWT.PUSH); - removeButton.setText("Remove"); - removeButton.setLayoutData(new GridData(SWT.FILL)); - - - addNewButtonListeners(); addEditButtonListeners(); - addDeleteButtonListeners(); } /** @@ -231,59 +230,43 @@ public abstract class AbstractMenuPreferences extends * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override - public void widgetSelected(SelectionEvent e) { - T selection = (T) ((StructuredSelection) tableViewer.getSelection()).getFirstElement(); + public void widgetSelected(SelectionEvent event) { - if(selection == null){ - StoreUtil.informationDialog("Nothing selected", "Please select a term to edit."); - return; - } + ICommandService commandService = (ICommandService) StoreUtil.getService(ICommandService.class); + + Command command = commandService.getCommand(DefinedTermEditor.OPEN_COMMAND_ID); - VocabularyTermWizard wizard = new VocabularyTermWizard(getTermClass(), selection, getConversationHolder()); + IParameter parameter; + try { + parameter = command.getParameter("eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"); - WizardDialog dialog = new WizardDialog(StoreUtil.getShell(), wizard); - - if(dialog.open() == IStatus.OK){ - tableViewer.setInput(getTerms()); - tableViewer.reveal(selection); - } - } - }); - } - - /** - * Implement this method in MenuPreference Pages where the vocabulary should be editable, editable flag - * is set. - */ - protected void addDeleteButtonListeners() { - removeButton.addSelectionListener(new SelectionAdapter(){ - /* (non-Javadoc) - * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) - */ - @Override - public void widgetSelected(SelectionEvent e) { - boolean confirmation = StoreUtil.confirmDialog("Confirm deletion", "Do you really want to delete the selected terms?"); - - if(confirmation){ - IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection(); + Parameterization[] parameterizations = new Parameterization[]{ + new Parameterization(parameter, getTermClass().getName()) + }; - Iterator selectionIterator = selection.iterator(); + ParameterizedCommand pCommand = new ParameterizedCommand(command, parameterizations); - while(selectionIterator.hasNext()){ - T term = selectionIterator.next(); - - tableViewer.remove(term); - - if(getConversationHolder().getSessionHolder().getSession().contains(term)){ - ITermService service = CdmStore.getService(ITermService.class); - DefinedTermBase theTerm = service.load(term.getUuid()); - - service.delete(theTerm); + if (command.isEnabled()) { + IHandlerService handlerService = (IHandlerService) StoreUtil.getService(IHandlerService.class); + try { + handlerService.executeCommand(pCommand, null); + } catch (NotDefinedException e) { + throw new RuntimeException("Could not find open command: " + + DefinedTermEditor.OPEN_COMMAND_ID); + } catch (Exception e) { + StoreUtil + .error(getClass(), + "An exception occured while trying to open a selection", + e); } } - -// tableViewer.refresh(); + } catch (NotDefinedException e) { + StoreUtil + .error(getClass(), + "An exception occured while trying to open the Term Editor", + e); } + } }); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/ExtensionTypeMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/ExtensionTypeMenuPreferences.java index 0c00d5540..3f752f536 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/ExtensionTypeMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/ExtensionTypeMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.common.ExtensionType; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

ExtensionTypeMenuPreferences class.

@@ -30,7 +27,7 @@ public class ExtensionTypeMenuPreferences extends AbstractMenuPreferences getTermClass() { return ExtensionType.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getExtensionTypes(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/FeatureMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/FeatureMenuPreferences.java index 0375bf2a8..a228ef6a6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/FeatureMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/FeatureMenuPreferences.java @@ -8,10 +8,7 @@ */ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.description.Feature; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

FeatureMenuPreferences class.

@@ -32,7 +29,7 @@ public class FeatureMenuPreferences extends AbstractMenuPreferences { public FeatureMenuPreferences() { super("Feature Preferences", "Choose which features you would like to use for descriptive elements.", - true); + false); } /* (non-Javadoc) @@ -43,12 +40,4 @@ public class FeatureMenuPreferences extends AbstractMenuPreferences { protected Class getTermClass() { return Feature.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getFeatures(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/LanguageMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/LanguageMenuPreferences.java index e630441c9..b355fc4fa 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/LanguageMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/LanguageMenuPreferences.java @@ -10,8 +10,6 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.ViewerComparator; @@ -20,7 +18,6 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import eu.etaxonomy.cdm.model.common.Language; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

LanguageMenuPreferences class.

@@ -87,12 +84,4 @@ public class LanguageMenuPreferences extends AbstractMenuPreferences { protected Class getTermClass() { return Language.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getLanguages(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MarkerTypeMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MarkerTypeMenuPreferences.java index 406ae6162..0fc47e1a9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MarkerTypeMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MarkerTypeMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.common.MarkerType; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

MarkerTypeMenuPreferences class.

@@ -41,12 +38,4 @@ public class MarkerTypeMenuPreferences extends AbstractMenuPreferences getTermClass() { return MarkerType.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getNonTechnicalMarkerTypes(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MeasurementUnitMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MeasurementUnitMenuPreferences.java index 545fe62f9..f664e5f5f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MeasurementUnitMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/MeasurementUnitMenuPreferences.java @@ -3,10 +3,7 @@ */ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.description.MeasurementUnit; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

MeasurementUnitMenuPreferences class.

@@ -34,12 +31,4 @@ public class MeasurementUnitMenuPreferences extends AbstractMenuPreferences getTerms() { - return TermStore.getMeasurementUnits(); - } - } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameRelationshipTypeMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameRelationshipTypeMenuPreferences.java index 5cb22dc4e..0e8184895 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameRelationshipTypeMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameRelationshipTypeMenuPreferences.java @@ -10,8 +10,6 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; @@ -20,7 +18,6 @@ import eu.etaxonomy.cdm.model.name.NameRelationshipType; import eu.etaxonomy.taxeditor.labels.ILabelImageStrategy; import eu.etaxonomy.taxeditor.labels.LabelImageProvider; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

NameRelationshipTypeMenuPreferences class.

@@ -97,12 +94,4 @@ public class NameRelationshipTypeMenuPreferences extends protected Class getTermClass() { return NameRelationshipType.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getNameRelationshipTypes(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameTypeDesignationStatusMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameTypeDesignationStatusMenuPreferences.java index bfdd50f74..715258774 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameTypeDesignationStatusMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameTypeDesignationStatusMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

NameTypeDesignationStatusMenuPreferences class.

@@ -42,12 +39,4 @@ public class NameTypeDesignationStatusMenuPreferences extends return NameTypeDesignationStatus.class; } - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getNameTypeDesignationStatus(); - } - } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NamedAreaTypeMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NamedAreaTypeMenuPreferences.java index 335e293d7..b24c6d941 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NamedAreaTypeMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NamedAreaTypeMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.location.NamedAreaType; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

NamedAreaTypeMenuPreferences class.

@@ -30,7 +27,7 @@ public class NamedAreaTypeMenuPreferences extends AbstractMenuPreferences getTermClass() { return NamedAreaType.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getNamedAreaTypes(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NomenclaturalStatusTypeMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NomenclaturalStatusTypeMenuPreferences.java index 4ec3a86fc..e947a269c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NomenclaturalStatusTypeMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NomenclaturalStatusTypeMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

NomenclaturalStatusTypeMenuPreferences class.

@@ -42,13 +39,5 @@ public class NomenclaturalStatusTypeMenuPreferences extends protected Class getTermClass() { return NomenclaturalStatusType.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getNomenclaturalStatusTypes(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/PresenceAbsenceMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/PresenceAbsenceMenuPreferences.java index 8a5c7b669..d71ae560b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/PresenceAbsenceMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/PresenceAbsenceMenuPreferences.java @@ -10,12 +10,9 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import org.eclipse.ui.IWorkbenchPreferencePage; import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

PresenceAbsenceMenuPreferences class.

@@ -44,13 +41,5 @@ public class PresenceAbsenceMenuPreferences extends AbstractMenuPreferences getTermClass() { return PresenceAbsenceTermBase.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getPresenceAbsenceTerms(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/PreservationMethodMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/PreservationMethodMenuPreferences.java index 40486bfe3..9459ed7a6 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/PreservationMethodMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/PreservationMethodMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

PreservationMethodMenuPreferences class.

@@ -41,12 +38,4 @@ public class PreservationMethodMenuPreferences extends AbstractMenuPreferences

getTermClass() { return PreservationMethod.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getPreservationMethods(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/RankMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/RankMenuPreferences.java index 78a40b855..9c16f51bc 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/RankMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/RankMenuPreferences.java @@ -8,8 +8,6 @@ */ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -19,7 +17,6 @@ import org.eclipse.ui.IWorkbenchPreferencePage; import eu.etaxonomy.cdm.model.name.Rank; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; -import eu.etaxonomy.taxeditor.store.TermStore; /** * Allows the user to choose which Ranks to display in the @@ -52,8 +49,6 @@ public class RankMenuPreferences extends AbstractMenuPreferences implement @Override protected void createAdditionalContent(Composite container) { - // TODO create option to sort ranks either alphabetically or hierarchically (asc- or descending) - final Button checkbox = new Button(container, SWT.CHECK); checkbox.setText("Sort ranks hierarchically (default is alphabetically)"); @@ -66,7 +61,7 @@ public class RankMenuPreferences extends AbstractMenuPreferences implement @Override public void widgetSelected(SelectionEvent e) { PreferencesUtil.setSortRanksHierarchichally(checkbox.getSelection()); - refresh(TermStore.getRanks()); + refresh(getTerms()); } }); @@ -81,12 +76,4 @@ public class RankMenuPreferences extends AbstractMenuPreferences implement return Rank.class; } - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getRanks(); - } - } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/SpecimenTypeDesignationStatusMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/SpecimenTypeDesignationStatusMenuPreferences.java index aa132d051..5291ae7a3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/SpecimenTypeDesignationStatusMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/SpecimenTypeDesignationStatusMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

SpecimenTypeDesignationStatusMenuPreferences class.

@@ -42,12 +39,4 @@ public class SpecimenTypeDesignationStatusMenuPreferences extends return SpecimenTypeDesignationStatus.class; } - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getSpecimenTypeDesignationStatus(); - } - } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/StageMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/StageMenuPreferences.java index 5185f2945..82c370725 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/StageMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/StageMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.description.Stage; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

StageMenuPreferences class.

@@ -42,11 +39,4 @@ public class StageMenuPreferences extends AbstractMenuPreferences { return Stage.class; } - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getStages(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/TaxonRelationshipTypeMenuPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/TaxonRelationshipTypeMenuPreferences.java index 243eb00f0..6bb9724a7 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/TaxonRelationshipTypeMenuPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/TaxonRelationshipTypeMenuPreferences.java @@ -10,10 +10,7 @@ package eu.etaxonomy.taxeditor.preference.menu; -import java.util.List; - import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; -import eu.etaxonomy.taxeditor.store.TermStore; /** *

TaxonRelationshipTypeMenuPreferences class.

@@ -42,13 +39,5 @@ public class TaxonRelationshipTypeMenuPreferences extends protected Class getTermClass() { return TaxonRelationshipType.class; } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms() - */ - @Override - protected List getTerms() { - return TermStore.getTaxonRelationshipTypes(); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/StoreUtil.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/StoreUtil.java index 55fdc632f..f5c4c7d31 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/StoreUtil.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/StoreUtil.java @@ -14,10 +14,12 @@ import java.util.UUID; import org.eclipse.core.commands.operations.IOperationHistory; import org.eclipse.core.commands.operations.IUndoContext; +import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.action.IStatusLineManager; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; +import eu.etaxonomy.cdm.model.common.TermBase; import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin; @@ -76,7 +78,7 @@ public class StoreUtil extends AbstractUtility { * * @return a {@link java.lang.String} object. */ - protected static String getPluginId(){ + public static String getPluginId(){ return TaxeditorStorePlugin.PLUGIN_ID; } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java index 87322c471..9290201b4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java @@ -11,7 +11,6 @@ package eu.etaxonomy.taxeditor.store; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -21,32 +20,9 @@ import java.util.UUID; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.ui.IMemento; -import eu.etaxonomy.cdm.model.common.AnnotationType; import eu.etaxonomy.cdm.model.common.DefinedTermBase; -import eu.etaxonomy.cdm.model.common.ExtensionType; -import eu.etaxonomy.cdm.model.common.Language; -import eu.etaxonomy.cdm.model.common.MarkerType; import eu.etaxonomy.cdm.model.common.TermBase; -import eu.etaxonomy.cdm.model.description.Feature; -import eu.etaxonomy.cdm.model.description.MeasurementUnit; -import eu.etaxonomy.cdm.model.description.Modifier; -import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; -import eu.etaxonomy.cdm.model.description.Scope; -import eu.etaxonomy.cdm.model.description.Stage; -import eu.etaxonomy.cdm.model.description.State; -import eu.etaxonomy.cdm.model.description.StatisticalMeasure; -import eu.etaxonomy.cdm.model.location.NamedAreaType; -import eu.etaxonomy.cdm.model.media.RightsTerm; -import eu.etaxonomy.cdm.model.name.NameRelationshipType; -import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; -import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; -import eu.etaxonomy.cdm.model.name.Rank; -import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; -import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier; -import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; -import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; import eu.etaxonomy.taxeditor.model.ContextListenerAdapter; -import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer; /** * @author n.hoffmann @@ -68,6 +44,15 @@ public class TermManager extends ContextListenerAdapter{ CdmStore.getContextManager().addContextListener(this); } + /** + * + * @param clazz + * @return + */ + public List getPreferredTerms(Class clazz){ + return getFilteredTerms(TermStore.getTerms(clazz)); + } + /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextStart(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor) */ @@ -156,191 +141,202 @@ public class TermManager extends ContextListenerAdapter{ return initialTerms.iterator().next().getClass().getName(); } - /** - *

getPreferredSpecimenTypeDesignationStatus

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredSpecimenTypeDesignationStatus() { return getFilteredTerms(TermStore.getSpecimenTypeDesignationStatus());} - - /** - *

getPreferredNameTypeDesignationStatus

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredNameTypeDesignationStatus() { return getFilteredTerms(TermStore.getNameTypeDesignationStatus()); } - - /** - *

getPreferredTaxonRelationshipTypes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredTaxonRelationshipTypes() { return getFilteredTerms(TermStore.getTaxonRelationshipTypes());} - - private static List excludeTaxonRelationshipTypes = Arrays.asList(new TaxonRelationshipType[]{ - TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN(), - TaxonRelationshipType.MISAPPLIED_NAME_FOR(), - TaxonRelationshipType.ALL_RELATIONSHIPS() - }); - - /** - * Please note that the {@link TaxonRelationshipType}s TAXONOMICALLY_INCLUDED_IN, MISAPPLIED_NAME_FOR and ALL_RELATIONSHIPS - * are filtered out as they are most likely not needed. If you do need them please refactor this method to your needs. - * - * @return a list of {@link TaxonRelationshipTypeInverseContainer} elements - */ - public List getRelationshipTypesWithInverses(){ - List relationshipTypeInverseContainers = new ArrayList(); - - List relationshipTypes = getPreferredTaxonRelationshipTypes(); - - relationshipTypes.removeAll(excludeTaxonRelationshipTypes); - - for (TaxonRelationshipType relationshipType : relationshipTypes){ - if(!relationshipType.isSymmetric()){ - TaxonRelationshipTypeInverseContainer inverseContainer = new TaxonRelationshipTypeInverseContainer(relationshipType, true); - relationshipTypeInverseContainers.add(inverseContainer); - } - TaxonRelationshipTypeInverseContainer container = new TaxonRelationshipTypeInverseContainer(relationshipType, false); - relationshipTypeInverseContainers.add(container); - } - - return relationshipTypeInverseContainers; - } - - /** - *

getPreferredFeatures

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredFeatures() { return getFilteredTerms(TermStore.getFeatures());} - - /** - *

getPreferredRanks

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredRanks() { return getFilteredTerms(TermStore.getRanks());} - - /** - *

getPreferredPresenceAbsenceTerms

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredPresenceAbsenceTerms(){ return getFilteredTerms(TermStore.getPresenceAbsenceTerms());} - - /** - *

getPreferredNomenclaturalStatusTypes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredNomenclaturalStatusTypes(){ return getFilteredTerms(TermStore.getNomenclaturalStatusTypes());} - - /** - *

getPreferredNameRelationshipTypes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredNameRelationshipTypes(){ return getFilteredTerms(TermStore.getNameRelationshipTypes());} - - /** - *

getPreferredLanguages

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredLanguages() { return getFilteredTerms(TermStore.getLanguages()); } - - /** - *

getPreferredMarkerTypes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredMarkerTypes() { return getFilteredTerms(TermStore.getNonTechnicalMarkerTypes()); } - - /** - *

getPreferredExtensionTypes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredExtensionTypes() { return getFilteredTerms(TermStore.getExtensionTypes()); } - - /** - *

getPreferredRightsTypes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredRightsTypes() { return getFilteredTerms(TermStore.getRightsTypes());} - - /** - *

getPreferredNamedAreaTypes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredNamedAreaTypes() { return getFilteredTerms(TermStore.getNamedAreaTypes()); } +// /** +// *

getPreferredSpecimenTypeDesignationStatus

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredSpecimenTypeDesignationStatus() { return getFilteredTerms(TermStore.getSpecimenTypeDesignationStatus());} +// +// /** +// *

getPreferredNameTypeDesignationStatus

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredNameTypeDesignationStatus() { return getFilteredTerms(TermStore.getNameTypeDesignationStatus()); } +// +// /** +// *

getPreferredTaxonRelationshipTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredTaxonRelationshipTypes() { return getFilteredTerms(TermStore.getTaxonRelationshipTypes());} +// +// private static List excludeTaxonRelationshipTypes = Arrays.asList(new TaxonRelationshipType[]{ +// TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN(), +// TaxonRelationshipType.MISAPPLIED_NAME_FOR(), +// TaxonRelationshipType.ALL_RELATIONSHIPS() +// }); +// +// /** +// * Please note that the {@link TaxonRelationshipType}s TAXONOMICALLY_INCLUDED_IN, MISAPPLIED_NAME_FOR and ALL_RELATIONSHIPS +// * are filtered out as they are most likely not needed. If you do need them please refactor this method to your needs. +// * +// * @return a list of {@link TaxonRelationshipTypeInverseContainer} elements +// */ +// public List getPreferredRelationshipTypesWithInverses(){ +// List relationshipTypeInverseContainers = new ArrayList(); +// +// List relationshipTypes = getPreferredTaxonRelationshipTypes(); +// +// relationshipTypes.removeAll(excludeTaxonRelationshipTypes); +// +// for (TaxonRelationshipType relationshipType : relationshipTypes){ +// if(!relationshipType.isSymmetric()){ +// TaxonRelationshipTypeInverseContainer inverseContainer = new TaxonRelationshipTypeInverseContainer(relationshipType, true); +// relationshipTypeInverseContainers.add(inverseContainer); +// } +// TaxonRelationshipTypeInverseContainer container = new TaxonRelationshipTypeInverseContainer(relationshipType, false); +// relationshipTypeInverseContainers.add(container); +// } +// +// return relationshipTypeInverseContainers; +// } - /** - *

getPreferredAnnotationTypes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredAnnotationTypes() { return getFilteredTerms(TermStore.getAnnotationTypes()); } - /** - *

getPreferredStages

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredStages() { return getFilteredTerms(TermStore.getStages()); } - /** - *

getPreferredPreservationMethods

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredPreservationMethods() { return getFilteredTerms(TermStore.getPreservationMethods()); } - - /** - *

getPreferredMeasurementUnits

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredMeasurementUnits() { return getFilteredTerms(TermStore.getMeasurementUnits()); } - - /** - *

getPreferredStates

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredStates() { return getFilteredTerms(TermStore.getStates()); } - - /** - *

getPreferredModifiers

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredModifiers() { return getFilteredTerms(TermStore.getModifiers()); } - - /** - *

getPreferredStatisticalMeasures

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredStatisticalMeasures() { return getFilteredTerms(TermStore.getStatisticalMeasures()); } - - /** - *

getPreferredScopes

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredScopes() { return getFilteredTerms(TermStore.getScopes()); } - - /** - *

getPreferredDeterminationModifiers

- * - * @return a {@link java.util.List} object. - */ - public List getPreferredDeterminationModifiers() { return getFilteredTerms(TermStore.getDeterminationModifiers()); } +// +// /** +// *

getPreferredFeatures

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredFeatures() { return getFilteredTerms(TermStore.getFeatures());} +// +// /** +// *

getPreferredRanks

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredRanks() { return getFilteredTerms(TermStore.getRanks());} +// +// /** +// *

getPreferredPresenceAbsenceTerms

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredPresenceAbsenceTerms(){ return getFilteredTerms(TermStore.getPresenceAbsenceTerms());} +// +// /** +// *

getPreferredNomenclaturalStatusTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredNomenclaturalStatusTypes(){ return getFilteredTerms(TermStore.getNomenclaturalStatusTypes());} +// +// /** +// *

getPreferredNameRelationshipTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredNameRelationshipTypes(){ return getFilteredTerms(TermStore.getNameRelationshipTypes());} +// +// /** +// *

getPreferredLanguages

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredLanguages() { return getFilteredTerms(TermStore.getLanguages()); } +// +// /** +// *

getPreferredMarkerTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredMarkerTypes() { return getFilteredTerms(TermStore.getNonTechnicalMarkerTypes()); } +// +// /** +// *

getPreferredExtensionTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredExtensionTypes() { return getFilteredTerms(TermStore.getExtensionTypes()); } +// +// /** +// *

getPreferredRightsTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredRightsTypes() { return getFilteredTerms(TermStore.getRightsTypes());} +// +// /** +// *

getPreferredNamedAreaTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredNamedAreaTypes() { return getFilteredTerms(TermStore.getNamedAreaTypes()); } +// +// /** +// *

getPreferredNamedAreaTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredNamedAreaLevels() { return getFilteredTerms(TermStore.getNamedAreaLevels()); } +// +// /** +// *

getPreferredAnnotationTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredAnnotationTypes() { return getFilteredTerms(TermStore.getAnnotationTypes()); } +// +// /** +// *

getPreferredStages

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredStages() { return getFilteredTerms(TermStore.getStages()); } +// +// /** +// *

getPreferredPreservationMethods

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredPreservationMethods() { return getFilteredTerms(TermStore.getPreservationMethods()); } +// +// /** +// *

getPreferredMeasurementUnits

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredMeasurementUnits() { return getFilteredTerms(TermStore.getMeasurementUnits()); } +// +// /** +// *

getPreferredStates

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredStates() { return getFilteredTerms(TermStore.getStates()); } +// +// /** +// *

getPreferredModifiers

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredModifiers() { return getFilteredTerms(TermStore.getModifiers()); } +// +// /** +// *

getPreferredStatisticalMeasures

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredStatisticalMeasures() { return getFilteredTerms(TermStore.getStatisticalMeasures()); } +// +// /** +// *

getPreferredScopes

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredScopes() { return getFilteredTerms(TermStore.getScopes()); } +// +// /** +// *

getPreferredDeterminationModifiers

+// * +// * @return a {@link java.util.List} object. +// */ +// public List getPreferredDeterminationModifiers() { return getFilteredTerms(TermStore.getDeterminationModifiers()); } +// /** * Generic method to set term preferences * @@ -361,19 +357,4 @@ public class TermManager extends ContextListenerAdapter{ hiddenTermsMap.put(typeName, undesiredTermUuids); } - - /** - *

addTermToPreferredTerms

- * - * @param term a T object. - * @param a T object. - */ - public void addTermToPreferredTerms(T term){ - -// VocabularyEnum vocabulary = VocabularyEnum.getVocabularyEnum(term.getClass()); -// -// getPreferenceStore().setValue(getPreferenceKey(term), VocabularyStore.getTermVocabulary(vocabulary).getTerms().contains(term)); -// -// firePreferencesChanged(term.getClass()); - } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java index d462cc8ca..120a1b07d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java @@ -11,43 +11,23 @@ package eu.etaxonomy.taxeditor.store; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; +import java.util.HashSet; import java.util.List; +import java.util.Set; import eu.etaxonomy.cdm.api.service.ITermService; -import eu.etaxonomy.cdm.api.service.IVocabularyService; -import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; -import eu.etaxonomy.cdm.model.common.AnnotationType; import eu.etaxonomy.cdm.model.common.DefinedTermBase; -import eu.etaxonomy.cdm.model.common.ExtensionType; -import eu.etaxonomy.cdm.model.common.Language; import eu.etaxonomy.cdm.model.common.MarkerType; -import eu.etaxonomy.cdm.model.common.OrderedTermBase; -import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary; -import eu.etaxonomy.cdm.model.common.TermVocabulary; -import eu.etaxonomy.cdm.model.common.VocabularyEnum; import eu.etaxonomy.cdm.model.description.AbsenceTerm; import eu.etaxonomy.cdm.model.description.Feature; -import eu.etaxonomy.cdm.model.description.MeasurementUnit; -import eu.etaxonomy.cdm.model.description.Modifier; import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; import eu.etaxonomy.cdm.model.description.PresenceTerm; -import eu.etaxonomy.cdm.model.description.Scope; -import eu.etaxonomy.cdm.model.description.Stage; -import eu.etaxonomy.cdm.model.description.State; -import eu.etaxonomy.cdm.model.description.StatisticalMeasure; -import eu.etaxonomy.cdm.model.location.NamedAreaType; -import eu.etaxonomy.cdm.model.location.ReferenceSystem; -import eu.etaxonomy.cdm.model.media.RightsTerm; -import eu.etaxonomy.cdm.model.name.NameRelationshipType; -import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; -import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; import eu.etaxonomy.cdm.model.name.Rank; -import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; -import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier; -import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; +import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; /** @@ -60,257 +40,123 @@ import eu.etaxonomy.taxeditor.preference.PreferencesUtil; * @version 1.0 */ public class TermStore { - - /** - *

getSpecimenTypeDesignationStatus

- * - * @return a {@link java.util.List} object. - */ - public static List getSpecimenTypeDesignationStatus() { - return getTerms(SpecimenTypeDesignationStatus.class); - } - - /** - *

getNameTypeDesignationStatus

- * - * @return a {@link java.util.List} object. - */ - public static List getNameTypeDesignationStatus() { - return getTerms(NameTypeDesignationStatus.class); - } - - /** - *

getNamedAreaTypes

- * - * @return a {@link java.util.List} object. - */ - public static List getNamedAreaTypes(){ - return getTerms(NamedAreaType.class); - } - /** - *

getAnnotationTypes

- * - * @return a {@link java.util.List} object. - */ - public static List getAnnotationTypes(){ - return getTerms(AnnotationType.class); - } - /** - *

getTaxonRelationshipTypes

- * - * @return a {@link java.util.List} object. - */ - public static List getTaxonRelationshipTypes(){ - return getTerms(TaxonRelationshipType.class); + public static List getTerms(Class clazz){ + return getTerms(clazz, null, true); } - /** - *

getLanguages

- * - * @return a {@link java.util.List} object. + * Returns a list of terms of the given type currently available in the system. + * If filtered is set to true, all terms for certain types will be + * gathered from edge cases. + * + * @param clazz + * @param comparator + * @param filtered Will filter out some results + * @return */ - public static List getLanguages(){ - return getTerms(Language.class); - } - - /** - *

getFeatures

- * - * @return a {@link java.util.List} object. - */ - public static List getFeatures() { - List features = getTerms(Feature.class); - features.remove(Feature.IMAGE()); - return features; - - } - - /** - *

getNameRelationshipTypes

- * - * @return a {@link java.util.List} object. - */ - public static List getNameRelationshipTypes() { - return getTerms(NameRelationshipType.class); - } - - /** - *

getNomenclaturalStatusTypes

- * - * @return a {@link java.util.List} object. - */ - public static List getNomenclaturalStatusTypes(){ - return getTerms(NomenclaturalStatusType.class); - } - + public static List getTerms(Class clazz, Comparator comparator, boolean filtered){ + List terms = new ArrayList(); - /** - *

getNonTechnicalMarkerTypes

- * - * @return a {@link java.util.List} object. - */ - public static List getNonTechnicalMarkerTypes() { - List nonTechnicalMarkerTypes = new ArrayList(); - List markerTypes = getTerms(MarkerType.class); - - for (Object type : markerTypes) { - if (((MarkerType) type).isTechnical() == false) { - nonTechnicalMarkerTypes.add((MarkerType) type); - } + ITermStoreEdgeCase edgeCase = getEdgeCase(clazz); + if(filtered && edgeCase != null){ + terms = edgeCase.getTerms(); + }else{ + terms = getTermsFromService(clazz, comparator); } - return nonTechnicalMarkerTypes; - } - - - /** - *

getExtensionTypes

- * - * @return a {@link java.util.List} object. - */ - public static List getExtensionTypes() { - return getTerms(ExtensionType.class); - } - - /** - *

getRightsTypes

- * - * @return a {@link java.util.List} object. - */ - public static List getRightsTypes() { - return getTerms(RightsTerm.class); + return terms; + } - - /** - * Retrieve all ranks from data store. - * - * @return a {@link java.util.List} object. - */ - public static List getRanks(){ - if(PreferencesUtil.getSortRanksHierarchichally()){ - return getTerms(Rank.class, new Comparator(){ - + private static List getTermsFromService(Class termClass, Comparator comparator){ + if (comparator == null){ + comparator = new Comparator() { @Override - public int compare(Rank o1, Rank o2) { - return o1.compareTo(o2); + public int compare(T o1, T o2) { + String label1 = o1.getLabel(CdmStore.getDefaultLanguage()) != null ? o1.getLabel(CdmStore.getDefaultLanguage()) : o1.getTitleCache(); + String label2 = o2.getLabel(CdmStore.getDefaultLanguage()) != null ? o2.getLabel(CdmStore.getDefaultLanguage()) : o2.getTitleCache(); + return label1.compareTo(label2); } - - }); - }else{ - return getTerms(Rank.class); + }; } + + List terms = CdmStore.getService(ITermService.class).listByTermClass(termClass, null, null, null, null); + Collections.sort(terms, comparator); + return terms; } +// /** +// *

getFeatures

+// * +// * @return a {@link java.util.List} object. +// */ +// public static List getFeatures() { +// List features = getTerms(Feature.class); +// features.remove(Feature.IMAGE()); +// return features; +// +// } +// +// +// /** +// *

getNonTechnicalMarkerTypes

+// * +// * @return a {@link java.util.List} object. +// */ +// public static List getNonTechnicalMarkerTypes() { +// List nonTechnicalMarkerTypes = new ArrayList(); +// List markerTypes = getTerms(MarkerType.class); +// +// for (Object type : markerTypes) { +// if (((MarkerType) type).isTechnical() == false) { +// nonTechnicalMarkerTypes.add((MarkerType) type); +// } +// } +// +// return nonTechnicalMarkerTypes; +// } +// +// /** +// * Retrieve all ranks from data store. +// * +// * @return a {@link java.util.List} object. +// */ +// public static List getRanks(){ +// if(PreferencesUtil.getSortRanksHierarchichally()){ +// return getTerms(Rank.class, new Comparator(){ +// +// @Override +// public int compare(Rank o1, Rank o2) { +// return o1.compareTo(o2); +// } +// +// }); +// }else{ +// return getTerms(Rank.class); +// } +// } +// +// +// /** +// * Retrieve all presence and absence terms from data store. +// * +// * @return a {@link java.util.List} object. +// */ +// public static List getPresenceAbsenceTerms() { +// List presenceAbsenceTerms = getTerms(PresenceTerm.class); +// presenceAbsenceTerms.addAll(getTerms(AbsenceTerm.class)); +// +// return presenceAbsenceTerms; +// } /** - * Retrieve all presence and absence terms from data store. - * - * @return a {@link java.util.List} object. - */ - public static List getPresenceAbsenceTerms() { - List presenceAbsenceTerms = getTerms(PresenceTerm.class); - presenceAbsenceTerms.addAll(getTerms(AbsenceTerm.class)); - - return presenceAbsenceTerms; - } - - /** - * Retrieve all stages from data store. - * - * @return a {@link java.util.List} object. - */ - public static List getStages(){ - return getTerms(Stage.class); - } - - /** - * Retrieve all states from data store. - * - * @return a {@link java.util.List} object. - */ - public static List getStates() { - return getTerms(State.class); - } - - /** - * Retrieve all preservation methods from data store. - * - * @return a {@link java.util.List} object. - */ - public static List getPreservationMethods(){ - return getTerms(PreservationMethod.class); - } - - - - /** - *

getMeasurementUnits

- * - * @return a {@link java.util.List} object. - */ - public static List getMeasurementUnits() { - return getTerms(MeasurementUnit.class); - } - - - /** - *

getModifiers

- * - * @return a {@link java.util.List} object. - */ - public static List getModifiers() { - return getTerms(Modifier.class); - } - - - /** - *

getStatisticalMeasures

- * - * @return a {@link java.util.List} object. - */ - public static List getStatisticalMeasures() { - return getTerms(StatisticalMeasure.class); - } - - /** - *

getScopes

- * - * @return a {@link java.util.List} object. - */ - public static List getScopes() { - return getTerms(Scope.class); - } - - /** - *

getDeterminationModifiers

- * - * @return a {@link java.util.List} object. - */ - public static List getDeterminationModifiers() { - return getTerms(DeterminationModifier.class); - } - - /** - *

getReferenceSystems

- * - * @return a {@link java.util.List} object. - */ - public static List getReferenceSystems() { - return getTerms(ReferenceSystem.class); - } - - /** - ************* save methods ***************************** - * * @param term a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase} object. */ public static void saveTerm(DefinedTermBase term){ - getTermService().saveOrUpdate(term); + CdmStore.getService(ITermService.class).saveOrUpdate(term); } /** @@ -319,7 +165,7 @@ public class TermStore { * @param selected a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase} object. */ public static void delete(DefinedTermBase selected) { - getTermService().delete(selected); + CdmStore.getService(ITermService.class).delete(selected); } /** @@ -328,62 +174,139 @@ public class TermStore { * @param term a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase} object. */ public static void updateVocabulary(DefinedTermBase term) { - getTermService().saveOrUpdate(term); + CdmStore.getService(ITermService.class).saveOrUpdate(term); } + private static Set> termStoreEdgeCases = new HashSet>(); - - /*************** internal methods **************************/ - - private static Language getDefaultLanguage(){ - return CdmStore.getDefaultLanguage(); - } - - private static OrderedTermVocabulary getOrderedTermVocabulary(VocabularyEnum vocabularyType){ - TermVocabulary vocabulary = getTermVocabulary(vocabularyType); - return HibernateProxyHelper.deproxy(vocabulary, OrderedTermVocabulary.class); + static { + termStoreEdgeCases.add(new ITermStoreEdgeCase() { + + @Override + public Class getTermClass() { + return Feature.class; + } + + @Override + public List getTerms() { + List features = TermStore.getTermsFromService(Feature.class, null); + features.remove(Feature.IMAGE()); + return features; + } + }); + termStoreEdgeCases.add(new ITermStoreEdgeCase(){ + + @Override + public Class getTermClass() { + return MarkerType.class; + } + + @Override + public List getTerms() { + // filter out non technical markers + List nonTechnicalMarkerTypes = new ArrayList(); + List markerTypes = TermStore.getTermsFromService(MarkerType.class, null); + + for (Object type : markerTypes) { + if (((MarkerType) type).isTechnical() == false) { + nonTechnicalMarkerTypes.add((MarkerType) type); + } + } + + return nonTechnicalMarkerTypes; + } + + }); + termStoreEdgeCases.add(new ITermStoreEdgeCase() { + + @Override + public Class getTermClass() { + return Rank.class; + } + + @Override + public List getTerms() { + if(PreferencesUtil.getSortRanksHierarchichally()){ + return TermStore.getTermsFromService(Rank.class, new Comparator(){ + + @Override + public int compare(Rank o1, Rank o2) { + return o1.compareTo(o2); + } + + }); + }else{ + return TermStore.getTermsFromService(Rank.class, null); + } + } + + }); + termStoreEdgeCases.add(new ITermStoreEdgeCase() { + + @Override + public Class getTermClass() { + return PresenceAbsenceTermBase.class; + } + + @Override + public List getTerms() { + List presenceAbsenceTerms = TermStore.getTermsFromService(PresenceTerm.class, null); + presenceAbsenceTerms.addAll(TermStore.getTermsFromService(AbsenceTerm.class, null)); + + return presenceAbsenceTerms; + } + }); + termStoreEdgeCases.add(new ITermStoreEdgeCase() { + + @Override + public Class getTermClass() { + return TaxonRelationshipTypeInverseContainer.class; + } + + @Override + public List getTerms() { + List excludeTaxonRelationshipTypes = Arrays.asList(new TaxonRelationshipType[]{ + TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN(), + TaxonRelationshipType.MISAPPLIED_NAME_FOR(), + TaxonRelationshipType.ALL_RELATIONSHIPS() + }); + + List relationshipTypeInverseContainers = new ArrayList(); + + List relationshipTypes = TermStore.getTerms(TaxonRelationshipType.class); + + relationshipTypes.removeAll(excludeTaxonRelationshipTypes); + + for (TaxonRelationshipType relationshipType : relationshipTypes){ + if(!relationshipType.isSymmetric()){ + TaxonRelationshipTypeInverseContainer inverseContainer = new TaxonRelationshipTypeInverseContainer(relationshipType, true); + relationshipTypeInverseContainers.add(inverseContainer); + } + TaxonRelationshipTypeInverseContainer container = new TaxonRelationshipTypeInverseContainer(relationshipType, false); + relationshipTypeInverseContainers.add(container); + } + + return relationshipTypeInverseContainers; + } + }); } - /** - *

getTermVocabulary

- * - * @param vocabularyType a {@link eu.etaxonomy.cdm.model.common.VocabularyEnum} object. - * @return a {@link eu.etaxonomy.cdm.model.common.TermVocabulary} object. - */ - public static TermVocabulary getTermVocabulary(VocabularyEnum vocabularyType){ + private static ITermStoreEdgeCase getEdgeCase(Class termClass) { - return CdmStore.getService(IVocabularyService.class).getVocabulary(vocabularyType); - } - - private static List getTerms(Class clazz){ - Comparator comparator = new Comparator() { - @Override - public int compare(TERM o1, TERM o2) { - String label1 = o1.getLabel(getDefaultLanguage()) != null ? o1.getLabel(getDefaultLanguage()) : o1.getTitleCache(); - String label2 = o2.getLabel(getDefaultLanguage()) != null ? o2.getLabel(getDefaultLanguage()) : o2.getTitleCache(); - return label1.compareTo(label2); + for (ITermStoreEdgeCase termStoreEdgeCase : termStoreEdgeCases){ + if (termStoreEdgeCase.getTermClass().equals(termClass)){ + return termStoreEdgeCase; } - }; + } - return getTerms(clazz, comparator); + return null; } - - private static List getTerms(Class clazz, Comparator comparator){ + private interface ITermStoreEdgeCase { + public abstract Class getTermClass(); - List terms = new ArrayList(); - if(getTermService() != null){ - terms = getTermService().listByTermClass(clazz, null, null, null, null); + public abstract List getTerms(); - Collections.sort(terms, comparator); - } - - return terms; - - } - - private static ITermService getTermService(){ - return CdmStore.getService(ITermService.class); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/EmptyComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EmptyComboElement.java similarity index 86% rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/EmptyComboElement.java rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EmptyComboElement.java index 83647e794..b74bbf333 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/EmptyComboElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EmptyComboElement.java @@ -8,7 +8,7 @@ * See LICENSE.TXT at the top of this package for the full license terms. */ -package eu.etaxonomy.taxeditor.ui.term; +package eu.etaxonomy.taxeditor.ui.combo; import java.util.ArrayList; import java.util.List; @@ -27,10 +27,8 @@ import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; * @created Sep 29, 2010 * @version 1.0 */ -public class EmptyComboElement extends AbstractTermComboElement { +public class EmptyComboElement extends TermComboElement { - private static final int VISIBLE_ITEMS = 20; - private List genericTerms = new ArrayList(); /** @@ -43,9 +41,9 @@ public class EmptyComboElement extends AbstractTermCo * @param a T object. */ public EmptyComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, + ICdmFormElement parentElement, Class termClass, String labelString, int style) { - super(formFactory, parentElement, labelString, null, VISIBLE_ITEMS, style); + super(formFactory, parentElement, termClass, labelString, null, style); } @@ -54,7 +52,7 @@ public class EmptyComboElement extends AbstractTermCo */ /** {@inheritDoc} */ @Override - protected List preferredTerms() { + protected List getPreferredTerms() { return genericTerms != null ? genericTerms : new ArrayList(); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractEnumComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java similarity index 62% rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractEnumComboElement.java rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java index 1452ce07c..0b3770bcc 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractEnumComboElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java @@ -8,9 +8,11 @@ * See LICENSE.TXT at the top of this package for the full license terms. */ -package eu.etaxonomy.taxeditor.ui.term; +package eu.etaxonomy.taxeditor.ui.combo; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; import java.util.List; import org.eclipse.swt.SWT; @@ -20,6 +22,9 @@ import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Label; +import eu.etaxonomy.cdm.model.common.IDefinedTerm; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; +import eu.etaxonomy.cdm.model.reference.ReferenceType; import eu.etaxonomy.taxeditor.preference.Resources; import eu.etaxonomy.taxeditor.store.StoreUtil; import eu.etaxonomy.taxeditor.ui.forms.AbstractCdmFormElement; @@ -38,11 +43,50 @@ import eu.etaxonomy.taxeditor.ui.forms.ISelectable; * @created Mar 16, 2010 * @version 1.0 */ -public abstract class AbstractEnumComboElement extends +public class EnumComboElement extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectable { - private static final int VISIBLE_ITEMS = 10; + private static CdmEnumDataHolder[] cdmEnumDataHolders = { + new CdmEnumDataHolder(){ + + @Override + public String getName() { + return "Nomenclatural Code"; + } + + @Override + public Collection getElements() { + return Arrays.asList(NomenclaturalCode.values()); + } + + @Override + public Class getClazz() { + return NomenclaturalCode.class; + } + + }, + new CdmEnumDataHolder(){ + + @Override + public String getName() { + return "Reference Type"; + } + + @Override + public Collection getElements() { + return Arrays.asList(ReferenceType.values()); + } + + @Override + public Class getClazz() { + return ReferenceType.class; + } + + } + }; + + private static final int DEFAULT_VISIBLE_ITEMS = 10; protected T selection; @@ -51,6 +95,8 @@ public abstract class AbstractEnumComboElement extends private Label label; protected Combo combo; + private Class enumType; + /** *

* Constructor for AbstractEnumComboElement. @@ -67,29 +113,44 @@ public abstract class AbstractEnumComboElement extends * @param * a T object. */ - public AbstractEnumComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString) { + public EnumComboElement(CdmFormFactory formFactory, + ICdmFormElement parentElement, Class enumType, int style) { super(formFactory, parentElement); - label = formFactory.createLabel(getLayoutComposite(), labelString); + this.enumType = enumType; + label = formFactory.createLabel(getLayoutComposite(), getDefaultLabelString()); addControl(label); // create combo combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY); addControl(combo); combo.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY()); - combo.setVisibleItemCount(VISIBLE_ITEMS); + setVisibleItemCount(DEFAULT_VISIBLE_ITEMS); populateTypes(); combo.addSelectionListener(this); } + private String getDefaultLabelString() { + if(enumType.equals(ReferenceType.class)){ + return "Reference Type"; + }else if (enumType.equals(NomenclaturalCode.class)){ + return "Nomenclatural Code"; + } + return "No Label"; + } + /** *

* populateTypes *

*/ - protected abstract void populateTypes(); + private void populateTypes(){ + for(T enumElement : getElementsForClass(enumType)){ + elementTypeList.add(enumElement); + combo.add(((Enum) enumElement).name()); + } + } /** *

@@ -180,4 +241,31 @@ public abstract class AbstractEnumComboElement extends /** {@inheritDoc} */ public void widgetDefaultSelected(SelectionEvent e) { } + + public void setVisibleItemCount(int visibleItems){ + combo.setVisibleItemCount(visibleItems); + } + + private Collection getElementsForClass(Class clazz){ + CdmEnumDataHolder dataHolder = getCdmEnumDataHolderForClass(clazz); + if (dataHolder != null) { + return dataHolder.getElements(); + } + return null; + } + + private CdmEnumDataHolder getCdmEnumDataHolderForClass(Class clazz){ + for (CdmEnumDataHolder dataHolder : cdmEnumDataHolders) { + if (dataHolder.getClazz().equals(clazz)){ + return dataHolder; + } + } + return null; + } + + private interface CdmEnumDataHolder { + Class getClazz(); + String getName(); + Collection getElements(); + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractTermComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java similarity index 88% rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractTermComboElement.java rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java index 76c418b23..d82e6a745 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AbstractTermComboElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java @@ -1,7 +1,7 @@ /** * */ -package eu.etaxonomy.taxeditor.ui.term; +package eu.etaxonomy.taxeditor.ui.combo; import java.util.ArrayList; import java.util.Collections; @@ -16,7 +16,6 @@ import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Listener; @@ -43,14 +42,16 @@ import eu.etaxonomy.taxeditor.ui.forms.ISelectable; * @version 1.0 * @param */ -public abstract class AbstractTermComboElement +public class TermComboElement extends AbstractCdmFormElement implements SelectionListener, DisposeListener, IEnableableFormElement, ISelectable { - T selection; + private static final int DEFAULT_VISIBLE_ITEMS = 10; + + private T selection; + private T emptyElement; private static String EMPTY_ELEMENT_LABEL = ""; - T emptyElement; protected Label label; private Combo combo; @@ -59,7 +60,8 @@ public abstract class AbstractTermComboElement private Comparator termComparator; - private Composite msgComposite; + private Class termClass; + /** *

@@ -83,11 +85,13 @@ public abstract class AbstractTermComboElement * @param * a T object. */ - public AbstractTermComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, T selection, - int visibleItems, int style) { + public TermComboElement(CdmFormFactory formFactory, + ICdmFormElement parentElement, Class termClass, String labelString, T selection, + int style) { super(formFactory, parentElement); - + + this.termClass = termClass; + if (labelString != null) { label = formFactory.createLabel(getLayoutComposite(), labelString); addControl(label); @@ -97,9 +101,9 @@ public abstract class AbstractTermComboElement combo = new Combo(getLayoutComposite(), SWT.BORDER | SWT.READ_ONLY); addControl(combo); combo.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY()); - combo.setVisibleItemCount(visibleItems); + combo.setVisibleItemCount(DEFAULT_VISIBLE_ITEMS); - populateTerms(preferredTerms()); + populateTerms(getPreferredTerms()); combo.addSelectionListener(this); combo.addDisposeListener(this); @@ -217,7 +221,9 @@ public abstract class AbstractTermComboElement * * @return a {@link java.util.List} object. */ - protected abstract List preferredTerms(); + protected List getPreferredTerms(){ + return getTermManager().getPreferredTerms(termClass); + } /** * May be overridden by derived classes if the desired label string does not @@ -232,7 +238,7 @@ public abstract class AbstractTermComboElement } private void createTermNotInPreferredTerms(T term) { - List preferredTerms = preferredTerms(); + List preferredTerms = getPreferredTerms(); preferredTerms.add(term); @@ -288,7 +294,7 @@ public abstract class AbstractTermComboElement if (event != null && PreferencesUtil.PREFERRED_TERMS_CHANGE.equals(event .getProperty())) { - populateTerms(preferredTerms()); + populateTerms(getPreferredTerms()); } } @@ -329,4 +335,16 @@ public abstract class AbstractTermComboElement protected TermManager getTermManager() { return CdmStore.getTermManager(); } + + public int getVisibleItemCount(){ + return combo.getVisibleItemCount(); + } + + public void setVisibleItemCount(int count){ + combo.setVisibleItemCount(count); + } + + public void setTerms(List terms) { + populateTerms(terms); + } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CdmFormFactory.java index 2f01add81..a6adbc41a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CdmFormFactory.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/CdmFormFactory.java @@ -42,93 +42,85 @@ import org.joda.time.Partial; import org.springframework.security.core.GrantedAuthority; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.agent.Institution; import eu.etaxonomy.cdm.model.agent.Person; import eu.etaxonomy.cdm.model.agent.Team; import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; import eu.etaxonomy.cdm.model.common.Annotation; -import eu.etaxonomy.cdm.model.common.AnnotationType; import eu.etaxonomy.cdm.model.common.Credit; import eu.etaxonomy.cdm.model.common.DefinedTermBase; import eu.etaxonomy.cdm.model.common.DescriptionElementSource; import eu.etaxonomy.cdm.model.common.Extension; -import eu.etaxonomy.cdm.model.common.ExtensionType; import eu.etaxonomy.cdm.model.common.Group; import eu.etaxonomy.cdm.model.common.IAnnotatableEntity; import eu.etaxonomy.cdm.model.common.ICdmBase; +import eu.etaxonomy.cdm.model.common.IDefinedTerm; import eu.etaxonomy.cdm.model.common.IdentifiableSource; import eu.etaxonomy.cdm.model.common.Language; import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.common.Marker; -import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.cdm.model.common.TermVocabulary; import eu.etaxonomy.cdm.model.common.TimePeriod; import eu.etaxonomy.cdm.model.common.User; import eu.etaxonomy.cdm.model.common.VersionableEntity; import eu.etaxonomy.cdm.model.description.CategoricalData; import eu.etaxonomy.cdm.model.description.CommonTaxonName; +import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; import eu.etaxonomy.cdm.model.description.Distribution; import eu.etaxonomy.cdm.model.description.Feature; import eu.etaxonomy.cdm.model.description.FeatureTree; import eu.etaxonomy.cdm.model.description.IndividualsAssociation; import eu.etaxonomy.cdm.model.description.KeyStatement; -import eu.etaxonomy.cdm.model.description.MeasurementUnit; import eu.etaxonomy.cdm.model.description.Modifier; import eu.etaxonomy.cdm.model.description.PolytomousKey; import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; -import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; import eu.etaxonomy.cdm.model.description.QuantitativeData; import eu.etaxonomy.cdm.model.description.Scope; -import eu.etaxonomy.cdm.model.description.Sex; -import eu.etaxonomy.cdm.model.description.Stage; -import eu.etaxonomy.cdm.model.description.State; import eu.etaxonomy.cdm.model.description.StateData; -import eu.etaxonomy.cdm.model.description.StatisticalMeasure; import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue; import eu.etaxonomy.cdm.model.description.TaxonInteraction; import eu.etaxonomy.cdm.model.description.TextData; import eu.etaxonomy.cdm.model.location.NamedArea; -import eu.etaxonomy.cdm.model.location.NamedAreaType; +import eu.etaxonomy.cdm.model.location.NamedAreaLevel; import eu.etaxonomy.cdm.model.location.Point; -import eu.etaxonomy.cdm.model.location.ReferenceSystem; import eu.etaxonomy.cdm.model.media.ImageFile; import eu.etaxonomy.cdm.model.media.Media; import eu.etaxonomy.cdm.model.media.MediaRepresentation; import eu.etaxonomy.cdm.model.media.MediaRepresentationPart; import eu.etaxonomy.cdm.model.media.Rights; -import eu.etaxonomy.cdm.model.media.RightsTerm; import eu.etaxonomy.cdm.model.name.NameRelationship; -import eu.etaxonomy.cdm.model.name.NameRelationshipType; import eu.etaxonomy.cdm.model.name.NameTypeDesignation; -import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; -import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; -import eu.etaxonomy.cdm.model.name.Rank; +import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation; -import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.occurrence.Collection; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase; import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; -import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier; import eu.etaxonomy.cdm.model.occurrence.FieldObservation; -import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; +import eu.etaxonomy.cdm.model.occurrence.GatheringEvent; import eu.etaxonomy.cdm.model.occurrence.Specimen; +import eu.etaxonomy.cdm.model.reference.INomenclaturalReference; import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.cdm.model.taxon.Classification; import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; import eu.etaxonomy.cdm.strategy.parser.ParserProblem; -import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.password.EditPasswordElement; import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled; import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.section.EmptyElement; import eu.etaxonomy.taxeditor.ui.section.agent.InstitutionDetailElement; @@ -265,6 +257,11 @@ import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailElement; import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection; import eu.etaxonomy.taxeditor.ui.section.user.UserDetailElement; import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailElement; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailSection; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailElement; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection; import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.ClassificationSelectionElement; @@ -288,34 +285,6 @@ import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.TeamSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.UserSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement; -import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; -import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement; -import eu.etaxonomy.taxeditor.ui.term.DeterminationModifierComboElement; -import eu.etaxonomy.taxeditor.ui.term.EmptyComboElement; -import eu.etaxonomy.taxeditor.ui.term.ExtensionTypeComboElement; -import eu.etaxonomy.taxeditor.ui.term.LanguageComboElement; -import eu.etaxonomy.taxeditor.ui.term.MarkerTypeComboElement; -import eu.etaxonomy.taxeditor.ui.term.MeasurementUnitComboElement; -import eu.etaxonomy.taxeditor.ui.term.ModifierComboElement; -import eu.etaxonomy.taxeditor.ui.term.NameRelationshipTypeComboElement; -import eu.etaxonomy.taxeditor.ui.term.NameTypeDesignationStatusComboElement; -import eu.etaxonomy.taxeditor.ui.term.NamedAreaTypeComboElement; -import eu.etaxonomy.taxeditor.ui.term.NomenclaturalCodeComboElement; -import eu.etaxonomy.taxeditor.ui.term.NomenclaturalStatusTypeComboElement; -import eu.etaxonomy.taxeditor.ui.term.PresenceAbsenceTermComboElement; -import eu.etaxonomy.taxeditor.ui.term.PreservationMethodComboElement; -import eu.etaxonomy.taxeditor.ui.term.RankComboElement; -import eu.etaxonomy.taxeditor.ui.term.ReferenceSystemComboElement; -import eu.etaxonomy.taxeditor.ui.term.ReferenceTypeComboElement; -import eu.etaxonomy.taxeditor.ui.term.RightsTypeComboElement; -import eu.etaxonomy.taxeditor.ui.term.ScopeComboElement; -import eu.etaxonomy.taxeditor.ui.term.SexComboElement; -import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement; -import eu.etaxonomy.taxeditor.ui.term.StageComboElement; -import eu.etaxonomy.taxeditor.ui.term.StateComboElement; -import eu.etaxonomy.taxeditor.ui.term.StatisticalMeasureComboElement; -import eu.etaxonomy.taxeditor.ui.term.TaxonRelationshipTypeComboElement; /** *

@@ -962,33 +931,6 @@ public class CdmFormFactory extends FormToolkit { return element; } - public static enum TermComboType { - EXTENSIONTYPE, - LANGUAGE, - MARKERTYPE, - NOMENCLATURALSTATUSTYPE, - RANK, - RIGHTSTYPE, - NAMERELATIONSHIP, - NAMEDAREATYPE, - PRESENCEABSENCESTATUS, - ANNOTATIONTYPE, - NAMETYPEDESIGNATIONSTATUS, - SPECIMENTYPEDESIGNATIONSTATUS, - SEX, - STAGE, - PRESERVATION_METHOD, - MEASUREMENT_UNIT, - STATE, - MODIFIER, - STATISTICAL_MEASURE, - SCOPE, - EMPTY, - DETERMINATION_MODIFIER, - REFERENCE_SYSTEM, - TAXON_RELATIONSHIP_TYPE_INVERSE_CONTAINER - } - /** *

* createTermComboElement @@ -1008,125 +950,19 @@ public class CdmFormFactory extends FormToolkit { * object. * @param style * a int. - * @return a {@link eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement} + * @return a {@link eu.etaxonomy.taxeditor.ui.combo.TermComboElement} * object. */ - public AbstractTermComboElement createTermComboElement( - TermComboType termComboType, ICdmFormElement parentElement, - String labelString, DefinedTermBase selection, int style) { - AbstractTermComboElement element = null; - - switch (termComboType) { - case EMPTY: - element = new EmptyComboElement(this, - parentElement, labelString, style); - break; - case EXTENSIONTYPE: - element = new ExtensionTypeComboElement(this, parentElement, - labelString, (ExtensionType) selection, style); - break; - case LANGUAGE: - element = new LanguageComboElement(this, parentElement, - labelString, (Language) selection, style); - break; - case MARKERTYPE: - element = new MarkerTypeComboElement(this, parentElement, - labelString, (MarkerType) selection, style); - break; - case NOMENCLATURALSTATUSTYPE: - element = new NomenclaturalStatusTypeComboElement(this, - parentElement, labelString, - (NomenclaturalStatusType) selection, style); - break; - case RANK: - element = new RankComboElement(this, parentElement, labelString, - (Rank) selection, style); - break; - case RIGHTSTYPE: - element = new RightsTypeComboElement(this, parentElement, - labelString, (RightsTerm) selection, style); - break; - case NAMERELATIONSHIP: - element = new NameRelationshipTypeComboElement(this, parentElement, - labelString, (NameRelationshipType) selection, style); - break; - case NAMEDAREATYPE: - element = new NamedAreaTypeComboElement(this, parentElement, - labelString, (NamedAreaType) selection, style); - break; - case ANNOTATIONTYPE: - element = new AnnotationTypeComboElement(this, parentElement, - labelString, (AnnotationType) selection, style); - break; - case PRESENCEABSENCESTATUS: - element = new PresenceAbsenceTermComboElement(this, parentElement, - labelString, (PresenceAbsenceTermBase) selection, style); - break; - case NAMETYPEDESIGNATIONSTATUS: - element = new NameTypeDesignationStatusComboElement(this, - parentElement, labelString, - (NameTypeDesignationStatus) selection, style); - break; - case SPECIMENTYPEDESIGNATIONSTATUS: - element = new SpecimenTypeDesignationStatusComboElement(this, - parentElement, labelString, - (SpecimenTypeDesignationStatus) selection, style); - break; - case SEX: - element = new SexComboElement(this, parentElement, labelString, - (Sex) selection, style); - break; - case STAGE: - element = new StageComboElement(this, parentElement, labelString, - (Stage) selection, style); - break; - case PRESERVATION_METHOD: - element = new PreservationMethodComboElement(this, parentElement, - labelString, (PreservationMethod) selection, style); - break; - case MEASUREMENT_UNIT: - element = new MeasurementUnitComboElement(this, parentElement, - labelString, (MeasurementUnit) selection, style); - break; - case STATE: - element = new StateComboElement(this, parentElement, labelString, - (State) selection, style); - break; - case SCOPE: - element = new ScopeComboElement(this, parentElement, labelString, - (Scope) selection, style); - break; - case MODIFIER: - element = new ModifierComboElement(this, parentElement, - labelString, (Modifier) selection, style); - break; - case STATISTICAL_MEASURE: - element = new StatisticalMeasureComboElement(this, parentElement, - labelString, (StatisticalMeasure) selection, style); - break; - case DETERMINATION_MODIFIER: - element = new DeterminationModifierComboElement(this, - parentElement, labelString, - (DeterminationModifier) selection, style); - break; - case REFERENCE_SYSTEM: - element = new ReferenceSystemComboElement(this, parentElement, - labelString, (ReferenceSystem) selection, style); - break; - case TAXON_RELATIONSHIP_TYPE_INVERSE_CONTAINER: - element = new TaxonRelationshipTypeComboElement(this, parentElement, labelString, (TaxonRelationshipTypeInverseContainer) selection, style); - break; - } - + + public TermComboElement createTermComboElement( + Class termComboType, ICdmFormElement parentElement, + String labelString, T selection, int style) { + TermComboElement element = new TermComboElement(this, parentElement, termComboType, labelString, selection, style); adapt(element); parentElement.addElement(element); return element; } - public static enum EnumComboType { - REFERENCETYPE, NOMENCLATURALCODE - } - /** *

* createEnumComboElement @@ -1144,21 +980,10 @@ public class CdmFormFactory extends FormToolkit { * @return a {@link eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement} * object. */ - public AbstractEnumComboElement createEnumComboElement( - EnumComboType enumComboType, ICdmFormElement parentElement, + public EnumComboElement createEnumComboElement( + Class enumComboType, ICdmFormElement parentElement, int style) { - AbstractEnumComboElement element = null; - - switch (enumComboType) { - case REFERENCETYPE: - element = new ReferenceTypeComboElement(this, parentElement, - "Reference Type", null, style); - break; - case NOMENCLATURALCODE: - element = new NomenclaturalCodeComboElement(this, parentElement, - "Nomenclatural Code", null, style); - break; - } + EnumComboElement element = new EnumComboElement(this, parentElement, enumComboType, style); adapt(element); parentElement.addElement(element); return element; @@ -1705,7 +1530,45 @@ public class CdmFormFactory extends FormToolkit { GROUP, DETERMINATION, TAXON_RELATIONSHIP, - REFERENCED_ENTITY + REFERENCED_ENTITY, + TERM_VOCABULARY, + NAMED_AREA, + NAMED_AREA_LEVEL + } + + public AbstractFormSection createDefinedTermDetailSection(Class definedTermClass, + ConversationHolder conversation, ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + + AbstractFormSection section = new DefinedTermDetailSection(this, definedTermClass, conversation, parentElement, selectionProvider, style); + + parentElement.addElement(section); + adapt(section); + return section; + + } + + /** + * @param definedTermClass + * @param formElement + * @param style + * @return + */ + public AbstractCdmDetailElement createDefinedTermDetailElement( + Class definedTermClass, AbstractCdmDetailSection parentElement, + int style) { + AbstractCdmDetailElement element = null; + + if (NamedArea.class.isAssignableFrom(definedTermClass)){ + element = new eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailElement(this, parentElement); + } + else { + element = new DefinedTermDetailElement(this, parentElement); + } + + adapt(element); + parentElement.addElement(element); + return element; } /** @@ -1860,6 +1723,14 @@ public class CdmFormFactory extends FormToolkit { section = new ReferencedEntityDetailSection(this, conversation, parentElement, selectionProvider, style); break; + case TERM_VOCABULARY: + section = new TermVocabularyDetailSection(this, conversation, parentElement, + selectionProvider, style); + break; + case NAMED_AREA: + section = new NamedAreaDetailSection(this, conversation, parentElement, + selectionProvider, style); + break; } if (section == null) { @@ -1872,6 +1743,8 @@ public class CdmFormFactory extends FormToolkit { return section; } + + /** *

* createCdmDetailElement @@ -1984,6 +1857,15 @@ public class CdmFormFactory extends FormToolkit { case REFERENCED_ENTITY: element = new RefereneEntityDetailElement(this, parentElement); break; + case TERM_VOCABULARY: + element = new TermVocabularyDetailElement(this, parentElement); + break; + case NAMED_AREA: + element = new eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailElement(this, parentElement); + break; + case NAMED_AREA_LEVEL: + element = new DefinedTermDetailElement(this, parentElement); + break; } if (element == null) { @@ -2005,7 +1887,41 @@ public class CdmFormFactory extends FormToolkit { * @version 1.0 */ public static enum EntityDetailType { - TEAM, TEAMMEMBER, ANNOTATION, CREDIT, DESCRIPTIONELEMENTSOURCE, EXTENSION, MARKER, MEDIA, DESCRIPTIONELEMENTMEDIA, MEDIAREPRESENTATION, MEDIAREPRESENTATIONPART, MODIFIER, NOMENCLATURALSTATUS, NAME_RELATIONSHIP, PROTOLOG, RIGHTS, SOURCE, SCOPE, DESCRIPTIONSOURCE, TYPEDESIGNATION, STATE_DATA, STATISTICAL_MEASUREMENT_VALUE, DESCRIBED_SPECIMEN, COLLECTING_AREA, DETERMINATION_EVENT, SPECIMEN_COLLECTION, IDENTIFIABLE_SOURCE_COLLECTION, GEOGRAPHICAL_SCOPE, SCOPE_RESTRICTION, MEMBER, GRANTED_AUTHORITY, GROUPS_BY_USER, TAXONOMIC_SCOPE, DETERMINATION_CURRENT, DETERMINATION_HISTORY + TEAM, + TEAMMEMBER, + ANNOTATION, + CREDIT, + DESCRIPTIONELEMENTSOURCE, + EXTENSION, + MARKER, + MEDIA, + DESCRIPTIONELEMENTMEDIA, + MEDIAREPRESENTATION, + MEDIAREPRESENTATIONPART, + MODIFIER, + NOMENCLATURALSTATUS, + NAME_RELATIONSHIP, + PROTOLOG, + RIGHTS, + SOURCE, + SCOPE, + DESCRIPTIONSOURCE, + TYPEDESIGNATION, + STATE_DATA, + STATISTICAL_MEASUREMENT_VALUE, + DESCRIBED_SPECIMEN, + COLLECTING_AREA, + DETERMINATION_EVENT, + SPECIMEN_COLLECTION, + IDENTIFIABLE_SOURCE_COLLECTION, + GEOGRAPHICAL_SCOPE, + SCOPE_RESTRICTION, + MEMBER, + GRANTED_AUTHORITY, + GROUPS_BY_USER, + TAXONOMIC_SCOPE, + DETERMINATION_CURRENT, + DETERMINATION_HISTORY } /** @@ -2589,4 +2505,6 @@ public class CdmFormFactory extends FormToolkit { // text.addFocusListener(visibilityHandler); return text; } + + } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java index 19fe700b2..91829bbe3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/MultilanguageTextElement.java @@ -29,8 +29,7 @@ import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; -import eu.etaxonomy.taxeditor.ui.term.EmptyComboElement; +import eu.etaxonomy.taxeditor.ui.combo.EmptyComboElement; import eu.etaxonomy.taxeditor.ui.translation.TranslationWizard; /** @@ -117,7 +116,7 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements if (PreferencesUtil.isMultilanguageTextEditingCapability()) { combo_language = (EmptyComboElement) formFactory - .createTermComboElement(TermComboType.EMPTY, formElement, + .createTermComboElement(Language.class, formElement, "", null, style); combo_language.addSelectionListener(this); addControl(formFactory.createLabel(getLayoutComposite(), "")); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PointElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PointElement.java index 658032595..f6f012f5f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PointElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/PointElement.java @@ -15,9 +15,9 @@ import java.text.ParseException; import org.eclipse.jface.util.PropertyChangeEvent; import eu.etaxonomy.cdm.model.location.Point; +import eu.etaxonomy.cdm.model.location.ReferenceSystem; import eu.etaxonomy.taxeditor.preference.Resources; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; -import eu.etaxonomy.taxeditor.ui.term.ReferenceSystemComboElement; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; /** *

@@ -36,7 +36,7 @@ public class PointElement extends AbstractCdmFormElement implements private final TextWithLabelElement text_latitude; private final TextWithLabelElement text_longitude; private final NumberWithLabelElement number_errorRadius; - private final ReferenceSystemComboElement combo_referenceSystem; + private final TermComboElement combo_referenceSystem; private final TextWithLabelElement text_latitudeParsed; @@ -76,8 +76,8 @@ public class PointElement extends AbstractCdmFormElement implements text_longitudeParsed.setEnabled(false); number_errorRadius = formFactory.createIntegerTextWithLabelElement( formElement, "Error Radius (m)", null, style); - combo_referenceSystem = (ReferenceSystemComboElement) formFactory - .createTermComboElement(TermComboType.REFERENCE_SYSTEM, + combo_referenceSystem = formFactory + .createTermComboElement(ReferenceSystem.class, formElement, "Reference System", null, style); setPoint(point); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java index bb8514339..7a9947939 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java @@ -77,6 +77,30 @@ public abstract class AbstractCdmDetailSection extends createControls(this, SWT.NULL); } + + public AbstractCdmDetailSection(CdmFormFactory formFactory, Class clazz, + ConversationHolder conversation, ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, parentElement, selectionProvider, + Section.CLIENT_INDENT | style); + + setText(getHeading()); + + addExpansionListener(this); + + createControlsByType(this, clazz, SWT.NULL); + } + + /** + * @param abstractCdmDetailSection + * @param definedTermClass + * @param null1 + */ + protected void createControlsByType( + AbstractCdmDetailSection abstractCdmDetailSection, + Class entityClass, int style) { + } + /** *

diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java index d17339460..5bfce5fd9 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractEntityCollectionSection.java @@ -5,7 +5,6 @@ package eu.etaxonomy.taxeditor.ui.section; import java.util.Collection; -import org.apache.commons.collections.CollectionUtils; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.ToolBarManager; import org.eclipse.jface.resource.ImageDescriptor; @@ -29,8 +28,8 @@ import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.preference.Resources; import eu.etaxonomy.taxeditor.store.StoreUtil; -import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java index acf9ff621..d7645a9ba 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ModifierElement.java @@ -13,12 +13,11 @@ package eu.etaxonomy.taxeditor.ui.section.description; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.description.Modifier; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; -import eu.etaxonomy.taxeditor.ui.term.ModifierComboElement; /** *

ModifierElement class.

@@ -29,7 +28,7 @@ import eu.etaxonomy.taxeditor.ui.term.ModifierComboElement; */ public class ModifierElement extends AbstractEntityCollectionElement { - private ModifierComboElement combo_modifier; + private TermComboElement combo_modifier; /** *

Constructor for ModifierElement.

@@ -56,7 +55,7 @@ public class ModifierElement extends AbstractEntityCollectionElement { /** {@inheritDoc} */ @Override public void createControls(ICdmFormElement element, int style) { - combo_modifier = (ModifierComboElement) formFactory.createTermComboElement(TermComboType.MODIFIER, element, "Modifier", getEntity(), style); + combo_modifier = formFactory.createTermComboElement(Modifier.class, element, "Modifier", getEntity(), style); } /** {@inheritDoc} */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java index 181eb204b..9b0cd0c48 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeElement.java @@ -10,16 +10,14 @@ package eu.etaxonomy.taxeditor.ui.section.description; -import org.apache.log4j.Logger; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.description.Scope; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; -import eu.etaxonomy.taxeditor.ui.term.ScopeComboElement; /** *

ScopeElement class.

@@ -30,8 +28,7 @@ import eu.etaxonomy.taxeditor.ui.term.ScopeComboElement; */ public class ScopeElement extends AbstractEntityCollectionElement { - private static final Logger logger = Logger.getLogger(ScopeElement.class); - private ScopeComboElement combo_scope; + private TermComboElement combo_scope; /** *

Constructor for ScopeElement.

@@ -58,7 +55,7 @@ public class ScopeElement extends AbstractEntityCollectionElement { /** {@inheritDoc} */ @Override public void createControls(ICdmFormElement element, int style) { - combo_scope = (ScopeComboElement) formFactory.createTermComboElement(TermComboType.SCOPE, element, "Scope", null, style); + combo_scope = formFactory.createTermComboElement(Scope.class, element, "Scope", null, style); } /** {@inheritDoc} */ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java index 26cb0719d..b810b9405 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java @@ -10,7 +10,6 @@ package eu.etaxonomy.taxeditor.ui.section.description; -import org.apache.log4j.Logger; import org.eclipse.swt.events.SelectionListener; import org.eclipse.ui.forms.widgets.Section; @@ -18,14 +17,13 @@ import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.description.State; import eu.etaxonomy.cdm.model.description.StateData; import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; -import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; /** *

StateDataElement class.

@@ -36,9 +34,7 @@ import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; */ public class StateDataElement extends AbstractEntityCollectionElement { - private static final Logger logger = Logger - .getLogger(StateDataElement.class); - private AbstractTermComboElement combo_state; + private TermComboElement combo_state; private ModifierSection section_modifiers; private TextWithLabelElement text_modifyingText; @@ -70,7 +66,7 @@ public class StateDataElement extends AbstractEntityCollectionElement /** {@inheritDoc} */ @Override public void createControls(ICdmFormElement element, int style) { - combo_state = formFactory.createTermComboElement(TermComboType.STATE, element, "State", null, style); + combo_state = formFactory.createTermComboElement(State.class, element, "State", null, style); section_modifiers = (ModifierSection) formFactory.createEntityDetailSection(EntityDetailType.MODIFIER, getConversationHolder(), element, Section.TWISTIE); section_modifiers.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1)); text_modifyingText = formFactory.createTextWithLabelElement(element, "Modifying Text", null, style); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java index 729309098..60c54a43f 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java @@ -10,19 +10,18 @@ package eu.etaxonomy.taxeditor.ui.section.description; -import org.apache.log4j.Logger; import org.eclipse.swt.events.SelectionListener; import org.eclipse.ui.forms.widgets.Section; +import eu.etaxonomy.cdm.model.description.StatisticalMeasure; import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; -import eu.etaxonomy.taxeditor.ui.term.StatisticalMeasureComboElement; /** *

StatisticalMeasurementValueElement class.

@@ -34,11 +33,8 @@ import eu.etaxonomy.taxeditor.ui.term.StatisticalMeasureComboElement; public class StatisticalMeasurementValueElement extends AbstractEntityCollectionElement { - - private static final Logger logger = Logger - .getLogger(StatisticalMeasurementValueElement.class); private NumberWithLabelElement number_value; - private StatisticalMeasureComboElement combo_type; + private TermComboElement combo_type; private ModifierSection section_modifiers; /** @@ -69,7 +65,7 @@ public class StatisticalMeasurementValueElement extends @Override public void createControls(ICdmFormElement element, int style) { number_value = formFactory.createFloatTextWithLabelElement(element, "Value", 0, style); - combo_type = (StatisticalMeasureComboElement) formFactory.createTermComboElement(TermComboType.STATISTICAL_MEASURE, element, "Statistical Measure", null, style); + combo_type = formFactory.createTermComboElement(StatisticalMeasure.class, element, "Statistical Measure", null, style); section_modifiers = (ModifierSection) formFactory.createEntityDetailSection(EntityDetailType.MODIFIER, getConversationHolder(), element, Section.TWISTIE); section_modifiers.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1)); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java index 40673eca3..46bb07808 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/CommonNameDetailElement.java @@ -10,16 +10,15 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail; -import org.apache.log4j.Logger; import org.eclipse.swt.SWT; +import eu.etaxonomy.cdm.model.common.Language; import eu.etaxonomy.cdm.model.description.CommonTaxonName; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.LanguageComboElement; /** *

CommonNameDetailElement class.

@@ -29,11 +28,8 @@ import eu.etaxonomy.taxeditor.ui.term.LanguageComboElement; * @version 1.0 */ public class CommonNameDetailElement extends AbstractDetailedDescriptionDetailElement { - - private static final Logger logger = Logger - .getLogger(CommonNameDetailElement.class); - private LanguageComboElement combo_language; + private TermComboElement combo_language; private NamedAreaSelectionElement selection_namedArea; private TextWithLabelElement commonName; @@ -55,7 +51,7 @@ public class CommonNameDetailElement extends AbstractDetailedDescriptionDetailEl @Override protected void createControls(ICdmFormElement formElement, CommonTaxonName entity, int style) { - combo_language = (LanguageComboElement) formFactory.createTermComboElement(TermComboType.LANGUAGE, this, "Language", entity.getLanguage(), style); + combo_language = formFactory.createTermComboElement(Language.class, this, "Language", entity.getLanguage(), style); selection_namedArea = formFactory.createNamedAreaSelectionElement(this, getConversationHolder(), "Area", entity.getArea(), style); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java index a6836a9bd..4e06fabeb 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/DistributionDetailElement.java @@ -10,14 +10,12 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail; -import org.apache.log4j.Logger; - import eu.etaxonomy.cdm.model.description.Distribution; +import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.PresenceAbsenceTermComboElement; /** *

DistributionDetailElement class.

@@ -29,10 +27,8 @@ import eu.etaxonomy.taxeditor.ui.term.PresenceAbsenceTermComboElement; public class DistributionDetailElement extends AbstractDetailedDescriptionDetailElement { - private static final Logger logger = Logger - .getLogger(DistributionDetailElement.class); private NamedAreaSelectionElement selection_namedArea; - private PresenceAbsenceTermComboElement combo_presenceAbsence; + private TermComboElement combo_presenceAbsence; /** @@ -54,7 +50,7 @@ public class DistributionDetailElement extends Distribution entity, int style) { selection_namedArea = formFactory.createNamedAreaSelectionElement(this, getConversationHolder(), "Area", entity.getArea(), style); - combo_presenceAbsence = (PresenceAbsenceTermComboElement) formFactory.createTermComboElement(TermComboType.PRESENCEABSENCESTATUS, this, "Distribution Status", entity.getStatus(), style); + combo_presenceAbsence = formFactory.createTermComboElement(PresenceAbsenceTermBase.class, this, "Distribution Status", entity.getStatus(), style); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java index 146d4f527..da5e7483a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/QuantitativeDataDetailElement.java @@ -5,13 +5,13 @@ package eu.etaxonomy.taxeditor.ui.section.description.detail; import org.eclipse.ui.forms.widgets.Section; +import eu.etaxonomy.cdm.model.description.MeasurementUnit; import eu.etaxonomy.cdm.model.description.QuantitativeData; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; +import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.description.StatisticalMeasurementValueSection; -import eu.etaxonomy.taxeditor.ui.term.MeasurementUnitComboElement; /** *

QuantitativeDataDetailElement class.

@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.term.MeasurementUnitComboElement; public class QuantitativeDataDetailElement extends AbstractDetailedDescriptionDetailElement { - private MeasurementUnitComboElement combo_mesaurementUnit; + private TermComboElement combo_mesaurementUnit; private StatisticalMeasurementValueSection section_statisticalMeasurementValues; /** @@ -42,7 +42,7 @@ public class QuantitativeDataDetailElement extends @Override protected void createControls(ICdmFormElement formElement, QuantitativeData entity, int style) { - combo_mesaurementUnit = (MeasurementUnitComboElement) formFactory.createTermComboElement(TermComboType.MEASUREMENT_UNIT, formElement, "Measurement Unit", entity.getUnit(), style); + combo_mesaurementUnit = formFactory.createTermComboElement(MeasurementUnit.class, formElement, "Measurement Unit", entity.getUnit(), style); section_statisticalMeasurementValues = (StatisticalMeasurementValueSection) formFactory.createEntityDetailSection(EntityDetailType.STATISTICAL_MEASUREMENT_VALUE, getConversationHolder(), formElement, Section.TWISTIE | Section.EXPANDED); section_statisticalMeasurementValues.setEntity(entity); section_statisticalMeasurementValues.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1)); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java index 0a32e59cf..09f0ea8ef 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java @@ -19,8 +19,8 @@ import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.Rank; import eu.etaxonomy.cdm.model.name.ZoologicalName; import eu.etaxonomy.cdm.strategy.parser.ParserProblem; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.IEnableableFormElement; @@ -29,7 +29,6 @@ import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement; import eu.etaxonomy.taxeditor.ui.forms.SelectionArbitrator; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; -import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; /** *

NameDetailElement class.

@@ -40,7 +39,7 @@ import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; */ public class NameDetailElement extends AbstractIdentifiableEntityDetailElement implements ISelectableElement, IEnableableFormElement{ - private AbstractTermComboElement combo_rank; + private TermComboElement combo_rank; private TextWithLabelElement text_appendedPhrase; private TextWithLabelElement text_uninomial; private TextWithLabelElement text_infragenericEpithet; @@ -75,7 +74,7 @@ public class NameDetailElement extends AbstractIdentifiableEntityDetailElementNameRelationshipDetailElement class.

@@ -36,7 +37,7 @@ public class NameRelationshipDetailElement extends AbstractReferencedEntityEleme private TextWithLabelElement text_ruleConsidered; private AbstractSelectionElement selection_toName; - private NameRelationshipTypeComboElement combo_relationshipType; + private TermComboElement combo_relationshipType; private LabelElement label; /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java index 3acdf74bb..dbbe6e393 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java @@ -19,12 +19,11 @@ import org.eclipse.swt.widgets.Composite; import eu.etaxonomy.cdm.model.name.NameRelationship; import eu.etaxonomy.cdm.model.name.NameRelationshipType; import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.RootElement; import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.NameRelationshipTypeComboElement; /** *

@@ -42,7 +41,7 @@ public class NameRelationshipWizardPage extends WizardPage implements private NameSelectionElement selection_relatedTo; - private NameRelationshipTypeComboElement combo_relationshipType; + private TermComboElement combo_relationshipType; private final NameRelationshipDetailSection callingSection; @@ -94,8 +93,7 @@ public class NameRelationshipWizardPage extends WizardPage implements rootElement = new RootElement(formFactory, control); - combo_relationshipType = (NameRelationshipTypeComboElement) formFactory - .createTermComboElement(TermComboType.NAMERELATIONSHIP, + combo_relationshipType = formFactory.createTermComboElement(NameRelationshipType.class, rootElement, "Name Relationship Type", null, SWT.NULL); selection_relatedTo = (NameSelectionElement) formFactory diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java index 6de937e7e..02cfd7fe4 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameTypeDesignationElement.java @@ -10,21 +10,19 @@ package eu.etaxonomy.taxeditor.ui.section.name; -import org.apache.log4j.Logger; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.NameTypeDesignation; import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.NameTypeDesignationStatusComboElement; /** *

@@ -38,12 +36,10 @@ import eu.etaxonomy.taxeditor.ui.term.NameTypeDesignationStatusComboElement; public class NameTypeDesignationElement extends AbstractTypeDesignationElement { - private static final Logger logger = Logger - .getLogger(NameTypeDesignationElement.class); private CheckboxElement checkbox_rejectedType; private CheckboxElement checkbox_conservedType; private NameSelectionElement selection_typeName; - private NameTypeDesignationStatusComboElement combo_typeStatus; + private TermComboElement combo_typeStatus; /** *

@@ -82,9 +78,8 @@ public class NameTypeDesignationElement extends .createSelectionElement(SelectionType.NAME, getConversationHolder(), formElement, "Name", null, NameSelectionElement.DEFAULT, style); - combo_typeStatus = (NameTypeDesignationStatusComboElement) formFactory - .createTermComboElement( - TermComboType.NAMETYPEDESIGNATIONSTATUS, formElement, + combo_typeStatus = formFactory.createTermComboElement( + NameTypeDesignationStatus.class, formElement, "Designation Status", null, style); super.createControls(formElement, style); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java index 516f254bf..b7930d17e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java @@ -14,6 +14,7 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; @@ -21,9 +22,7 @@ import eu.etaxonomy.taxeditor.ui.forms.IEntityElement; import eu.etaxonomy.taxeditor.ui.forms.ISelectableElement; import eu.etaxonomy.taxeditor.ui.forms.SelectionArbitrator; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractReferencedEntityElement; -import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; /** *

NomenclaturalStatusElement class.

@@ -34,7 +33,7 @@ import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; */ public class NomenclaturalStatusElement extends AbstractReferencedEntityElement implements IEntityElement, ISelectableElement{ - private AbstractTermComboElement nomenclaturalStatusTypeCombo; + private TermComboElement nomenclaturalStatusTypeCombo; private TextWithLabelElement ruleConsideredText; @@ -61,7 +60,7 @@ public class NomenclaturalStatusElement extends AbstractReferencedEntityElement< /** {@inheritDoc} */ @Override public void createControls(ICdmFormElement element, int style) { - nomenclaturalStatusTypeCombo = formFactory.createTermComboElement(TermComboType.NOMENCLATURALSTATUSTYPE, this, "Nomenclatural Status Type", null, style); + nomenclaturalStatusTypeCombo = formFactory.createTermComboElement(NomenclaturalStatusType.class, this, "Nomenclatural Status Type", null, style); ruleConsideredText = formFactory.createTextWithLabelElement(this, "Rule Considered", "", style); super.createControls(element, style); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java index d15dd2eb8..3979e7021 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailElement.java @@ -14,14 +14,14 @@ import java.util.Arrays; import org.eclipse.ui.forms.widgets.Section; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; import eu.etaxonomy.cdm.model.name.NonViralName; +import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EnumComboType; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement; -import eu.etaxonomy.taxeditor.ui.term.NomenclaturalCodeComboElement; /** *

@@ -37,7 +37,7 @@ public class NonViralNameDetailElement extends private NameDetailSection section_name; private AuthorshipDetailSection section_author; - private NomenclaturalCodeComboElement combo_nomenclaturalCode; + private EnumComboElement combo_nomenclaturalCode; private HybridDetailSection section_hybrid; /** @@ -74,8 +74,8 @@ public class NonViralNameDetailElement extends "Cache", entity.getTitleCache(), entity.isProtectedTitleCache() || entity.isProtectedFullTitleCache(), style); - combo_nomenclaturalCode = (NomenclaturalCodeComboElement) formFactory - .createEnumComboElement(EnumComboType.NOMENCLATURALCODE, + combo_nomenclaturalCode = formFactory + .createEnumComboElement(NomenclaturalCode.class, formElement, style); combo_nomenclaturalCode.setSelection(entity.getNomenclaturalCode()); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java index f7bb967bb..d4750049e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java @@ -16,14 +16,13 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation; import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; import eu.etaxonomy.cdm.model.occurrence.Specimen; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement; /** *

@@ -37,7 +36,7 @@ import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement; public class SpecimenTypeDesignationElement extends AbstractTypeDesignationElement { - private SpecimenTypeDesignationStatusComboElement combo_typeStatus; + private TermComboElement combo_typeStatus; private DerivedUnitBaseSelectionElement selection_typeSpecimen; private TextWithLabelElement text_specimenTypeText; @@ -73,9 +72,8 @@ public class SpecimenTypeDesignationElement extends .createSelectionElement(SelectionType.DERIVED_UNIT, getConversationHolder(), formElement, "Unit", null, DerivedUnitBaseSelectionElement.DEFAULT, style); - combo_typeStatus = (SpecimenTypeDesignationStatusComboElement) formFactory - .createTermComboElement( - TermComboType.SPECIMENTYPEDESIGNATIONSTATUS, + combo_typeStatus = formFactory + .createTermComboElement(SpecimenTypeDesignationStatus.class, formElement, "Designation Status", null, style); super.createControls(formElement, style); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java index 2ee211722..91cd1282c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java @@ -14,17 +14,17 @@ import org.eclipse.ui.forms.widgets.Section; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException; +import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.selection.NameSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.PreservationMethodComboElement; /** *

@@ -48,7 +48,7 @@ public class DerivedUnitBaseDetailElement extends private TextWithLabelElement text_exsicatum; - private PreservationMethodComboElement combo_preservationMethod; + private TermComboElement combo_preservationMethod; private SpecimenCollectionDetailSection section_duplicates; @@ -91,8 +91,7 @@ public class DerivedUnitBaseDetailElement extends entity.getCatalogNumber(), style); try { - combo_preservationMethod = (PreservationMethodComboElement) formFactory - .createTermComboElement(TermComboType.PRESERVATION_METHOD, + combo_preservationMethod = formFactory.createTermComboElement(PreservationMethod.class, formElement, "Preservation Method", entity.getPreservationMethod(), style); } catch (MethodNotSupportedByDerivedUnitTypeException e) { diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java index 8c51a2d86..a7c82f4d1 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java @@ -13,15 +13,15 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; +import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.selection.TaxonBaseSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.DeterminationModifierComboElement; /** *

@@ -35,7 +35,7 @@ import eu.etaxonomy.taxeditor.ui.term.DeterminationModifierComboElement; public class DeterminationEventDetailElement extends AbstractEventDetailElement { - private DeterminationModifierComboElement combo_determinationModifier; + private TermComboElement combo_determinationModifier; private CheckboxElement checkbox_preferredFlag; private TaxonBaseSelectionElement selection_taxonBase; @@ -106,8 +106,7 @@ public class DeterminationEventDetailElement extends selection_agent.setLabel("Determined by"); - combo_determinationModifier = (DeterminationModifierComboElement) formFactory - .createTermComboElement(TermComboType.DETERMINATION_MODIFIER, + combo_determinationModifier = formFactory.createTermComboElement(DeterminationModifier.class, element, "Modifier", null, style); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java index 735fac83d..fc5e407ed 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldObservationDetailElement.java @@ -11,16 +11,15 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.cdm.model.description.Sex; +import eu.etaxonomy.cdm.model.description.Stage; import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; -import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.NumberWithLabelElement; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; -import eu.etaxonomy.taxeditor.ui.term.SexComboElement; -import eu.etaxonomy.taxeditor.ui.term.StageComboElement; /** *

FieldObservationDetailElement class.

@@ -41,9 +40,9 @@ public class FieldObservationDetailElement extends AbstractCdmDetailElement combo_sex; - private StageComboElement combo_lifeStage; + private TermComboElement combo_lifeStage; /** *

Constructor for FieldObservationDetailElement.

@@ -67,8 +66,8 @@ public class FieldObservationDetailElement extends AbstractCdmDetailElement @@ -70,7 +68,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem private TimePeriodElement element_timePeriod; private ReferenceSelectionElement selection_inReference; private InstitutionSelectionElement selection_institution; - private ReferenceTypeComboElement combo_referenceType; + private EnumComboElement combo_referenceType; private ReferenceSelectionElement selection_inSeries; @@ -108,8 +106,7 @@ public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElem "Reference Cache", entity.getTitleCache(), entity.isProtectedTitleCache(), style); - combo_referenceType = (ReferenceTypeComboElement) formFactory - .createEnumComboElement(EnumComboType.REFERENCETYPE, + combo_referenceType = formFactory.createEnumComboElement(ReferenceType.class, formElement, style); combo_referenceType.setSelection(entity.getType()); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java index 295b8132c..5e651fa3b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AnnotationElement.java @@ -6,13 +6,13 @@ package eu.etaxonomy.taxeditor.ui.section.supplemental; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.common.Annotation; +import eu.etaxonomy.cdm.model.common.AnnotationType; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; -import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement; /** *

AnnotationElement class.

@@ -23,7 +23,7 @@ import eu.etaxonomy.taxeditor.ui.term.AnnotationTypeComboElement; public class AnnotationElement extends AbstractEntityCollectionElement{ private TextWithLabelElement text; - private AnnotationTypeComboElement combo_annotationType; + private TermComboElement combo_annotationType; /** *

Constructor for AnnotationElement.

@@ -44,7 +44,7 @@ public class AnnotationElement extends AbstractEntityCollectionElementExtensionElement class.

@@ -25,7 +24,7 @@ import eu.etaxonomy.taxeditor.ui.term.ExtensionTypeComboElement; */ public class ExtensionElement extends AbstractEntityCollectionElement { - private ExtensionTypeComboElement combo_extensionType; + private TermComboElement combo_extensionType; private TextWithLabelElement text_extensionValue; /** @@ -48,7 +47,7 @@ public class ExtensionElement extends AbstractEntityCollectionElement /** {@inheritDoc} */ @Override public void createControls(ICdmFormElement element, int style) { - combo_extensionType = (ExtensionTypeComboElement) formFactory.createTermComboElement(TermComboType.EXTENSIONTYPE, this, null, null, style); + combo_extensionType = formFactory.createTermComboElement(ExtensionType.class, this, null, null, style); text_extensionValue = formFactory.createTextWithLabelElement(element, null, null, style); text_extensionValue.getLayoutComposite().setLayoutData(CdmFormFactory.FILL_HORIZONTALLY()); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java index c709959df..c54ab30bc 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/HeadlineSection.java @@ -36,6 +36,7 @@ public class HeadlineSection extends AbstractFormSection { public void setEntity(ICdmBase cdmBase) { ICdmBase entity = (ICdmBase) HibernateProxyHelper.deproxy(cdmBase); super.setEntity(entity); + setText(entity.getClass().getSimpleName() + (entity instanceof IdentifiableEntity ? ": " + ((IdentifiableEntity) entity).getTitleCache() : "")); layout(); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java index 7c70ac19a..4aecefd16 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/MarkerElement.java @@ -7,13 +7,12 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.common.Marker; import eu.etaxonomy.cdm.model.common.MarkerType; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; -import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; /** *

MarkerElement class.

@@ -38,7 +37,7 @@ public class MarkerElement extends AbstractEntityCollectionElement{ super(cdmFormFactory, formElement, element, removeListener, null, style); } - private AbstractTermComboElement combo_markerType; + private TermComboElement combo_markerType; private CheckboxElement checkbox_markerState; @@ -49,7 +48,7 @@ public class MarkerElement extends AbstractEntityCollectionElement{ @Override public void createControls(ICdmFormElement element, int style) { checkbox_markerState = formFactory.createCheckbox(this, null, false, style); - combo_markerType = formFactory.createTermComboElement(TermComboType.MARKERTYPE, this, null, null, style); + combo_markerType = formFactory.createTermComboElement(MarkerType.class, this, null, null, style); } /* (non-Javadoc) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java index 6570a1360..f75a2932e 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/RightsElement.java @@ -8,16 +8,15 @@ import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.agent.AgentBase; import eu.etaxonomy.cdm.model.media.Rights; import eu.etaxonomy.cdm.model.media.RightsTerm; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement; import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement; import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement; import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement; /** *

@@ -54,7 +53,7 @@ public class RightsElement extends AbstractEntityCollectionElement { super(cdmFormFactory, formElement, element, removeListener, null, style); } - private AbstractTermComboElement combo_rightsType; + private TermComboElement combo_rightsType; private AbstractSelectionElement selection_agent; private TextWithLabelElement text; @@ -69,7 +68,7 @@ public class RightsElement extends AbstractEntityCollectionElement { @Override public void createControls(ICdmFormElement element, int style) { combo_rightsType = formFactory.createTermComboElement( - TermComboType.RIGHTSTYPE, this, "Rights Type", null, style); + RightsTerm.class, this, "Rights Type", null, style); selection_agent = formFactory.createSelectionElement( SelectionType.AGENT, getConversationHolder(), this, "Agent", null, AgentSelectionElement.DEFAULT, style); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java index 85ddb5760..b924539f3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/taxon/TaxonRelationshipDetailElement.java @@ -15,14 +15,13 @@ import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; import eu.etaxonomy.taxeditor.ui.selection.TaxonSelectionElement; -import eu.etaxonomy.taxeditor.ui.term.TaxonRelationshipTypeComboElement; /** * @author n.hoffmann @@ -31,7 +30,7 @@ import eu.etaxonomy.taxeditor.ui.term.TaxonRelationshipTypeComboElement; */ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement { - private TaxonRelationshipTypeComboElement combo_taxonRelationshipType; + private TermComboElement combo_taxonRelationshipType; private TaxonSelectionElement selection_relatedTaxon; @@ -43,8 +42,8 @@ public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement extends AbstractCdmDetailElement { + + protected TextWithLabelElement text_label; + protected TextWithLabelElement text_description; + protected UriWithLabelElement uri_uri; + + /** + * @param formFactory + * @param formElement + */ + public AbstractTermBaseDetailElement(CdmFormFactory formFactory, + ICdmFormElement formElement) { + super(formFactory, formElement); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, java.lang.Object, int) + */ + @Override + protected void createControls(ICdmFormElement formElement, + T entity, int style) { + text_label = formFactory.createTextWithLabelElement(formElement, "Label", getEntity().getLabel(), style); + text_description = formFactory.createMultilineTextWithLabel(formElement, "Description", 100, style); + text_description.setText(getEntity().getDescription()); + uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style); + + } + + @Override + public void setEntity(T entity) { + super.setEntity(entity); + setEnabled(TermBasePropertyTester.isModifiable(entity)); + } + + public abstract TermVocabulary getVocabulary(); + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java new file mode 100644 index 000000000..01a0e52a9 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java @@ -0,0 +1,56 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.ui.section.vocabulary; + +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.common.Representation; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; + +/** + * @author l.morris + * @date 20 Dec 2011 + * + */ +public class DefinedTermDetailElement extends AbstractTermBaseDetailElement { + + /** + * @param formFactory + * @param formElement + */ + public DefinedTermDetailElement(CdmFormFactory formFactory, + ICdmFormElement formElement) { + super(formFactory, formElement); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + if (eventSource == text_label){ + getEntity().setLabel(text_label.getText()); + }else if (eventSource == text_description){ + Representation representation = getEntity().getRepresentation(Language.DEFAULT()); + representation.setText(text_description.getText()); + } + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.vocabulary.AbstractTermBaseDetailElement#getVocabularyMarkers() + */ + @Override + public TermVocabulary getVocabulary() { + return getEntity() != null ? getEntity().getVocabulary() : null; + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java new file mode 100644 index 000000000..8cdcb1e23 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java @@ -0,0 +1,76 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.ui.section.vocabulary; + +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.ui.forms.widgets.TableWrapLayout; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType; +import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; + +/** + * @author l.morris + * @date 4 Jan 2012 + * + */ +public class DefinedTermDetailSection extends AbstractCdmDetailSection { + + + private Class definedTermClass; + + /** + * @param formFactory + * @param definedTermClass + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public DefinedTermDetailSection(CdmFormFactory formFactory, + Class definedTermClass, ConversationHolder conversation, ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, definedTermClass, conversation, parentElement, selectionProvider, style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getDetailType() + */ + @Override + protected DetailType getDetailType() { + return null; + } + + @Override + protected void createControlsByType( + AbstractCdmDetailSection abstractCdmDetailSection, + Class clazz, int style) { + TableWrapLayout layout = (TableWrapLayout) getLayoutComposite() + .getLayout(); + layout.topMargin = 10; + layout.numColumns = 2; + + getLayoutComposite().setLayout(layout); + detailElement = formFactory.createDefinedTermDetailElement(clazz, + abstractCdmDetailSection, style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading() + */ + @Override + public String getHeading() { + return "Defined Term: "+ (getEntity() != null ? getEntity().getLabel() : ""); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java new file mode 100644 index 000000000..6cb029614 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java @@ -0,0 +1,90 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.ui.section.vocabulary; + +import java.net.URISyntaxException; + +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.common.Representation; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.cdm.model.location.NamedAreaLevel; +import eu.etaxonomy.cdm.model.location.NamedAreaType; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.forms.TimePeriodElement; + +/** + * @author l.morris + * @date 20 Dec 2011 + * + */ +public class NamedAreaDetailElement extends DefinedTermDetailElement { + + // level + // type + private TermComboElement combo_namedAreaType; + private TermComboElement combo_namedAreaLevel; + // validPeriod + private TimePeriodElement timePeriod_validPeriod; + + /** + * @param formFactory + * @param formElement + */ + public NamedAreaDetailElement(CdmFormFactory formFactory, + ICdmFormElement formElement) { + super(formFactory, formElement); + } + + public void createControls(ICdmFormElement formElement, NamedArea entity, int style) { + super.createControls(formElement, entity, style); + + timePeriod_validPeriod = formFactory.createTimePeriodElement(formElement, "Valid Period", getEntity().getValidPeriod(), style); + combo_namedAreaType = formFactory.createTermComboElement(NamedAreaType.class, formElement, "Named Area Type", getEntity().getType(), style); + combo_namedAreaLevel = formFactory.createTermComboElement(NamedAreaLevel.class, formElement, "Named Area Level", getEntity().getLevel(), style); + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + + if (eventSource == text_label) { + getEntity().setLabel(text_label.getText()); + getEntity().setTitleCache(null); + } else if (eventSource == text_description) { + + Representation representation = getEntity().getRepresentation(Language.DEFAULT()); + representation.setText(text_description.getText()); + + } else if (eventSource == uri_uri) { + + try { + getEntity().setUri(uri_uri.getUri()); + } catch (URISyntaxException e) { + + e.printStackTrace(); + } + } else if (eventSource == timePeriod_validPeriod) { + getEntity().setValidPeriod(timePeriod_validPeriod.getTimePeriod()); + } else if (eventSource == combo_namedAreaType) { + getEntity().setType(combo_namedAreaType.getSelection()); + } else if (eventSource == combo_namedAreaLevel) { + getEntity().setLevel(combo_namedAreaLevel.getSelection()); + } + + + } + + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java new file mode 100644 index 000000000..34f956669 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java @@ -0,0 +1,60 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.ui.section.vocabulary; + +import org.eclipse.jface.viewers.ISelectionProvider; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType; +import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; + +/** + * @author l.morris + * @date 20 Dec 2011 + * + */ +public class NamedAreaDetailSection extends AbstractCdmDetailSection { + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public NamedAreaDetailSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getDetailType() + */ + @Override + protected DetailType getDetailType() { + + return DetailType.NAMED_AREA; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading() + */ + @Override + public String getHeading() { + + return "Defined Term: "+ (getEntity() != null ? getEntity().getLabel() : ""); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java new file mode 100644 index 000000000..e040753fd --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java @@ -0,0 +1,56 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.ui.section.vocabulary; + +import org.eclipse.jface.viewers.ISelectionProvider; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.location.NamedAreaLevel; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType; +import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; + +/** + * @author l.morris + * @date 4 Jan 2012 + * + */ +public class NamedAreaLevelDetailSection extends AbstractCdmDetailSection { + + /** + * @param formFactory + * @param parentElement + * @param style + */ + public NamedAreaLevelDetailSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getDetailType() + */ + @Override + protected DetailType getDetailType() { + + return DetailType.NAMED_AREA_LEVEL; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading() + */ + @Override + public String getHeading() { + return "Defined Term: "+ (getEntity() != null ? getEntity().getLabel() : ""); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java new file mode 100644 index 000000000..c66d81f07 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java @@ -0,0 +1,91 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.ui.section.vocabulary; + +import java.net.URISyntaxException; +import java.util.HashSet; +import java.util.Set; + +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.common.Marker; +import eu.etaxonomy.cdm.model.common.Representation; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.forms.UriWithLabelElement; + +/** + * @author l.morris + * @date 20 Dec 2011 + * + */ +public class TermVocabularyDetailElement extends AbstractTermBaseDetailElement { + + private UriWithLabelElement uri_uriTermSource; + /** + * @param formFactory + * @param formElement + */ + public TermVocabularyDetailElement(CdmFormFactory formFactory, + ICdmFormElement formElement) { + super(formFactory, formElement); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, java.lang.Object, int) + */ + @Override + protected void createControls(ICdmFormElement formElement, + TermVocabulary entity, int style) { + + super.createControls(formElement, entity, style); + uri_uriTermSource = formFactory.createUriWithLabelElement(formElement, "URI Term Source", getEntity().getTermSourceUri(), style); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object) + */ + @Override + public void handleEvent(Object eventSource) { + + if (eventSource == text_label) { + getEntity().setLabel(text_label.getText()); + getEntity().setTitleCache(null); + } else if (eventSource == text_description) { + + Representation representation = getEntity().getRepresentation(Language.DEFAULT()); + representation.setText(text_description.getText()); + } else if (eventSource == uri_uri) { + + try { + getEntity().setUri(uri_uri.getUri()); + } catch (URISyntaxException e) { + + e.printStackTrace(); + } + } else if (eventSource == uri_uriTermSource) { + try { + getEntity().setTermSourceUri(uri_uriTermSource.getUri()); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.vocabulary.AbstractTermBaseDetailElement#getVocabularyMarkers() + */ + @Override + public TermVocabulary getVocabulary() { + return getEntity(); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java new file mode 100644 index 000000000..612843456 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java @@ -0,0 +1,68 @@ +// $Id$ +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.ui.section.vocabulary; + +import org.eclipse.jface.viewers.ISelectionProvider; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.common.TermVocabulary; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType; +import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; + +/** + * @author l.morris + * @date 20 Dec 2011 + * + */ +public class TermVocabularyDetailSection extends + AbstractCdmDetailSection { + + /** + * @param formFactory + * @param conversation + * @param parentElement + * @param selectionProvider + * @param style + */ + public TermVocabularyDetailSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + // TODO Auto-generated constructor stub + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getDetailType() + */ + @Override + protected DetailType getDetailType() { + + return DetailType.TERM_VOCABULARY; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading() + */ + @Override + public String getHeading() { + + return "Vocabulary: "+ (getEntity() != null ? getEntity().getLabel() : ""); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#setSectionTitle() + */ + @Override + protected void setSectionTitle() { + setText(getHeading()); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AnnotationTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AnnotationTypeComboElement.java deleted file mode 100644 index f0368c818..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/AnnotationTypeComboElement.java +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.common.AnnotationType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

AnnotationTypeComboElement class.

- * - * @author n.hoffmann - * @created May 12, 2010 - * @version 1.0 - */ -public class AnnotationTypeComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for AnnotationTypeComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.common.AnnotationType} object. - * @param style a int. - */ - public AnnotationTypeComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - AnnotationType selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredAnnotationTypes(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/DeterminationModifierComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/DeterminationModifierComboElement.java deleted file mode 100644 index 6a60893b8..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/DeterminationModifierComboElement.java +++ /dev/null @@ -1,54 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

DeterminationModifierComboElement class.

- * - * @author n.hoffmann - * @created Oct 14, 2010 - * @version 1.0 - */ -public class DeterminationModifierComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for DeterminationModifierComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.occurrence.DeterminationModifier} object. - * @param style a int. - */ - public DeterminationModifierComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - DeterminationModifier selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredDeterminationModifiers(); - } - -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ExtensionTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ExtensionTypeComboElement.java deleted file mode 100644 index 145d57070..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ExtensionTypeComboElement.java +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.common.ExtensionType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

ExtensionTypeComboElement class.

- * - * @author n.hoffmann - * @created Nov 16, 2009 - * @version 1.0 - */ -public class ExtensionTypeComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for ExtensionTypeComboElement.

- * - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.common.ExtensionType} object. - * @param style a int. - * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - */ - public ExtensionTypeComboElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString, - ExtensionType selection, int style) { - super(toolkit, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.termcombos.AbstractTermComboComposite#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredExtensionTypes(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/LanguageComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/LanguageComboElement.java deleted file mode 100644 index 0ba64e043..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/LanguageComboElement.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * - */ -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.common.Language; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

LanguageComboElement class.

- * - * @author n.hoffmann - * @version $Id: $ - */ -public class LanguageComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 20; - - /** - *

Constructor for LanguageComboElement.

- * - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.common.Language} object. - * @param style a int. - * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - */ - public LanguageComboElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString, Language selection, int style) { - super(toolkit, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.AbstractTermComboComposite#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredLanguages(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MarkerTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MarkerTypeComboElement.java deleted file mode 100644 index 715685d87..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MarkerTypeComboElement.java +++ /dev/null @@ -1,52 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.common.MarkerType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

MarkerTypeComboElement class.

- * - * @author n.hoffmann - * @created Nov 16, 2009 - * @version 1.0 - */ -public class MarkerTypeComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for MarkerTypeComboElement.

- * - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.common.MarkerType} object. - * @param style a int. - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - */ - public MarkerTypeComboElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString, - MarkerType selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.termcombos.AbstractTermComboComposite#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredMarkerTypes(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MeasurementUnitComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MeasurementUnitComboElement.java deleted file mode 100644 index 01b661744..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/MeasurementUnitComboElement.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * - */ -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.description.MeasurementUnit; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

MeasurementUnitComboElement class.

- * - * @author n.hoffmann - * @created Sep 15, 2010 - * @version 1.0 - */ -public class MeasurementUnitComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for MeasurementUnitComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.description.MeasurementUnit} object. - * @param style a int. - */ - public MeasurementUnitComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - MeasurementUnit selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredMeasurementUnits(); - } - -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ModifierComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ModifierComboElement.java deleted file mode 100644 index 8cd80713b..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ModifierComboElement.java +++ /dev/null @@ -1,50 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.description.Modifier; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

ModifierComboElement class.

- * - * @author n.hoffmann - * @created Sep 15, 2010 - * @version 1.0 - */ -public class ModifierComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for ModifierComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.description.Modifier} object. - * @param style a int. - */ - public ModifierComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - Modifier selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredModifiers(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameRelationshipTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameRelationshipTypeComboElement.java deleted file mode 100644 index c16bae610..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameRelationshipTypeComboElement.java +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.name.NameRelationshipType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

NameRelationshipTypeComboElement class.

- * - * @author n.hoffmann - * @created Mar 19, 2010 - * @version 1.0 - */ -public class NameRelationshipTypeComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for NameRelationshipTypeComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.name.NameRelationshipType} object. - * @param style a int. - */ - public NameRelationshipTypeComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, NameRelationshipType selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredNameRelationshipTypes(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameTypeDesignationStatusComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameTypeDesignationStatusComboElement.java deleted file mode 100644 index 53f5c28c9..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NameTypeDesignationStatusComboElement.java +++ /dev/null @@ -1,54 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

NameTypeDesignationStatusComboElement class.

- * - * @author n.hoffmann - * @created May 17, 2010 - * @version 1.0 - */ -public class NameTypeDesignationStatusComboElement extends - AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for NameTypeDesignationStatusComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus} object. - * @param style a int. - */ - public NameTypeDesignationStatusComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - NameTypeDesignationStatus selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredNameTypeDesignationStatus(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NamedAreaTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NamedAreaTypeComboElement.java deleted file mode 100644 index 5b0a3751c..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NamedAreaTypeComboElement.java +++ /dev/null @@ -1,50 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.location.NamedAreaType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

NamedAreaTypeComboElement class.

- * - * @author n.hoffmann - * @created May 11, 2010 - * @version 1.0 - */ -public class NamedAreaTypeComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for NamedAreaTypeComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.location.NamedAreaType} object. - * @param style a int. - */ - public NamedAreaTypeComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - NamedAreaType selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredNamedAreaTypes(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalCodeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalCodeComboElement.java deleted file mode 100644 index e27371bbf..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalCodeComboElement.java +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import eu.etaxonomy.cdm.model.name.NomenclaturalCode; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

NomenclaturalCodeComboElement class.

- * - * @author n.hoffmann - * @created Mar 16, 2010 - * @version 1.0 - */ -public class NomenclaturalCodeComboElement extends AbstractEnumComboElement { - - /** - *

Constructor for NomenclaturalCodeComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param nomenclaturalCode a {@link eu.etaxonomy.cdm.model.name.NomenclaturalCode} object. - * @param style a int. - */ - public NomenclaturalCodeComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, NomenclaturalCode nomenclaturalCode, int style) { - super(formFactory, parentElement, labelString); - } - - /** - *

populateTypes

- */ - protected void populateTypes() { - for(NomenclaturalCode nomenclaturalCode : NomenclaturalCode.values()){ - elementTypeList.add(nomenclaturalCode); - combo.add(nomenclaturalCode.name()); - } - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalStatusTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalStatusTypeComboElement.java deleted file mode 100644 index 4e30806ea..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/NomenclaturalStatusTypeComboElement.java +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

NomenclaturalStatusTypeComboElement class.

- * - * @author n.hoffmann - * @created Nov 5, 2009 - * @version 1.0 - */ -public class NomenclaturalStatusTypeComboElement extends - AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for NomenclaturalStatusTypeComboElement.

- * - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.name.NomenclaturalStatusType} object. - * @param style a int. - * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - */ - public NomenclaturalStatusTypeComboElement(CdmFormFactory toolkit, ICdmFormElement parentElement, - String labelString, NomenclaturalStatusType selection, int style) { - super(toolkit, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.termcombos.AbstractTermComboComposite#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredNomenclaturalStatusTypes(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PresenceAbsenceTermComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PresenceAbsenceTermComboElement.java deleted file mode 100644 index b03ed89be..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PresenceAbsenceTermComboElement.java +++ /dev/null @@ -1,51 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

PresenceAbsenceTermComboElement class.

- * - * @author n.hoffmann - * @created May 11, 2010 - * @version 1.0 - */ -public class PresenceAbsenceTermComboElement extends - AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for PresenceAbsenceTermComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase} object. - * @param style a int. - */ - public PresenceAbsenceTermComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - PresenceAbsenceTermBase selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredPresenceAbsenceTerms(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PreservationMethodComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PreservationMethodComboElement.java deleted file mode 100644 index 20f4fbb97..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/PreservationMethodComboElement.java +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

PreservationMethodComboElement class.

- * - * @author n.hoffmann - * @created Jun 25, 2010 - * @version 1.0 - */ -public class PreservationMethodComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 5; - - /** - *

Constructor for PreservationMethodComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.occurrence.PreservationMethod} object. - * @param style a int. - */ - public PreservationMethodComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - PreservationMethod selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredPreservationMethods(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RankComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RankComboElement.java deleted file mode 100644 index 4be334a3e..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RankComboElement.java +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.name.Rank; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

RankComboElement class.

- * - * @author n.hoffmann - * @created Nov 5, 2009 - * @version 1.0 - */ -public class RankComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for RankComboElement.

- * - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.name.Rank} object. - * @param style a int. - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - */ - public RankComboElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString, - Rank selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.termcombos.AbstractTermComboComposite#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredRanks(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceSystemComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceSystemComboElement.java deleted file mode 100644 index 6a0e9d4dc..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceSystemComboElement.java +++ /dev/null @@ -1,55 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.location.ReferenceSystem; -import eu.etaxonomy.taxeditor.store.TermStore; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

ReferenceSystemComboElement class.

- * - * @author n.hoffmann - * @created Oct 15, 2010 - * @version 1.0 - */ -public class ReferenceSystemComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for ReferenceSystemComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.location.ReferenceSystem} object. - * @param style a int. - */ - public ReferenceSystemComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - ReferenceSystem selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return TermStore.getReferenceSystems(); - } - -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceTypeComboElement.java deleted file mode 100644 index 5d0eb0211..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ReferenceTypeComboElement.java +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import eu.etaxonomy.cdm.model.reference.ReferenceType; -import eu.etaxonomy.taxeditor.store.CdmStore; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

ReferenceTypeComboElement class.

- * - * @author n.hoffmann - * @created Nov 16, 2009 - * @version 1.0 - */ -public class ReferenceTypeComboElement extends AbstractEnumComboElement{ - - /** - *

Constructor for ReferenceTypeComboElement.

- * - * @param style a int. - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param referenceType a {@link eu.etaxonomy.cdm.model.reference.ReferenceType} object. - */ - public ReferenceTypeComboElement(CdmFormFactory formFactory, ICdmFormElement parentElement, String labelString, ReferenceType referenceType, int style) { - super(formFactory, parentElement, labelString); - } - - /** - *

populateTypes

- */ - protected void populateTypes() { - for(ReferenceType referenceType : ReferenceType.values()){ - elementTypeList.add(referenceType); - combo.add(referenceType.getMessage(CdmStore.getDefaultLanguage())); - } - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RightsTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RightsTypeComboElement.java deleted file mode 100644 index 9c0d58578..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/RightsTypeComboElement.java +++ /dev/null @@ -1,52 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.media.RightsTerm; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

RightsTypeComboElement class.

- * - * @author n.hoffmann - * @created Nov 16, 2009 - * @version 1.0 - */ -public class RightsTypeComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for RightsTypeComboElement.

- * - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.media.RightsTerm} object. - * @param style a int. - * @param toolkit a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - */ - public RightsTypeComboElement(CdmFormFactory toolkit, ICdmFormElement parentElement, String labelString, - RightsTerm selection, int style) { - super(toolkit, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.termcombos.AbstractTermComboComposite#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredRightsTypes(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ScopeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ScopeComboElement.java deleted file mode 100644 index d64d75e12..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/ScopeComboElement.java +++ /dev/null @@ -1,50 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.description.Scope; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

ScopeComboElement class.

- * - * @author n.hoffmann - * @created Sep 17, 2010 - * @version 1.0 - */ -public class ScopeComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for ScopeComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.description.Scope} object. - * @param style a int. - */ - public ScopeComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, Scope selection, - int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredScopes(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SexComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SexComboElement.java deleted file mode 100644 index fad77d977..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SexComboElement.java +++ /dev/null @@ -1,56 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.ArrayList; -import java.util.List; - -import eu.etaxonomy.cdm.model.description.Sex; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

SexComboElement class.

- * - * @author n.hoffmann - * @created Jun 24, 2010 - * @version 1.0 - */ -public class SexComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 2; - - /** - *

Constructor for SexComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.description.Sex} object. - * @param style a int. - */ - public SexComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, Sex selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - List list = new ArrayList(); - list.add(Sex.FEMALE()); - list.add(Sex.MALE()); - return list; - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SpecimenTypeDesignationStatusComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SpecimenTypeDesignationStatusComboElement.java deleted file mode 100644 index 86e7c3ee8..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/SpecimenTypeDesignationStatusComboElement.java +++ /dev/null @@ -1,54 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

SpecimenTypeDesignationStatusComboElement class.

- * - * @author n.hoffmann - * @created May 17, 2010 - * @version 1.0 - */ -public class SpecimenTypeDesignationStatusComboElement extends - AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for SpecimenTypeDesignationStatusComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus} object. - * @param style a int. - */ - public SpecimenTypeDesignationStatusComboElement( - CdmFormFactory formFactory, ICdmFormElement parentElement, - String labelString, SpecimenTypeDesignationStatus selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredSpecimenTypeDesignationStatus(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StageComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StageComboElement.java deleted file mode 100644 index ad598b991..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StageComboElement.java +++ /dev/null @@ -1,53 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.description.Stage; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

StageComboElement class.

- * - * @author n.hoffmann - * @created Jun 25, 2010 - * @version 1.0 - */ -public class StageComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 5; - - /** - *

Constructor for StageComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.description.Stage} object. - * @param style a int. - */ - public StageComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, Stage selection, - int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms() - */ - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredStages(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StateComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StateComboElement.java deleted file mode 100644 index c55f64e43..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StateComboElement.java +++ /dev/null @@ -1,50 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.description.State; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

StateComboElement class.

- * - * @author n.hoffmann - * @created Sep 15, 2010 - * @version 1.0 - */ -public class StateComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - /** - *

Constructor for StateComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.description.State} object. - * @param style a int. - */ - public StateComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, State selection, - int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredStates(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StatisticalMeasureComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StatisticalMeasureComboElement.java deleted file mode 100644 index 38f270422..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/StatisticalMeasureComboElement.java +++ /dev/null @@ -1,49 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ - -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.cdm.model.description.StatisticalMeasure; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - *

StatisticalMeasureComboElement class.

- * - * @author n.hoffmann - * @created Sep 15, 2010 - * @version 1.0 - */ -public class StatisticalMeasureComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 5; - - /** - *

Constructor for StatisticalMeasureComboElement.

- * - * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object. - * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object. - * @param labelString a {@link java.lang.String} object. - * @param selection a {@link eu.etaxonomy.cdm.model.description.StatisticalMeasure} object. - * @param style a int. - */ - public StatisticalMeasureComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - StatisticalMeasure selection, int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - /** {@inheritDoc} */ - @Override - protected List preferredTerms() { - return getTermManager().getPreferredStatisticalMeasures(); - } -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/TaxonRelationshipTypeComboElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/TaxonRelationshipTypeComboElement.java deleted file mode 100644 index c6b8215e8..000000000 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/term/TaxonRelationshipTypeComboElement.java +++ /dev/null @@ -1,42 +0,0 @@ -// $Id$ -/** -* Copyright (C) 2009 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ -package eu.etaxonomy.taxeditor.ui.term; - -import java.util.List; - -import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; - -/** - * @author n.hoffmann - * @date Dec 1, 2011 - * - */ -public class TaxonRelationshipTypeComboElement extends AbstractTermComboElement { - - private static final int VISIBLE_ITEMS = 10; - - public TaxonRelationshipTypeComboElement(CdmFormFactory formFactory, - ICdmFormElement parentElement, String labelString, - TaxonRelationshipTypeInverseContainer selection, - int style) { - super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style); - } - - /* (non-Javadoc) - * @see eu.etaxonomy.taxeditor.ui.term.AbstractTermComboElement#preferredTerms() - */ - @Override - protected List preferredTerms() { - return getTermManager().getRelationshipTypesWithInverses(); - } - -} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java index 1113625a0..4f1f50718 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/translation/TranslationWizardPage.java @@ -30,14 +30,12 @@ import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper; import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType; import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.forms.LanguageStringWithLabelElement; import eu.etaxonomy.taxeditor.ui.forms.MultilanguageTextElement; import eu.etaxonomy.taxeditor.ui.forms.RootElement; -import eu.etaxonomy.taxeditor.ui.term.EmptyComboElement; -import eu.etaxonomy.taxeditor.ui.term.LanguageComboElement; /** *

TranslationWizardPage class.

@@ -56,11 +54,11 @@ public class TranslationWizardPage extends WizardPage{ private CdmFormFactory formFactory; - private EmptyComboElement combo_sourceLanguage; + private TermComboElement combo_sourceLanguage; private LanguageStringWithLabelElement text_source; - private LanguageComboElement combo_targetLanguage; + private TermComboElement combo_targetLanguage; private LanguageStringWithLabelElement text_target; @@ -131,7 +129,7 @@ public class TranslationWizardPage extends WizardPage{ */ private void createLeftControls(ICdmFormElement element){ - combo_sourceLanguage = (EmptyComboElement) formFactory.createTermComboElement(TermComboType.EMPTY, element, null, null, SWT.NULL); + combo_sourceLanguage = formFactory.createTermComboElement(null, element, null, null, SWT.NULL); combo_sourceLanguage.setTerms(getLanguages()); combo_sourceLanguage.addSelectionListener(new SelectionAdapter() { @@ -158,7 +156,7 @@ public class TranslationWizardPage extends WizardPage{ * @param element */ private void createRightControls(ICdmFormElement element){ - combo_targetLanguage = (LanguageComboElement) formFactory.createTermComboElement(TermComboType.LANGUAGE, element, null, null, SWT.NULL); + combo_targetLanguage = formFactory.createTermComboElement(Language.class, element, null, null, SWT.NULL); combo_targetLanguage.addSelectionListener(new SelectionAdapter() { /* (non-Javadoc) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java index e84c11ea8..5a48d1831 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java @@ -132,7 +132,7 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection public void setFocus() { if(getConversationHolder() != null){ getConversationHolder().bind(); - } + } getViewer().getControl().setFocus(); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java index e29e25356..46dfa6d4d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java @@ -21,7 +21,9 @@ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException; import eu.etaxonomy.cdm.model.agent.Person; import eu.etaxonomy.cdm.model.agent.Team; import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; +import eu.etaxonomy.cdm.model.common.DefinedTermBase; import eu.etaxonomy.cdm.model.common.Group; +import eu.etaxonomy.cdm.model.common.TermVocabulary; import eu.etaxonomy.cdm.model.common.User; import eu.etaxonomy.cdm.model.description.DescriptionBase; import eu.etaxonomy.cdm.model.description.DescriptionElementBase; @@ -37,6 +39,7 @@ import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType; import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType; import eu.etaxonomy.taxeditor.ui.forms.RootElement; @@ -79,6 +82,7 @@ import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection; import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailSection; import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection; import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection; +import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection; import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer; import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart; @@ -93,29 +97,6 @@ import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart; */ public class DetailsViewer extends AbstractCdmDataViewer { - private enum VIEW_PART { - TAXON, - NAME, - REFEERENCE, - TEAM, - PERSON, - DESCRIPTION, - DESCRIPTION_ELEMENT, - EMPTY, - IMAGE_GALLERY, - MEDIA, - TEAM_OR_PERSON_BASE, - DERIVED_UNIT, - FEATURE_DISTRIBUTION, - POLYTOMOUS_KEY, - POLYTOMOUS_KEY_NODE, - USER, - GROUP, - TAXON_RELATIONSHIP - } - - private VIEW_PART currentViewPart; - private ISelection selection; /** @@ -179,99 +160,67 @@ public class DetailsViewer extends AbstractCdmDataViewer { @Override protected void showParts() { if (getInput() instanceof TaxonBase) { - if (currentViewPart != VIEW_PART.TAXON) { - createTaxonSections(rootElement); - currentViewPart = VIEW_PART.TAXON; - } + createTaxonSections(rootElement); + } else if (getInput() instanceof NonViralName) { - if (currentViewPart != VIEW_PART.NAME) { - createNameSections(rootElement); - currentViewPart = VIEW_PART.NAME; - } + createNameSections(rootElement); + } else if (getInput() instanceof Reference) { - if (currentViewPart != VIEW_PART.REFEERENCE) { - createReferenceSections(rootElement); - currentViewPart = VIEW_PART.REFEERENCE; - } + createReferenceSections(rootElement); + } else if (getInput() instanceof Team) { - if (currentViewPart != VIEW_PART.TEAM) { - createTeamDetailSection(rootElement); - currentViewPart = VIEW_PART.TEAM; - } + createTeamDetailSection(rootElement); + } else if (getInput() instanceof Person) { - if (currentViewPart != VIEW_PART.PERSON) { - createPersonDetailSection(rootElement); - currentViewPart = VIEW_PART.PERSON; - } + createPersonDetailSection(rootElement); + } else if (getInput() instanceof TeamOrPersonBase) { - // fallback - if (currentViewPart != VIEW_PART.TEAM_OR_PERSON_BASE) { - createTeamOrPersonBaseDetailSection(rootElement); - currentViewPart = VIEW_PART.TEAM_OR_PERSON_BASE; - } + createTeamOrPersonBaseDetailSection(rootElement); + } else if (getInput() instanceof DescriptionBase) { if (((DescriptionBase) getInput()).isImageGallery()) { - if (currentViewPart != VIEW_PART.IMAGE_GALLERY) { - createImageGallerySection(rootElement); - currentViewPart = VIEW_PART.IMAGE_GALLERY; - } + createImageGallerySection(rootElement); + } else { - if (currentViewPart != VIEW_PART.DESCRIPTION) { - createDescriptionSection(rootElement); - currentViewPart = VIEW_PART.DESCRIPTION; - } + createDescriptionSection(rootElement); + } } else if (getInput() instanceof DescriptionElementBase) { - if (currentViewPart != VIEW_PART.DESCRIPTION_ELEMENT) { - createDescriptionElementSection(rootElement); - currentViewPart = VIEW_PART.DESCRIPTION_ELEMENT; - } + createDescriptionElementSection(rootElement); + } else if (getInput() instanceof Media) { - if (currentViewPart != VIEW_PART.MEDIA) { - createMediaElementSection(rootElement); - currentViewPart = VIEW_PART.MEDIA; - } + createMediaElementSection(rootElement); + } else if (getInput() instanceof DerivedUnitFacade) { - if (currentViewPart != VIEW_PART.DERIVED_UNIT) { - createDerivedUnitBaseElementSection(rootElement); - currentViewPart = VIEW_PART.DERIVED_UNIT; - } + createDerivedUnitBaseElementSection(rootElement); + } else if (getInput() instanceof FeatureNodeContainer) { - if (currentViewPart != VIEW_PART.FEATURE_DISTRIBUTION) { - createFeatureDistributionSection(rootElement); - currentViewPart = VIEW_PART.FEATURE_DISTRIBUTION; - } + createFeatureDistributionSection(rootElement); + } else if (getInput() instanceof PolytomousKey) { - if (currentViewPart != VIEW_PART.POLYTOMOUS_KEY) { - createPolytomousKeySection(rootElement); - currentViewPart = VIEW_PART.POLYTOMOUS_KEY; - } + createPolytomousKeySection(rootElement); + } else if ((getInput() instanceof PolytomousKeyNode) || (getInput() instanceof PolytomousKeyRelationship)) { - if (currentViewPart != VIEW_PART.POLYTOMOUS_KEY_NODE) { - createPolytomousKeyNodeSection(rootElement); - currentViewPart = VIEW_PART.POLYTOMOUS_KEY_NODE; - } + createPolytomousKeyNodeSection(rootElement); + } else if (getInput() instanceof User) { - if (currentViewPart != VIEW_PART.USER) { - createUserSection(rootElement); - currentViewPart = VIEW_PART.USER; - } + createUserSection(rootElement); + } else if (getInput() instanceof Group) { - if (currentViewPart != VIEW_PART.GROUP) { - createGroupSection(rootElement); - currentViewPart = VIEW_PART.GROUP; - } + createGroupSection(rootElement); + } else if (getInput() instanceof TaxonRelationship) { - if (currentViewPart != VIEW_PART.TAXON_RELATIONSHIP) { - createTaxonRelationshipSection(rootElement); - currentViewPart = VIEW_PART.TAXON_RELATIONSHIP; - } + createTaxonRelationshipSection(rootElement); + + } else if (getInput() instanceof TermVocabulary) { + createTermVocabularySection(rootElement); + + } else if (getInput() instanceof DefinedTermBase) { + createDefinedTermSection(rootElement); } else { destroySections(); - currentViewPart = VIEW_PART.EMPTY; } - layout(); } @@ -682,18 +631,43 @@ public class DetailsViewer extends AbstractCdmDataViewer { addPart(userDetailSection); addPart(groupByUserDetailSection); } - - private void createTaxonRelationshipSection(RootElement parent){ + + private void createTaxonRelationshipSection(RootElement parent) { destroySections(); - + TaxonRelationshipDetailSection taxonRelationshipDetailSection = (TaxonRelationshipDetailSection) formFactory - .createCdmDetailSection(DetailType.TAXON_RELATIONSHIP, getConversationHolder(), parent, this, Section.TWISTIE + .createCdmDetailSection(DetailType.TAXON_RELATIONSHIP, + getConversationHolder(), parent, this, Section.TWISTIE | Section.EXPANDED); - + ReferencedEntityDetailSection referencedEntityBaseDetailSection = (ReferencedEntityDetailSection) formFactory - .createCdmDetailSection(DetailType.REFERENCED_ENTITY, getConversationHolder(), parent, this, Section.TWISTIE + .createCdmDetailSection(DetailType.REFERENCED_ENTITY, + getConversationHolder(), parent, this, Section.TWISTIE | Section.EXPANDED); addPart(taxonRelationshipDetailSection); addPart(referencedEntityBaseDetailSection); } + + /** + * @param rootElement + */ + private void createTermVocabularySection(RootElement parent) { + destroySections(); + + TermVocabularyDetailSection termVocabularyDetailSection = (TermVocabularyDetailSection) formFactory + .createCdmDetailSection(DetailType.TERM_VOCABULARY, + getConversationHolder(), parent, this, Section.TWISTIE + | Section.EXPANDED); + addPart(termVocabularyDetailSection); + } + + private void createDefinedTermSection(RootElement parent) { + destroySections(); + + AbstractFormSection definedTermDetailSection = formFactory + .createDefinedTermDetailSection(getInput().getClass(), + getConversationHolder(), parent, this, Section.TWISTIE + | Section.EXPANDED); + addPart(definedTermDetailSection); + } }