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
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
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
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
*
* @return a {@link java.lang.String} object.
*/
- protected static String getPluginId(){
+ public static String getPluginId(){
return TaxonomicEditorPlugin.PLUGIN_ID;
}
*
* @return a {@link java.lang.String} object.
*/
- protected static String getPluginId(){
+ public static String getPluginId(){
return TaxeditorBulkeditorPlugin.PLUGIN_ID;
}
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);
}
}
*/
public Map<Object, String> getKeyLabelPairs() {
Map<Object, String> result = new HashMap<Object, String>();
- for (Rank rank : CdmStore.getTermManager().getPreferredRanks()) {
+ for (Rank rank : CdmStore.getTermManager().getPreferredTerms(Rank.class)) {
result.put(rank, rank.getLabel());
}
return result;
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()));
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry exported="true" kind="lib" path="lib/poi-3.6.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry exported="true" kind="lib" path="lib/activation-1.1.jar" sourcepath="lib/activation-1.1src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.6.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/aopalliance-1.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/asm-attrs.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/asm.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.6.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.6.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/avalon-framework-4.2.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/batik-all-1.7.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.1.jar" sourcepath="lib/c3p0-0.9.1src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/cglib-2.1.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.7.0.jar" sourcepath="lib/commons-beanutils-1.7.0src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.jar" sourcepath="lib/commons-collections-3.2src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.2.2.jar" sourcepath="lib/commons-dbcp-1.2.2src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-io-1.3.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-io-1.4.jar" sourcepath="lib/commons-io-1.4src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-lang-2.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.0.4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-pool-1.3.jar" sourcepath="lib/commons-pool-1.3src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/dozer-5.3.0.jar" sourcepath="lib/dozer-5.3.0src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/ehcache-1.2.3.jar" sourcepath="lib/ehcache-1.2.3src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/ejb3-persistence.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/ezmorph-1.0.4.jar" sourcepath="lib/ezmorph-1.0.4src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/fop.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/google-api-translate-java-0.92.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/h2-1.1.115.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-annotations-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-annotations-3.4.0-SNAPSHOTsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-commons-annotations-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-commons-annotations-3.4.0-SNAPSHOTsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-core-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-core-3.4.0-SNAPSHOTsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-search-3.1.0.GA.jar" sourcepath="lib/hibernate-search-3.1.0.GAsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-tools-3.2.0.ga.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-4.0.0.CR1.jar" sourcepath="lib/hibernate-validator-4.0.0.CR1src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/hsqldb.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/httpclient-4.0.1.jar" sourcepath="lib/httpclient-4.0.1src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/httpcore-4.0.1.jar" sourcepath="lib/httpcore-4.0.1src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/javassist.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jaxb-api-2.1.6.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jaxb-impl-2.1.6.jar" sourcepath="lib/jaxb-impl-2.1.6src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/jaxen-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jdbc-1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jdbc2_0-stdext.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jdom.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/joda-time-1.5.jar" sourcepath="lib/joda-time-1.5src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/joda-time-hibernate-1.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/json-lib-2.2.3-jdk15.jar" sourcepath="lib/json-lib-2.2.3-jdk15src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/jsr250-api-1.0.jar" sourcepath="lib/jsr250-api-1.0src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/jta.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jtds-1.2.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/junit-4.8.1.jar" sourcepath="lib/junit-4.8.1src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/log4j-1.2.14.jar" sourcepath="lib/log4j-1.2.14src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/lsid-client-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lsid-server-1.1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-core-2.4.0.jar" sourcepath="lib/lucene-core-2.4.0src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/lucene-spellchecker-2.4.0.jar" sourcepath="lib/lucene-spellchecker-2.4.0src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/mail-1.4.jar" sourcepath="lib/mail-1.4src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/msbase-2000.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/mssqlserver-2000.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/msutil-2000.3.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.0.5.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/odfdom-0.8.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/opencsv-1.8.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.apache.commons.codec-1.3.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.eclipse.equinox.common-3.6.0.v20100503.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.eclipse.osgi-3.6.2.R36x_v20110210.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.aop-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.aop-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.asm-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.asm-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.aspects-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.aspects-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.beans-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.beans-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.context-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.context-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.context.support-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.context.support-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.core-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.core-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.expression-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.expression-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.jdbc-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.jdbc-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.orm-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.orm-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.oxm-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.oxm-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.transaction-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.transaction-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.web-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.web-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/org.springframework.web.servlet-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.web.servlet-3.0.4.RELEASEsrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/postgresql-8.2-504.jdbc4.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/sanselan-0.97-incubator.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/saxon9he.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/serializer-2.7.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/servlet-2.5.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/servlet-api-2.5.jar" sourcepath="lib/servlet-api-2.5src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.5.2.jar" sourcepath="lib/slf4j-api-1.5.2src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/slf4j-log4j12-1.5.2.jar" sourcepath="lib/slf4j-log4j12-1.5.2src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-modules-cache-0.7.jar" sourcepath="lib/spring-modules-cache-0.7src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-modules-lucene-0.8a.jar" sourcepath="lib/spring-modules-lucene-0.8asrc.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-security-config-3.0.5.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/spring-security-core-3.0.5.RELEASE.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/wsdl4j-1.6.1.jar" sourcepath="lib/wsdl4j-1.6.1src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/xalan-2.7.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xercesImpl-2.7.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xercesImpl.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xml-apis-1.3.04.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xml-apis-ext-1.3.04.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xml-apis.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xml-resolver-1.2.jar" sourcepath="lib/xml-resolver-1.2src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/xmlgraphics-commons-1.3.1.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xom-1.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xsltc.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xstream-1.3.1.jar" sourcepath="lib/xstream-1.3.1src.zip"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.0.9-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.0.9-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.0.9-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.0.9-SNAPSHOT.jar" sourcepath="/Users/nph/.m2/repository/eu/etaxonomy/cdmlib-model/3.0.9-SNAPSHOT/cdmlib-model-3.0.9-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.0.9-SNAPSHOT.jar" sourcepath="/Users/nph/.m2/repository/eu/etaxonomy/cdmlib-persistence/3.0.9-SNAPSHOT/cdmlib-persistence-3.0.9-SNAPSHOT-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.0.9-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.0.9-SNAPSHOT.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.0.9-SNAPSHOT.jar" sourcepath="/cdmlib-services"/>
- <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-envers-3.4.0-SNAPSHOTsrc.zip"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/activation-1.1.jar" sourcepath="lib/activation-1.1src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.6.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/aopalliance-1.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/asm-attrs.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/asm.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/aspectjrt-1.6.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/aspectjweaver-1.6.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/avalon-framework-4.2.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/batik-all-1.7.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.1.jar" sourcepath="lib/c3p0-0.9.1src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cglib-2.1.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.7.0.jar" sourcepath="lib/commons-beanutils-1.7.0src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.jar" sourcepath="lib/commons-collections-3.2src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-dbcp-1.2.2.jar" sourcepath="lib/commons-dbcp-1.2.2src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-io-1.3.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-io-1.4.jar" sourcepath="lib/commons-io-1.4src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-lang-2.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-logging-1.0.4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/commons-pool-1.3.jar" sourcepath="lib/commons-pool-1.3src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/dom4j-1.6.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/dozer-5.3.0.jar" sourcepath="lib/dozer-5.3.0src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/ehcache-1.2.3.jar" sourcepath="lib/ehcache-1.2.3src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/ejb3-persistence.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/ezmorph-1.0.4.jar" sourcepath="lib/ezmorph-1.0.4src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/fop.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/google-api-translate-java-0.92.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/h2-1.1.115.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-annotations-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-annotations-3.4.0-SNAPSHOTsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-commons-annotations-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-commons-annotations-3.4.0-SNAPSHOTsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-core-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-core-3.4.0-SNAPSHOTsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-search-3.1.0.GA.jar" sourcepath="lib/hibernate-search-3.1.0.GAsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-tools-3.2.0.ga.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-validator-4.0.0.CR1.jar" sourcepath="lib/hibernate-validator-4.0.0.CR1src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hsqldb.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/httpclient-4.0.1.jar" sourcepath="lib/httpclient-4.0.1src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/httpcore-4.0.1.jar" sourcepath="lib/httpcore-4.0.1src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/javassist.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-api-2.1.6.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jaxb-impl-2.1.6.jar" sourcepath="lib/jaxb-impl-2.1.6src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jaxen-1.1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jdbc-1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jdbc2_0-stdext.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jdom.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/joda-time-1.5.jar" sourcepath="lib/joda-time-1.5src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/joda-time-hibernate-1.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/json-lib-2.2.3-jdk15.jar" sourcepath="lib/json-lib-2.2.3-jdk15src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jsr250-api-1.0.jar" sourcepath="lib/jsr250-api-1.0src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jta.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/jtds-1.2.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/junit-4.8.1.jar" sourcepath="lib/junit-4.8.1src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/log4j-1.2.14.jar" sourcepath="lib/log4j-1.2.14src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lsid-client-1.1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lsid-server-1.1.2.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-core-2.4.0.jar" sourcepath="lib/lucene-core-2.4.0src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/lucene-spellchecker-2.4.0.jar" sourcepath="lib/lucene-spellchecker-2.4.0src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/mail-1.4.jar" sourcepath="lib/mail-1.4src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/msbase-2000.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/mssqlserver-2000.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/msutil-2000.3.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/mysql-connector-java-5.0.5.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/odfdom-0.8.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/opencsv-1.8.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.apache.commons.codec-1.3.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.eclipse.equinox.common-3.6.0.v20100503.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.eclipse.osgi-3.6.2.R36x_v20110210.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.aop-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.aop-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.asm-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.asm-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.aspects-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.aspects-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.beans-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.beans-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.context-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.context-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.context.support-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.context.support-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.core-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.core-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.expression-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.expression-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.jdbc-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.jdbc-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.orm-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.orm-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.oxm-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.oxm-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.transaction-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.transaction-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.web-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.web-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/org.springframework.web.servlet-3.0.4.RELEASE.jar" sourcepath="lib/org.springframework.web.servlet-3.0.4.RELEASEsrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/poi-3.6.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/postgresql-8.2-504.jdbc4.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/sanselan-0.97-incubator.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/saxon9he.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/serializer-2.7.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/servlet-2.5.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/servlet-api-2.5.jar" sourcepath="lib/servlet-api-2.5src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/slf4j-api-1.5.2.jar" sourcepath="lib/slf4j-api-1.5.2src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/slf4j-log4j12-1.5.2.jar" sourcepath="lib/slf4j-log4j12-1.5.2src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-modules-cache-0.7.jar" sourcepath="lib/spring-modules-cache-0.7src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-modules-lucene-0.8a.jar" sourcepath="lib/spring-modules-lucene-0.8asrc.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-security-config-3.0.5.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/spring-security-core-3.0.5.RELEASE.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/wsdl4j-1.6.1.jar" sourcepath="lib/wsdl4j-1.6.1src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xalan-2.7.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xercesImpl-2.7.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xercesImpl.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xml-apis-1.3.04.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xml-apis-ext-1.3.04.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xml-apis.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xml-resolver-1.2.jar" sourcepath="lib/xml-resolver-1.2src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xmlgraphics-commons-1.3.1.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xom-1.0.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xsltc.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/xstream-1.3.1.jar" sourcepath="lib/xstream-1.3.1src.zip"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.0.9-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.0.9-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.0.9-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.0.9-SNAPSHOT.jar" sourcepath="C:/Users/l.morris/.m2/repository/eu/etaxonomy/cdmlib-model/3.0.9-SNAPSHOT/cdmlib-model-3.0.9-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.0.9-SNAPSHOT.jar" sourcepath="C:/Users/l.morris/.m2/repository/eu/etaxonomy/cdmlib-persistence/3.0.9-SNAPSHOT/cdmlib-persistence-3.0.9-SNAPSHOT-sources.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.0.9-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.0.9-SNAPSHOT.jar"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.0.9-SNAPSHOT.jar" sourcepath="/cdmlib-services"/>\r
+ <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-3.4.0-SNAPSHOT.jar" sourcepath="lib/hibernate-envers-3.4.0-SNAPSHOTsrc.zip"/>\r
+ <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
*
* @return a {@link java.lang.String} object.
*/
- protected static String getPluginId() {
+ public static String getPluginId() {
return TaxeditorEditorPlugin.PLUGIN_ID;
}
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);
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;
// 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;
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;
return;
}
+ if(part instanceof DefinedTermEditor){
+ showEmptyPage();
+ return;
+ }
+
if(part instanceof MultiPageTaxonEditor){
if(! part.equals(this.part)){
IEditorInput input = ((IEditorPart) part).getEditorInput();
}
if(featureTree == null){
- featureTree = FeatureTree.NewInstance(CdmStore.getTermManager().getPreferredFeatures());
+ featureTree = FeatureTree.NewInstance(CdmStore.getTermManager().getPreferredTerms(Feature.class));
}
return featureTree;
*
* @return a {@link java.lang.String} object.
*/
- protected static String getPluginId(){
+ public static String getPluginId(){
return TaxeditorNavigationPlugin.PLUGIN_ID;
}
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,
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,
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,
restorable="true">
</view>
</extension>
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor"
+ default="false"
+ id="eu.etaxonomy.taxeditor.editor.definedTerm"
+ name="Defined Term Editor">
+ </editor>
+ </extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
</visibleWhen>
</command>
</menu>
+ <menu
+ id="eu.etaxonomy.taxeditor.store.definedTermEditorMenu"
+ label="Term Editor">
+ <command
+ commandId="eu.etaxonomy.taxeditor.store.openDefinedTermEditor"
+ label="Named Area"
+ style="push">
+ <parameter
+ name="eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"
+ value="eu.etaxonomy.cdm.model.location.NamedArea">
+ </parameter>
+ </command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.store.openDefinedTermEditor"
+ label="Named Area Level"
+ style="push">
+ <parameter
+ name="eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"
+ value="eu.etaxonomy.cdm.model.location.NamedAreaLevel">
+ </parameter>
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.store.definedTermEditorMenu.separator2"
+ visible="true">
+ </separator>
+ <command
+ commandId="eu.etaxonomy.taxeditor.store.openDefinedTermEditor"
+ label="Extension Type"
+ style="push">
+ <parameter
+ name="eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"
+ value="eu.etaxonomy.cdm.model.common.ExtensionType">
+ </parameter>
+ </command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.store.openDefinedTermEditor"
+ label="Marker Type"
+ style="push">
+ <parameter
+ name="eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"
+ value="eu.etaxonomy.cdm.model.description.Feature">
+ </parameter>
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.store.definedTermEditorMenu.separator3"
+ visible="true">
+ </separator>
+ <command
+ commandId="eu.etaxonomy.taxeditor.store.openDefinedTermEditor"
+ label="Feature"
+ style="push">
+ <parameter
+ name="eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"
+ value="eu.etaxonomy.cdm.model.description.Feature">
+ </parameter>
+ </command>
+ </menu>
</menuContribution>
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu.file?after=eu.etaxonomy.taxeditor.application.filemenu.io">
</control>
</toolbar>
</menuContribution>
+ <menuContribution
+ locationURI="popup:eu.etaxonomy.taxeditor.editor.definedTerm">
+ <menu
+ label="New">
+ <command
+ commandId="eu.etaxonomy.taxeditor.editor.definedTerms.newTermVocabulary"
+ label="Vocabulary"
+ style="push">
+ </command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.editor.definedTerms.newDefinedTerm"
+ label="Defined Term"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="isModifiable">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menu>
+ <command
+ commandId="org.eclipse.ui.edit.delete"
+ label="Delete"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="isModifiable">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
</extension>
<extension
name="Window Menu Commands"
point="org.eclipse.ui.commands">
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.OpenDefinedTermEditorHandler"
+ id="eu.etaxonomy.taxeditor.store.openDefinedTermEditor"
+ name="Open Defined Term Editor">
+ <commandParameter
+ id="eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter"
+ name="inputType"
+ optional="true">
+ </commandParameter>
+ </command>
+ </extension>
+ <extension
+ name="File Menu Commands"
+ point="org.eclipse.ui.commands">
<command
defaultHandler="eu.etaxonomy.taxeditor.handler.ShowLoginWindowHandler"
id="eu.etaxonomy.taxeditor.store.operations.showLoginWindow"
</with>
</activeWhen>
</handler>
+ <handler
+ class="eu.etaxonomy.taxeditor.editor.definedterm.handler.DeleteTermBaseHandler"
+ commandId="org.eclipse.ui.edit.delete">
+ <activeWhen>
+ <with
+ variable="activePartId">
+ <equals
+ value="eu.etaxonomy.taxeditor.editor.definedTerm">
+ </equals>
+ </with>
+ </activeWhen>
+ </handler>
</extension>
<extension
name="Popup Menu Commands"
name="Update Datasource">
</command>
</extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.CreateDefinedTermHandler"
+ id="eu.etaxonomy.taxeditor.editor.definedTerms.newDefinedTerm"
+ name="New Defined Term">
+ </command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.CreateTermVocabularyHandler"
+ id="eu.etaxonomy.taxeditor.editor.definedTerms.newTermVocabulary"
+ name="New Term Vocabulary">
+ </command>
+ </extension>
<extension
point="org.eclipse.ui.importWizards">
<category
properties="isShowExperimentalFeatures"
type="org.eclipse.jface.viewers.IStructuredSelection">
</propertyTester>
+ <propertyTester
+ class="eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester"
+ id="eu.etaxonomy.taxeditor.store.termEditor.propertyTester"
+ namespace="eu.etaxonomy.taxeditor.store.termEditor.propertyTester"
+ properties="isModifiable"
+ type="org.eclipse.jface.viewers.IStructuredSelection">
+ </propertyTester>
</extension>
<extension
point="org.eclipse.core.expressions.definitions">
</test>
</with>
</definition>
+ <definition
+ id="isModifiable">
+ <with
+ variable="activeMenuSelection">
+ <test
+ property="eu.etaxonomy.taxeditor.store.termEditor.propertyTester.isModifiable">
+ </test>
+ </with>
+ </definition>
</extension>
</plugin>
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.jface.viewers.Viewer;\r
+import org.eclipse.swt.dnd.DragSourceAdapter;\r
+import org.eclipse.swt.dnd.DragSourceEvent;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 10 Jan 2012\r
+ *\r
+ */\r
+public class DefinedTermDragListener extends DragSourceAdapter {\r
+ \r
+ private Viewer viewer;\r
+\r
+ /**\r
+ * \r
+ */\r
+ public DefinedTermDragListener(Viewer viewer) {\r
+ this.viewer = viewer;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.dnd.DragSourceAdapter#dragStart(org.eclipse.swt.dnd.DragSourceEvent)\r
+ */\r
+ @Override\r
+ public void dragStart(DragSourceEvent event) {\r
+ \r
+ event.doit = true;// set to false if needed - default is true\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.dnd.DragSourceAdapter#dragFinished(org.eclipse.swt.dnd.DragSourceEvent)\r
+ */\r
+ @Override\r
+ public void dragFinished(DragSourceEvent event) {\r
+ // TODO Auto-generated method stub\r
+ super.dragFinished(event);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.dnd.DragSourceAdapter#dragSetData(org.eclipse.swt.dnd.DragSourceEvent)\r
+ */\r
+ @Override\r
+ public void dragSetData(DragSourceEvent event) {\r
+ \r
+ IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();\r
+ List<DefinedTermBase> definedTerms = new ArrayList<DefinedTermBase>();\r
+ \r
+ for (Object object : selection.toList()){\r
+ definedTerms.add((DefinedTermBase)object);\r
+ }\r
+ \r
+ if (TermTransfer.getInstance().isSupportedType(\r
+ event.dataType)) {\r
+ event.data = definedTerms.toArray(new DefinedTermBase[definedTerms.size()]);\r
+ }\r
+ }\r
+ \r
+ \r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Collection;\r
+\r
+import org.eclipse.jface.viewers.ViewerDropAdapter;\r
+import org.eclipse.swt.dnd.TransferData;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.operation.MoveDefinedTermOperation;\r
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 10 Jan 2012\r
+ *\r
+ */\r
+public class DefinedTermDropAdapter extends ViewerDropAdapter {\r
+\r
+ private DefinedTermEditor editor;\r
+ /**\r
+ * @param viewer\r
+ */\r
+ protected DefinedTermDropAdapter(DefinedTermEditor editor) {\r
+ super(editor.getViewer());\r
+ this.editor = editor;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ViewerDropAdapter#performDrop(java.lang.Object)\r
+ */\r
+ @Override\r
+ public boolean performDrop(Object data) {\r
+ \r
+ TermBase target = (TermBase) getCurrentTarget();//can be vocab\r
+ //DefinedTermBase[] droppedElements = (DefinedTermBase[]) data;\r
+ Object[] droppedTerms = (Object[]) data;\r
+ Collection<DefinedTermBase> sourceTerms = new ArrayList<DefinedTermBase>(); //Arrays.asList(droppedElements)\r
+ \r
+ for (Object droppedTerm : droppedTerms) {\r
+ \r
+ DefinedTermBase term = (DefinedTermBase) droppedTerm;\r
+ sourceTerms.add(term);\r
+ \r
+ }\r
+ \r
+ AbstractPostOperation operation = new MoveDefinedTermOperation("Move Descriptions", StoreUtil.getUndoContext(), target, sourceTerms, editor);\r
+ //TODO: implement execute\r
+ StoreUtil.executeOperation(operation);\r
+ \r
+ return true;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData)\r
+ */\r
+ @Override\r
+ public boolean validateDrop(Object target, int operation,\r
+ TransferData transferType) {\r
+ boolean transferDataIsSupported = TermTransfer.getInstance().isSupportedType(transferType);\r
+ System.out.println(target);\r
+ // maybe don't need this - they will be all TermBase anyway\r
+ return target instanceof TermBase && transferDataIsSupported; \r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+ * Copyright (C) 2009 EDIT\r
+ * European Distributed Institute of Taxonomy \r
+ * http://www.e-taxonomy.eu\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version 1.1\r
+ * See LICENSE.TXT at the top of this package for the full license terms.\r
+ */\r
+package eu.etaxonomy.taxeditor.editor.definedterm;\r
+\r
+import java.util.HashSet;\r
+import java.util.List;\r
+import java.util.Set;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.GroupMarker;\r
+import org.eclipse.jface.action.MenuManager;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.StructuredSelection;\r
+import org.eclipse.jface.viewers.TreeViewer;\r
+import org.eclipse.jface.viewers.ViewerSorter;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.dnd.DND;\r
+import org.eclipse.swt.dnd.Transfer;\r
+import org.eclipse.swt.layout.FillLayout;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Control;\r
+import org.eclipse.swt.widgets.Menu;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.IEditorSite;\r
+import org.eclipse.ui.ISelectionListener;\r
+import org.eclipse.ui.ISelectionService;\r
+import org.eclipse.ui.IWorkbenchActionConstants;\r
+import org.eclipse.ui.IWorkbenchPart;\r
+import org.eclipse.ui.PartInitException;\r
+import org.eclipse.ui.part.EditorPart;\r
+\r
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
+import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;\r
+import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
+import eu.etaxonomy.cdm.model.common.CdmBase;\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput;\r
+import eu.etaxonomy.taxeditor.model.IDirtyMarkableSelectionProvider;\r
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 3 Jan 2012\r
+ *\r
+ */\r
+public class DefinedTermEditor extends EditorPart implements IConversationEnabled, ISelectionListener, IDirtyMarkableSelectionProvider, IPostOperationEnabled {\r
+\r
+ public static final String ID = "eu.etaxonomy.taxeditor.editor.definedTerm";\r
+\r
+ public static final String OPEN_COMMAND_ID = "eu.etaxonomy.taxeditor.store.openDefinedTermEditor";\r
+ \r
+ protected TreeViewer viewer;\r
+ protected ConversationHolder conversation;\r
+ private ISelectionService selectionService;\r
+ private boolean dirty;\r
+ Set<TermVocabulary<? extends DefinedTermBase>> inMemoryVocabularies = new HashSet<TermVocabulary<? extends DefinedTermBase>>();\r
+\r
+ private int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;\r
+ /**\r
+ * \r
+ */\r
+ public DefinedTermEditor() {\r
+ super();\r
+ conversation = CdmStore.createConversation();\r
+ }\r
+\r
+ @Override\r
+ public void createPartControl(Composite parent) {\r
+ \r
+ // parent.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));\r
+ \r
+ FillLayout layout = new FillLayout();\r
+ layout.marginHeight = 0;\r
+ layout.marginWidth = 0;\r
+ layout.type = SWT.VERTICAL;\r
+ \r
+ parent.setLayout(layout);\r
+ viewer = new TreeViewer(parent);\r
+ viewer.getControl().setLayoutData(CdmFormFactory.FILL());\r
+ viewer.setContentProvider(new TermContentProvider());\r
+ viewer.setLabelProvider(new TermLabelProvider());\r
+ viewer.setSorter(new ViewerSorter());\r
+ \r
+ Transfer[] transfers = new Transfer[] { TermTransfer.getInstance() };\r
+ viewer.addDragSupport(dndOperations, transfers, new DefinedTermDragListener(viewer));\r
+ viewer.addDropSupport(dndOperations, transfers, new DefinedTermDropAdapter(this));\r
+\r
+ \r
+ initialiseVocabularies(); \r
+ viewer.setInput(inMemoryVocabularies);\r
+ \r
+ getSite().setSelectionProvider(viewer);\r
+ \r
+ selectionService = getSite().getWorkbenchWindow().getSelectionService();\r
+ selectionService.addSelectionListener(this);\r
+ \r
+ setPartName(getEditorInput().getName());\r
+ createMenu();\r
+ }\r
+ \r
+ \r
+ protected void initialiseVocabularies() {\r
+ inMemoryVocabularies.clear();\r
+ //List<TermVocabulary> vocabularies = CdmStore.getService(IVocabularyService.class).list(null, null, null, null, null);\r
+\r
+// for (TermVocabulary vocabulary : vocabularies){\r
+// if(vocabulary.getTerms().isEmpty()){\r
+// inMemoryVocabularies.add(vocabulary);\r
+// }\r
+// }\r
+\r
+ \r
+ List<TermVocabulary<? extends DefinedTermBase>> termVocabularies = CdmStore.getService(IVocabularyService.class).listByTermClass(getDefinedTermEditorInput().getTermClass(), true, true, null, null, null, null);\r
+ \r
+ \r
+ inMemoryVocabularies.addAll(termVocabularies);\r
+ }\r
+ \r
+ /**\r
+ * \r
+ */\r
+ public AbstractDefinedTermEditorInput getDefinedTermEditorInput() {\r
+ return (AbstractDefinedTermEditorInput) getEditorInput();\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.operation.IPostOperationEnabled#postOperation(eu.etaxonomy.cdm.model.common.CdmBase)\r
+ */\r
+ @Override\r
+ public boolean postOperation(CdmBase objectAffectedByOperation) {\r
+\r
+ if(objectAffectedByOperation instanceof DefinedTermBase){\r
+ viewer.refresh();\r
+ } else if (objectAffectedByOperation instanceof TermVocabulary){\r
+// if (inMemoryVocabularies.contains(objectAffectedByOperation)){\r
+// inMemoryVocabularies.remove((TermVocabulary) objectAffectedByOperation);\r
+// }else{\r
+// inMemoryVocabularies.add((TermVocabulary) objectAffectedByOperation);\r
+// DetailsViewPart view = (DetailsViewPart) StoreUtil.getView(DetailsViewPart.ID, true);\r
+// view.setFocus();\r
+// }\r
+ \r
+// viewer.setInput(inMemoryVocabularies);\r
+ viewer.refresh();\r
+ \r
+ }\r
+ \r
+ \r
+ \r
+ if(objectAffectedByOperation != null){\r
+ viewer.setSelection(new StructuredSelection(objectAffectedByOperation));\r
+ }\r
+ setDirty(true);\r
+\r
+ return true;\r
+ } \r
+\r
+ private void createMenu() {\r
+ // register context menu\r
+ MenuManager menuManager = new MenuManager();\r
+ menuManager\r
+ .add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));\r
+ getSite().registerContextMenu(ID, menuManager, viewer);\r
+ \r
+ Control control = viewer.getControl();\r
+ Menu menu = menuManager.createContextMenu(control);\r
+ control.setMenu(menu);\r
+ }\r
+ \r
+\r
+ \r
+\r
+ @Override\r
+ public void doSave(IProgressMonitor monitor) {\r
+ getConversationHolder().commit();\r
+ setDirty(false);\r
+ initialiseVocabularies();\r
+ }\r
+ \r
+\r
+ @Override\r
+ public void doSaveAs() {}\r
+\r
+ @Override\r
+ public void init(IEditorSite site, IEditorInput input) throws PartInitException {\r
+ setSite(site);\r
+ setInput(input);\r
+ \r
+ }\r
+\r
+ @Override\r
+ public boolean isDirty() {\r
+ return dirty;\r
+ }\r
+\r
+ @Override\r
+ public boolean isSaveAsAllowed() {\r
+ return false;\r
+ }\r
+\r
+ @Override\r
+ public void setFocus() {\r
+ getConversationHolder().bind();\r
+ }\r
+\r
+ @Override\r
+ public void update(CdmDataChangeMap changeEvents) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ @Override\r
+ public ConversationHolder getConversationHolder() {\r
+ return conversation;\r
+ }\r
+\r
+ @Override\r
+ public void selectionChanged(IWorkbenchPart part, ISelection selection) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ @Override\r
+ public void changed(Object element) {\r
+ dirty = true;\r
+ setDirty(true);\r
+ viewer.update(element, null);\r
+ }\r
+\r
+ /**\r
+ * @param dirty the dirty to set\r
+ */\r
+ public void setDirty(boolean dirty) {\r
+ this.dirty = dirty;\r
+ firePropertyChange(PROP_DIRTY);\r
+ }\r
+\r
+ @Override\r
+ public boolean onComplete() {\r
+ // TODO Auto-generated method stub\r
+ return false;\r
+ }\r
+\r
+ /**\r
+ * \r
+ */\r
+ public TreeViewer getViewer() {\r
+ return viewer;\r
+ }\r
+\r
+ /**\r
+ * @return \r
+ * \r
+ */\r
+ public Set<TermVocabulary<? extends DefinedTermBase>> getInMemoryVocabularies() {\r
+ return inMemoryVocabularies;\r
+ }\r
+\r
+}
\ No newline at end of file
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm;\r
+\r
+import java.util.HashSet;\r
+import java.util.Set;\r
+\r
+import org.eclipse.core.expressions.PropertyTester;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.Marker;\r
+import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.ui.section.vocabulary.AbstractTermBaseDetailElement;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 9 Jan 2012\r
+ *\r
+ */\r
+public class TermBasePropertyTester extends PropertyTester {\r
+\r
+ private static final String IS_MODIFIABLE = "isModifiable";\r
+ \r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)\r
+ */\r
+ @Override\r
+ public boolean test(Object receiver, String property, Object[] args,\r
+ Object expectedValue) {\r
+ \r
+ IStructuredSelection selection = (IStructuredSelection) receiver;\r
+ TermBase selectedElement = (TermBase) selection.getFirstElement();\r
+ \r
+ if(IS_MODIFIABLE.equals(property)){\r
+ return isModifiable(selectedElement);\r
+ }\r
+ \r
+ return false;\r
+ }\r
+\r
+\r
+ /**\r
+ * Checks whether there is a {@link Marker} with the type {@link MarkerType#MODIFIABLE()} and if there is then return its value.\r
+ * \r
+ * @return The markers value if it exists \r
+ */\r
+ public static boolean isModifiable(TermBase termBase) {\r
+ if (termBase == null){\r
+ return true;\r
+ }\r
+ \r
+ TermVocabulary vocabulary = null;\r
+ \r
+ if(termBase instanceof DefinedTermBase){\r
+ vocabulary = ((DefinedTermBase) termBase).getVocabulary();\r
+ }else if(termBase instanceof TermVocabulary){\r
+ vocabulary = (TermVocabulary) termBase;\r
+ }\r
+ \r
+ if(vocabulary == null){\r
+ return true;\r
+ }\r
+ \r
+ for(Marker vocabularyMarker : vocabulary.getMarkers()){\r
+ if(vocabularyMarker.getMarkerType().equals(MarkerType.MODIFIABLE())){\r
+ return vocabularyMarker.getValue(); \r
+ }\r
+ }\r
+ \r
+ return true;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm;\r
+\r
+import java.util.Collection;\r
+import java.util.HashSet;\r
+import java.util.Set;\r
+import java.util.SortedSet;\r
+\r
+import org.eclipse.jface.viewers.ITreeContentProvider;\r
+import org.eclipse.jface.viewers.Viewer;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 8 Dec 2011\r
+ *\r
+ */\r
+public class TermContentProvider implements ITreeContentProvider {\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IContentProvider#dispose()\r
+ */\r
+ @Override\r
+ public void dispose() {\r
+ // TODO Auto-generated method stub\r
+\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)\r
+ */\r
+ @Override\r
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {\r
+ // TODO Auto-generated method stub\r
+\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)\r
+ */\r
+ @Override\r
+ public Object[] getElements(Object inputElement) {\r
+ \r
+ Collection<TermVocabulary> inputElements = (Collection<TermVocabulary>) inputElement;\r
+ return inputElements.toArray();\r
+ //return null;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)\r
+ */\r
+ @Override\r
+ public Object[] getChildren(Object parentElement) {\r
+ \r
+ if(parentElement instanceof TermVocabulary){\r
+ return getTopLevelElements((TermVocabulary) parentElement);\r
+ } else if (parentElement instanceof DefinedTermBase) {\r
+ return ((DefinedTermBase) parentElement).getIncludes().toArray();\r
+ }\r
+ return null;\r
+ }\r
+ \r
+ /**\r
+ * \r
+ * @param vocabulary\r
+ * @return An array of DefinedTermBase objects that do not have parents\r
+ * \r
+ * TODO: Needs to be implemented in cdmlib\r
+ */\r
+ private Object[] getTopLevelElements(TermVocabulary vocabulary) {\r
+ \r
+ SortedSet<DefinedTermBase> terms = vocabulary.getTermsOrderedByLabels(CdmStore.getDefaultLanguage());\r
+ Set<DefinedTermBase> topLevelTerms = new HashSet<DefinedTermBase>(); \r
+ \r
+ for (DefinedTermBase term : terms){\r
+ if (term.getPartOf() == null){\r
+ topLevelTerms.add(term);\r
+ }\r
+ \r
+ }\r
+ \r
+ return topLevelTerms.toArray();\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)\r
+ */\r
+ @Override\r
+ public Object getParent(Object element) {\r
+ \r
+ if(element instanceof DefinedTermBase){\r
+ \r
+ DefinedTermBase definedTerm = (DefinedTermBase)element;\r
+ if (definedTerm.getPartOf() == null) {\r
+ return definedTerm.getVocabulary();\r
+ } else {\r
+ return definedTerm.getPartOf();\r
+ }\r
+ } \r
+ return null;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)\r
+ */\r
+ @Override\r
+ public boolean hasChildren(Object element) {\r
+ \r
+ if (getChildren(element) != null){\r
+ \r
+ return getChildren(element).length > 0;\r
+ }\r
+ return false;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm;\r
+\r
+import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;\r
+import org.eclipse.jface.viewers.LabelProvider;\r
+import org.eclipse.jface.viewers.StyledString;\r
+\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 9 Dec 2011\r
+ *\r
+ */\r
+public class TermLabelProvider extends LabelProvider implements\r
+ IStyledLabelProvider {\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider#getStyledText(java.lang.Object)\r
+ */\r
+ @Override\r
+ public StyledString getStyledText(Object element) {\r
+ \r
+ return new StyledString(getText(element), StyledString.QUALIFIER_STYLER);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)\r
+ */\r
+ @Override\r
+ public String getText(Object element) {\r
+ \r
+ if (element instanceof TermBase){\r
+ return ((TermBase)element).getLabel();\r
+ } \r
+ return super.getText(element);\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm;\r
+\r
+import java.util.UUID;\r
+\r
+import eu.etaxonomy.cdm.api.service.ITermService;\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.taxeditor.model.CdmObjectTransfer;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 10 Jan 2012\r
+ *\r
+ */\r
+public class TermTransfer extends CdmObjectTransfer<DefinedTermBase> {\r
+ \r
+ private static TermTransfer instance = new TermTransfer();\r
+ private static final String TYPE_NAME = "termElement-transfer-format";\r
+ private static final int TYPEID = registerType(TYPE_NAME);\r
+ \r
+ public static synchronized TermTransfer getInstance(){\r
+ return instance;\r
+ }\r
+ \r
+ private TermTransfer() {}\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.model.CdmObjectTransfer#loadElement(java.util.UUID)\r
+ */\r
+ @Override\r
+ public DefinedTermBase loadElement(UUID uuid) {\r
+ return CdmStore.getService(ITermService.class).load(uuid);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.dnd.Transfer#getTypeIds()\r
+ */\r
+ @Override\r
+ protected int[] getTypeIds() {\r
+ return new int[] { TYPEID };\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.swt.dnd.Transfer#getTypeNames()\r
+ */\r
+ @Override\r
+ protected String[] getTypeNames() {\r
+ return new String[] { TYPE_NAME };\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+ * Copyright (C) 2009 EDIT\r
+ * European Distributed Institute of Taxonomy \r
+ * http://www.e-taxonomy.eu\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version 1.1\r
+ * See LICENSE.TXT at the top of this package for the full license terms.\r
+ */\r
+package eu.etaxonomy.taxeditor.editor.definedterm.handler;\r
+\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+import org.eclipse.core.commands.common.NotDefinedException;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.ui.handlers.HandlerUtil;\r
+\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.operation.CreateDefinedTermOperation;\r
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 21 Dec 2011\r
+ * \r
+ */\r
+public class CreateDefinedTermHandler extends AbstractHandler implements IHandler {\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.\r
+ * ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ IPostOperationEnabled editor = (IPostOperationEnabled) HandlerUtil\r
+ .getActiveEditor(event);\r
+\r
+ IStructuredSelection selection = (IStructuredSelection) HandlerUtil\r
+ .getCurrentSelection(event);\r
+\r
+ TermBase selectedElement = (TermBase) selection.getFirstElement();\r
+\r
+ try {\r
+ AbstractPostOperation operation = new CreateDefinedTermOperation(\r
+ event.getCommand().getName(), StoreUtil.getUndoContext(),\r
+ selectedElement, editor);\r
+ StoreUtil.executeOperation(operation);\r
+\r
+ } catch (NotDefinedException e) {\r
+ StoreUtil.error(getClass(), e);\r
+ }\r
+\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.handler;\r
+\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+import org.eclipse.core.commands.common.NotDefinedException;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.ui.handlers.HandlerUtil;\r
+\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.operation.CreateDefinedTermOperation;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.operation.CreateTermVocabularyOperation;\r
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 21 Dec 2011\r
+ *\r
+ */\r
+public class CreateTermVocabularyHandler extends AbstractHandler implements\r
+ IHandler {\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ IPostOperationEnabled editor = (IPostOperationEnabled) HandlerUtil\r
+ .getActiveEditor(event);\r
+\r
+ if (! (editor instanceof DefinedTermEditor)){\r
+ return null;\r
+ }\r
+ \r
+ try {\r
+ AbstractPostOperation operation = new CreateTermVocabularyOperation(\r
+ event.getCommand().getName(), StoreUtil.getUndoContext(), (DefinedTermEditor) editor);\r
+ StoreUtil.executeOperation(operation);\r
+\r
+ } catch (NotDefinedException e) {\r
+ StoreUtil.error(getClass(), e);\r
+ }\r
+\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.handler;\r
+\r
+import java.util.Iterator;\r
+\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.common.NotDefinedException;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.ui.handlers.HandlerUtil;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.operation.DeleteTermBaseOperation;\r
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 22 Dec 2011\r
+ *\r
+ */\r
+public class DeleteTermBaseHandler extends AbstractHandler {\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ DefinedTermEditor editor = (DefinedTermEditor) HandlerUtil\r
+ .getActiveEditor(event);\r
+\r
+ IStructuredSelection selection = (IStructuredSelection) HandlerUtil\r
+ .getCurrentSelection(event);\r
+\r
+ Iterator<TermBase> selectionIterator = selection.iterator();\r
+\r
+ while (selectionIterator.hasNext()){\r
+ \r
+ TermBase term = selectionIterator.next();\r
+ \r
+ try {\r
+ AbstractPostOperation operation = new DeleteTermBaseOperation(\r
+ event.getCommand().getName(), StoreUtil.getUndoContext(),\r
+ term, editor);\r
+ StoreUtil.executeOperation(operation);\r
+ \r
+ } catch (NotDefinedException e) {\r
+ StoreUtil.error(getClass(), e);\r
+ }\r
+ }\r
+\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package eu.etaxonomy.taxeditor.editor.definedterm.handler;\r
+import org.eclipse.core.commands.AbstractHandler;\r
+import org.eclipse.core.commands.ExecutionEvent;\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.IHandler;\r
+import org.eclipse.core.commands.IParameter;\r
+import org.eclipse.core.commands.common.NotDefinedException;\r
+import org.eclipse.ui.IWorkbenchPage;\r
+import org.eclipse.ui.PartInitException;\r
+import org.eclipse.ui.handlers.HandlerUtil;\r
+import org.eclipse.ui.handlers.ShowViewHandler;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.input.DefinedTermEditorInputFactory;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+\r
+// $Id$\r
+/**\r
+ * Copyright (C) 2009 EDIT\r
+ * European Distributed Institute of Taxonomy \r
+ * http://www.e-taxonomy.eu\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version 1.1\r
+ * See LICENSE.TXT at the top of this package for the full license terms.\r
+ */\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 8 Dec 2011\r
+ *\r
+ */\r
+public class OpenDefinedTermEditorHandler extends AbstractHandler implements\r
+ IHandler {\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
+ */\r
+ @Override\r
+ public Object execute(ExecutionEvent event) throws ExecutionException {\r
+ \r
+ try {\r
+ String parameter = event.getParameter("eu.etaxonomy.taxeditor.store.openDefinedTermEditor.parameter");\r
+ Class<? extends DefinedTermBase> clazz = (Class<? extends DefinedTermBase>) Class.forName(parameter);\r
+ \r
+ IWorkbenchPage activePage = StoreUtil.getActivePage();\r
+ try {\r
+ activePage.openEditor(DefinedTermEditorInputFactory.NewInstance(clazz), DefinedTermEditor.ID);\r
+ } catch (PartInitException e) {\r
+ StoreUtil.error(getClass(), e);\r
+ }\r
+ } catch (ClassNotFoundException e) {\r
+ StoreUtil.error(getClass(), e);\r
+ }\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.handler;\r
+\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import org.eclipse.jface.action.IContributionItem;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.eclipse.ui.actions.CompoundContributionItem;\r
+import org.eclipse.ui.menus.CommandContributionItem;\r
+import org.eclipse.ui.menus.CommandContributionItemParameter;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 4 Jan 2012\r
+ *\r
+ */\r
+public class OpenDefinedTermMenu extends CompoundContributionItem {\r
+\r
+ /**\r
+ * \r
+ */\r
+ public OpenDefinedTermMenu() {\r
+ // TODO Auto-generated constructor stub\r
+ }\r
+\r
+ /**\r
+ * @param id\r
+ */\r
+ public OpenDefinedTermMenu(String id) {\r
+ super(id);\r
+ // TODO Auto-generated constructor stub\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()\r
+ */\r
+ @Override\r
+ protected IContributionItem[] getContributionItems() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+ \r
+ /**\r
+ * @param key\r
+ * @param object\r
+ * @return\r
+ */\r
+ private IContributionItem createContributionItem(String label,\r
+ String inputType) {\r
+ CommandContributionItemParameter parameter = new CommandContributionItemParameter(\r
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow(), null,\r
+ "eu.etaxonomy.taxeditor.store.definedterm.menu.open", SWT.NONE);\r
+\r
+ parameter.label = label;\r
+\r
+ Map parameters = new HashMap();\r
+ parameters.put("eu.etaxonomy.taxeditor.store.definedterm.menu.open", inputType);\r
+ parameter.parameters = parameters;\r
+\r
+ return new CommandContributionItem(parameter);\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+ * Copyright (C) 2009 EDIT\r
+ * European Distributed Institute of Taxonomy \r
+ * http://www.e-taxonomy.eu\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version 1.1\r
+ * See LICENSE.TXT at the top of this package for the full license terms.\r
+ */\r
+package eu.etaxonomy.taxeditor.editor.definedterm.input;\r
+\r
+import java.util.List;\r
+\r
+import org.eclipse.jface.resource.ImageDescriptor;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.IPersistableElement;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 3 Jan 2012\r
+ *\r
+ */\r
+public abstract class AbstractDefinedTermEditorInput<T extends DefinedTermBase> implements IEditorInput {\r
+\r
+ /**\r
+ * \r
+ */\r
+ public AbstractDefinedTermEditorInput() {\r
+ super();\r
+ }\r
+\r
+ @Override\r
+ public Object getAdapter(Class adapter) {\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ public boolean exists() {\r
+ return false;\r
+ }\r
+\r
+ @Override\r
+ public ImageDescriptor getImageDescriptor() {\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ public IPersistableElement getPersistable() {\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ public String getToolTipText() {\r
+ return getName();\r
+ }\r
+\r
+ /**\r
+ * @return\r
+ */\r
+ public abstract List<String> getTermClasses();\r
+ \r
+ public abstract T createTermInstance();\r
+ \r
+ public Class<? extends DefinedTermBase> getTermClass() {\r
+ \r
+ return createTermInstance().getClass();\r
+ }\r
+\r
+}
\ No newline at end of file
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.input;\r
+\r
+import org.eclipse.ui.IEditorInput;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.ExtensionType;\r
+import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.cdm.model.location.NamedAreaLevel;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 3 Jan 2012\r
+ *\r
+ */\r
+public class DefinedTermEditorInputFactory {\r
+\r
+// public static final String NamedArea = "eu.etaxonomy.taxeditor.editor.namedArea";\r
+\r
+ /**\r
+ * @param clazz\r
+ * @return\r
+ */\r
+ public static IEditorInput NewInstance(Class<? extends DefinedTermBase> clazz) {\r
+ if(clazz == NamedArea.class){\r
+ return new NamedAreaEditorInput();\r
+ } \r
+ if (clazz == NamedAreaLevel.class){\r
+ return new NamedAreaLevelEditorInput();\r
+ }\r
+ if (clazz == ExtensionType.class){\r
+ return new ExtensionTypeEditorInput();\r
+ }\r
+ if (clazz == MarkerType.class){\r
+ return new MarkerTypeEditorInput();\r
+ }\r
+ if (clazz == Feature.class){\r
+ return new FeatureEditorInput();\r
+ }\r
+ \r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.input;\r
+\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+import eu.etaxonomy.cdm.model.common.ExtensionType;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 6 Jan 2012\r
+ *\r
+ */\r
+public class ExtensionTypeEditorInput extends AbstractDefinedTermEditorInput<ExtensionType> {\r
+ \r
+ private List<String> termClasses = Arrays.asList(new String[]{\r
+ ExtensionType.class.getName()\r
+ });\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.IEditorInput#getName()\r
+ */\r
+ @Override\r
+ public String getName() {\r
+ return "Extension Type";\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#getTermClasses()\r
+ */\r
+ @Override\r
+ public List<String> getTermClasses() {\r
+ return termClasses;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#createTermInstance()\r
+ */\r
+ @Override\r
+ public ExtensionType createTermInstance() {\r
+ return ExtensionType.NewInstance();\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.input;\r
+\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+/**\r
+ * @author l.morris\r
+ * @date 11 Jan 2012\r
+ *\r
+ */\r
+public class FeatureEditorInput extends AbstractDefinedTermEditorInput<Feature> {\r
+\r
+ private List<String> termClasses = Arrays.asList(new String[]{\r
+ Feature.class.getName()\r
+ });\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.IEditorInput#getName()\r
+ */\r
+ @Override\r
+ public String getName() {\r
+ return "Feature";\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput#getTermClasses()\r
+ */\r
+ @Override\r
+ public List<String> getTermClasses() {\r
+ return termClasses;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput#createTermInstance()\r
+ */\r
+ @Override\r
+ public Feature createTermInstance() {\r
+ return Feature.NewInstance();\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.input;\r
+\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+import eu.etaxonomy.cdm.model.common.MarkerType;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 6 Jan 2012\r
+ *\r
+ */\r
+public class MarkerTypeEditorInput extends AbstractDefinedTermEditorInput<MarkerType> {\r
+ \r
+ private List<String> termClasses = Arrays.asList(new String[]{\r
+ MarkerType.class.getName()\r
+ });\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.IEditorInput#getName()\r
+ */\r
+ @Override\r
+ public String getName() {\r
+ return "Marker Type";\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#getTermClasses()\r
+ */\r
+ @Override\r
+ public List<String> getTermClasses() {\r
+ return termClasses;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#createTermInstance()\r
+ */\r
+ @Override\r
+ public MarkerType createTermInstance() {\r
+ return new MarkerType();\r
+ }\r
+ \r
+ \r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.input;\r
+\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+import org.eclipse.ui.IEditorInput;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.location.Continent;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.cdm.model.location.TdwgArea;\r
+import eu.etaxonomy.cdm.model.location.WaterbodyOrCountry;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 8 Dec 2011\r
+ *\r
+ */\r
+public class NamedAreaEditorInput extends AbstractDefinedTermEditorInput<NamedArea> {\r
+\r
+ private List<String> termClasses = Arrays.asList(new String[]{\r
+ NamedArea.class.getName(), \r
+ TdwgArea.class.getName(),\r
+ WaterbodyOrCountry.class.getName(),\r
+ Continent.class.getName()\r
+ });\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.IEditorInput#getName()\r
+ */\r
+ @Override\r
+ public String getName() {\r
+ return "Named Area";\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#getTermClasses()\r
+ */\r
+ @Override\r
+ public List<String> getTermClasses() {\r
+ return termClasses;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#createTermInstance()\r
+ */\r
+ @Override\r
+ public NamedArea createTermInstance() {\r
+ return NamedArea.NewInstance();\r
+ }\r
+ \r
+ \r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.input;\r
+\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+import eu.etaxonomy.cdm.model.location.NamedAreaLevel;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 4 Jan 2012\r
+ *\r
+ */\r
+public class NamedAreaLevelEditorInput extends AbstractDefinedTermEditorInput<NamedAreaLevel> {\r
+\r
+ \r
+ private List<String> termClasses = Arrays.asList(new String[]{\r
+ NamedAreaLevel.class.getName()\r
+ });\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.ui.IEditorInput#getName()\r
+ */\r
+ @Override\r
+ public String getName() {\r
+ return "Named Area Level";\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#getTermClasses()\r
+ */\r
+ @Override\r
+ public List<String> getTermClasses() {\r
+ return termClasses;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.editor.definedterm.AbstractDefinedTermEditorInput#createTermInstance()\r
+ */\r
+ @Override\r
+ public NamedAreaLevel createTermInstance() {\r
+ return NamedAreaLevel.NewInstance();\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.operation;\r
+\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.operations.IUndoContext;\r
+import org.eclipse.core.runtime.IAdaptable;\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.ui.IEditorInput;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.input.AbstractDefinedTermEditorInput;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.input.NamedAreaEditorInput;\r
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 21 Dec 2011\r
+ *\r
+ */\r
+public class CreateDefinedTermOperation extends AbstractPostOperation {\r
+\r
+ \r
+\r
+ private TermBase parentTermBase;\r
+ private AbstractDefinedTermEditorInput editorInput; \r
+\r
+ /**\r
+ * @param label\r
+ * @param undoContext\r
+ * @param postOperationEnabled\r
+ */\r
+ public CreateDefinedTermOperation(String label,\r
+ IUndoContext undoContext, TermBase termBase, IPostOperationEnabled postOperationEnabled) {\r
+ super(label, undoContext, postOperationEnabled);\r
+ this.parentTermBase = termBase;\r
+ editorInput = ((DefinedTermEditor)postOperationEnabled).getDefinedTermEditorInput();\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ \r
+ DefinedTermBase newTerm = editorInput.createTermInstance(); \r
+ \r
+ newTerm.setLabel("Untitled");\r
+ \r
+ if (parentTermBase instanceof TermVocabulary){\r
+ TermVocabulary vocabulary = (TermVocabulary) parentTermBase;\r
+ vocabulary.addTerm(newTerm);\r
+ } else if (parentTermBase instanceof DefinedTermBase) {\r
+ DefinedTermBase parent = (DefinedTermBase) parentTermBase;\r
+ parent.addIncludes(newTerm);\r
+ TermVocabulary vocabulary = parent.getVocabulary();\r
+ vocabulary.addTerm(newTerm);\r
+ }\r
+ \r
+ return postExecute(newTerm);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.operation;\r
+\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.operations.IUndoContext;\r
+import org.eclipse.core.runtime.IAdaptable;\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.IStatus;\r
+\r
+import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
+import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 21 Dec 2011\r
+ *\r
+ */\r
+public class CreateTermVocabularyOperation extends AbstractPostOperation {\r
+\r
+ private DefinedTermEditor definedTermEditor;\r
+\r
+ /**\r
+ * @param label\r
+ * @param undoContext\r
+ * @param postOperationEnabled\r
+ */\r
+ public CreateTermVocabularyOperation(String label,\r
+ IUndoContext undoContext, DefinedTermEditor definedTermEditor) {\r
+ super(label, undoContext, definedTermEditor);\r
+ this.definedTermEditor = definedTermEditor;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+\r
+ TermVocabulary termVocabulary = OrderedTermVocabulary.NewInstance(null, "Untitled", null, null);\r
+ CdmStore.getService(IVocabularyService.class).save(termVocabulary);\r
+ definedTermEditor.getInMemoryVocabularies().add(termVocabulary);\r
+ \r
+ return postExecute(termVocabulary);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.operation;\r
+\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.operations.IUndoContext;\r
+import org.eclipse.core.runtime.IAdaptable;\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.core.runtime.Status;\r
+\r
+import eu.etaxonomy.cdm.api.service.ITermService;\r
+import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 22 Dec 2011\r
+ *\r
+ */\r
+public class DeleteTermBaseOperation extends AbstractPostOperation {\r
+\r
+ private TermBase termBase;\r
+ private DefinedTermEditor definedTermEditor;\r
+ /**\r
+ * @param label\r
+ * @param undoContext\r
+ * @param postOperationEnabled\r
+ */\r
+ public DeleteTermBaseOperation(String label, IUndoContext undoContext, TermBase termBase,\r
+ DefinedTermEditor definedTermEditor) {\r
+ super(label, undoContext, definedTermEditor);\r
+ this.termBase = termBase;\r
+ this.definedTermEditor = definedTermEditor;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ \r
+ \r
+ \r
+ if (termBase instanceof TermVocabulary) {\r
+ \r
+ if (!((TermVocabulary)termBase).getTerms().isEmpty()) {\r
+ IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "Delete all terms from this vocaulary before deleting the vocabulary.");\r
+ StoreUtil.warningDialog("Vocabulary not empty", termBase, status);\r
+ return status;\r
+ }\r
+ definedTermEditor.getInMemoryVocabularies().remove(termBase);\r
+ CdmStore.getService(IVocabularyService.class).delete((TermVocabulary)termBase);\r
+ \r
+ } else if (termBase instanceof DefinedTermBase) {\r
+ \r
+ \r
+ DefinedTermBase definedTermBase = (DefinedTermBase) termBase;\r
+ if(!definedTermBase.getIncludes().isEmpty()){\r
+ IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "This term includes other terms. Please delete the included terms before deleting this term."); \r
+ StoreUtil.warningDialog("Term has included terms", termBase, status);\r
+ return status;\r
+ } \r
+ \r
+ DefinedTermBase partOf = definedTermBase.getPartOf();\r
+ if(partOf != null){\r
+ partOf.removeIncludes(definedTermBase);\r
+ }\r
+ \r
+ DefinedTermBase kindOf = definedTermBase.getKindOf();\r
+ if(kindOf != null){\r
+ definedTermBase.removeGeneralization(kindOf);\r
+ }\r
+ \r
+ TermVocabulary vocabulary = definedTermBase.getVocabulary();\r
+ if(vocabulary != null){\r
+ vocabulary.removeTerm(definedTermBase);\r
+ }\r
+ CdmStore.getService(ITermService.class).delete((DefinedTermBase)termBase);\r
+ \r
+ }\r
+ \r
+ return postExecute(termBase);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.definedterm.operation;\r
+\r
+import java.util.Collection;\r
+\r
+import org.eclipse.core.commands.ExecutionException;\r
+import org.eclipse.core.commands.operations.IUndoContext;\r
+import org.eclipse.core.runtime.IAdaptable;\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.core.runtime.Status;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
+import eu.etaxonomy.taxeditor.store.StoreUtil;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 10 Jan 2012\r
+ *\r
+ */\r
+public class MoveDefinedTermOperation extends AbstractPostOperation {\r
+ \r
+ private Collection<DefinedTermBase> sourceTerms;// the actual DefinedTermBase(s) we are moving\r
+ private TermBase targetTermOrVocabulary;// the target VOCABULARY or DefinedTerm we are moving these to\r
+\r
+ /**\r
+ * @param label\r
+ * @param undoContext\r
+ * @param postOperationEnabled\r
+ */\r
+ public MoveDefinedTermOperation(String label, IUndoContext undoContext, TermBase target, Collection<DefinedTermBase> sourceTerms,\r
+ IPostOperationEnabled postOperationEnabled) {\r
+ super(label, undoContext, postOperationEnabled);\r
+ \r
+ this.targetTermOrVocabulary = target;\r
+ this.sourceTerms = sourceTerms;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ \r
+ // need to make the moved DefinedTerm part of another DefinedTerm or Vocabulary (target)\r
+ // and remove it from old associations\r
+ \r
+ //TODO move to ITermService\r
+ \r
+ for (DefinedTermBase term : sourceTerms){\r
+ // do nothing when moving it on itself\r
+ if(targetTermOrVocabulary.equals(term)){\r
+ Status status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "Term can not be added to itself");\r
+ StoreUtil.informationDialog("", status);\r
+ return status;\r
+ }\r
+ \r
+ if (targetTermOrVocabulary instanceof TermVocabulary) {\r
+ TermVocabulary termVocabulary = (TermVocabulary)targetTermOrVocabulary;\r
+ \r
+ // do nothing when term is top level and gets added to the same vocabulary\r
+ if(term.getPartOf() == null && termVocabulary.equals(term.getVocabulary())){\r
+ Status status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "Term is already in this vocabulary");\r
+ StoreUtil.informationDialog("", status);\r
+ return status;\r
+ }\r
+ \r
+ cleanTerm(term);\r
+ termVocabulary.addTerm(term);\r
+ \r
+ } else if (targetTermOrVocabulary instanceof DefinedTermBase) {\r
+ cleanTerm(term);\r
+ DefinedTermBase targetDefinedTerm = (DefinedTermBase) targetTermOrVocabulary;\r
+ targetDefinedTerm.addIncludes(term);\r
+ targetDefinedTerm.getVocabulary().addTerm(term); \r
+ }\r
+\r
+ }\r
+ //return null;\r
+ return postExecute(targetTermOrVocabulary); \r
+ }\r
+ \r
+ private DefinedTermBase cleanTerm(DefinedTermBase term){\r
+\r
+ DefinedTermBase partOf = term.getPartOf();\r
+ if(partOf != null){\r
+ partOf.removeIncludes(term);\r
+ }\r
+ \r
+ \r
+ TermVocabulary vocabulary = term.getVocabulary();\r
+ if(vocabulary != null){\r
+ vocabulary.removeTerm(term);\r
+ }\r
+ \r
+ return term;\r
+ }\r
+ \r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
+ */\r
+ @Override\r
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
+ throws ExecutionException {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
*/
private List<Feature> getAvailableFeatures(){
- List<Feature> preferredFeatures = CdmStore.getTermManager().getPreferredFeatures();
+ List<Feature> preferredFeatures = CdmStore.getTermManager().getPreferredTerms(Feature.class);
for(Feature featureAlreadyInTree : featureTree.getDistinctFeatures()){
preferredFeatures.remove(featureAlreadyInTree);
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;
/** {@inheritDoc} */
public String getNameRelationTypeLabel(NameRelationshipType type) {
List<NameRelationshipType> vocab =
- TermStore.getNameRelationshipTypes();
+ TermStore.getTerms(NameRelationshipType.class);
for (NameRelationshipType type1 : vocab) {
if (type1.equals(type)) {
public String getNameRelationTypeInverseLabel(NameRelationshipType type) {
List<NameRelationshipType> vocab =
- TermStore.getNameRelationshipTypes();
+ TermStore.getTerms(NameRelationshipType.class);
for (NameRelationshipType type1 : vocab) {
if (type1.equals(type)) {
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;
});
}
+ public static void informationDialog(final String title,
+ final IStatus status) {
+ informationDialog(title, status.getMessage());
+ }
+
/**
* <p>
* warningDialog
}
});
}
+
+ /**
+ * @param title
+ * @param termBase
+ * @param status
+ */
+ public static void warningDialog(String title, Object source,
+ IStatus status) {
+ warningDialog(title, source, status.getMessage());
+ }
/**
* <p>
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);
*
* @return a {@link java.lang.String} object.
*/
- protected static String getPluginId() {
+ public static String getPluginId() {
return "eu.taxeditor";
}
*/
public class TaxonRelationshipTypeInverseContainer extends DefinedTermBase<DefinedTermBase> {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 7225140304186547675L;
private boolean inverse;
private TaxonRelationshipType type;
final Combo combo_globalLanguage = new Combo(composite, SWT.NONE);
- List<Language> preferredLanguages = CdmStore.getTermManager().getPreferredLanguages();
+ List<Language> preferredLanguages = CdmStore.getTermManager().getPreferredTerms(Language.class);
for(int i = 0; i < preferredLanguages.size(); i++){
Language language = preferredLanguages.get(i);
*/
public static Map<MarkerType, Boolean> getEditMarkerTypePreferences() {
List<MarkerType> markerTypes = CdmStore.getTermManager()
- .getPreferredMarkerTypes();
+ .getPreferredTerms(MarkerType.class);
Map<MarkerType, Boolean> result = new HashMap<MarkerType, Boolean>();
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;
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;
/**
* <p>Abstract AbstractMenuPreferences class.</p>
setDescription(description);
}
- protected abstract List<T> getTerms();
+ protected List<T> getTerms(){
+ return TermStore.getTerms(getTermClass());
+ }
/**
* {@inheritDoc}
* @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();
}
/**
* @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<T> wizard = new VocabularyTermWizard<T>(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<T> 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);
}
+
}
});
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.common.ExtensionType;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>ExtensionTypeMenuPreferences class.</p>
public ExtensionTypeMenuPreferences() {
super("Extension Type Preferences" ,
"Choose which extension types to display",
- true);
+ false);
}
/* (non-Javadoc)
protected Class<ExtensionType> getTermClass() {
return ExtensionType.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<ExtensionType> getTerms() {
- return TermStore.getExtensionTypes();
- }
}
*/
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>FeatureMenuPreferences class.</p>
public FeatureMenuPreferences() {
super("Feature Preferences",
"Choose which features you would like to use for descriptive elements.",
- true);
+ false);
}
/* (non-Javadoc)
protected Class<Feature> getTermClass() {
return Feature.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<Feature> getTerms() {
- return TermStore.getFeatures();
- }
}
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;
import org.eclipse.swt.widgets.Control;
import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>LanguageMenuPreferences class.</p>
protected Class<Language> getTermClass() {
return Language.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<Language> getTerms() {
- return TermStore.getLanguages();
- }
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>MarkerTypeMenuPreferences class.</p>
protected Class<MarkerType> getTermClass() {
return MarkerType.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<MarkerType> getTerms() {
- return TermStore.getNonTechnicalMarkerTypes();
- }
}
*/
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>MeasurementUnitMenuPreferences class.</p>
return MeasurementUnit.class;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<MeasurementUnit> getTerms() {
- return TermStore.getMeasurementUnits();
- }
-
}
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;
import eu.etaxonomy.taxeditor.labels.ILabelImageStrategy;
import eu.etaxonomy.taxeditor.labels.LabelImageProvider;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>NameRelationshipTypeMenuPreferences class.</p>
protected Class<NameRelationshipType> getTermClass() {
return NameRelationshipType.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<NameRelationshipType> getTerms() {
- return TermStore.getNameRelationshipTypes();
- }
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>NameTypeDesignationStatusMenuPreferences class.</p>
return NameTypeDesignationStatus.class;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<NameTypeDesignationStatus> getTerms() {
- return TermStore.getNameTypeDesignationStatus();
- }
-
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.location.NamedAreaType;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>NamedAreaTypeMenuPreferences class.</p>
public NamedAreaTypeMenuPreferences() {
super("Named Area Types",
"Edit displayed named area types",
- true);
+ false);
}
/* (non-Javadoc)
protected Class<NamedAreaType> getTermClass() {
return NamedAreaType.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<NamedAreaType> getTerms() {
- return TermStore.getNamedAreaTypes();
- }
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>NomenclaturalStatusTypeMenuPreferences class.</p>
protected Class<NomenclaturalStatusType> getTermClass() {
return NomenclaturalStatusType.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<NomenclaturalStatusType> getTerms() {
- return TermStore.getNomenclaturalStatusTypes();
- }
}
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;
/**
* <p>PresenceAbsenceMenuPreferences class.</p>
protected Class<PresenceAbsenceTermBase> getTermClass() {
return PresenceAbsenceTermBase.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<PresenceAbsenceTermBase> getTerms() {
- return TermStore.getPresenceAbsenceTerms();
- }
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>PreservationMethodMenuPreferences class.</p>
protected Class<PreservationMethod> getTermClass() {
return PreservationMethod.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<PreservationMethod> getTerms() {
- return TermStore.getPreservationMethods();
- }
}
*/
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;
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 <code>Rank</code>s to display in the
@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)");
@Override
public void widgetSelected(SelectionEvent e) {
PreferencesUtil.setSortRanksHierarchichally(checkbox.getSelection());
- refresh(TermStore.getRanks());
+ refresh(getTerms());
}
});
return Rank.class;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<Rank> getTerms() {
- return TermStore.getRanks();
- }
-
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>SpecimenTypeDesignationStatusMenuPreferences class.</p>
return SpecimenTypeDesignationStatus.class;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<SpecimenTypeDesignationStatus> getTerms() {
- return TermStore.getSpecimenTypeDesignationStatus();
- }
-
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.description.Stage;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>StageMenuPreferences class.</p>
return Stage.class;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<Stage> getTerms() {
- return TermStore.getStages();
- }
}
package eu.etaxonomy.taxeditor.preference.menu;
-import java.util.List;
-
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
-import eu.etaxonomy.taxeditor.store.TermStore;
/**
* <p>TaxonRelationshipTypeMenuPreferences class.</p>
protected Class<TaxonRelationshipType> getTermClass() {
return TaxonRelationshipType.class;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.preference.menu.AbstractMenuPreferences#getTerms()
- */
- @Override
- protected List<TaxonRelationshipType> getTerms() {
- return TermStore.getTaxonRelationshipTypes();
- }
}
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;
*
* @return a {@link java.lang.String} object.
*/
- protected static String getPluginId(){
+ public static String getPluginId(){
return TaxeditorStorePlugin.PLUGIN_ID;
}
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;
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
CdmStore.getContextManager().addContextListener(this);
}
+ /**
+ *
+ * @param clazz
+ * @return
+ */
+ public <T extends DefinedTermBase> List<T> getPreferredTerms(Class<T> clazz){
+ return getFilteredTerms(TermStore.getTerms(clazz));
+ }
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.model.ContextListenerAdapter#contextStart(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
*/
return initialTerms.iterator().next().getClass().getName();
}
- /**
- * <p>getPreferredSpecimenTypeDesignationStatus</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<SpecimenTypeDesignationStatus> getPreferredSpecimenTypeDesignationStatus() { return getFilteredTerms(TermStore.getSpecimenTypeDesignationStatus());}
-
- /**
- * <p>getPreferredNameTypeDesignationStatus</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<NameTypeDesignationStatus> getPreferredNameTypeDesignationStatus() { return getFilteredTerms(TermStore.getNameTypeDesignationStatus()); }
-
- /**
- * <p>getPreferredTaxonRelationshipTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<TaxonRelationshipType> getPreferredTaxonRelationshipTypes() { return getFilteredTerms(TermStore.getTaxonRelationshipTypes());}
-
- private static List<TaxonRelationshipType> 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<TaxonRelationshipTypeInverseContainer> getRelationshipTypesWithInverses(){
- List<TaxonRelationshipTypeInverseContainer> relationshipTypeInverseContainers = new ArrayList<TaxonRelationshipTypeInverseContainer>();
-
- List<TaxonRelationshipType> 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;
- }
-
- /**
- * <p>getPreferredFeatures</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<Feature> getPreferredFeatures() { return getFilteredTerms(TermStore.getFeatures());}
-
- /**
- * <p>getPreferredRanks</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<Rank> getPreferredRanks() { return getFilteredTerms(TermStore.getRanks());}
-
- /**
- * <p>getPreferredPresenceAbsenceTerms</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<PresenceAbsenceTermBase> getPreferredPresenceAbsenceTerms(){ return getFilteredTerms(TermStore.getPresenceAbsenceTerms());}
-
- /**
- * <p>getPreferredNomenclaturalStatusTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<NomenclaturalStatusType> getPreferredNomenclaturalStatusTypes(){ return getFilteredTerms(TermStore.getNomenclaturalStatusTypes());}
-
- /**
- * <p>getPreferredNameRelationshipTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<NameRelationshipType> getPreferredNameRelationshipTypes(){ return getFilteredTerms(TermStore.getNameRelationshipTypes());}
-
- /**
- * <p>getPreferredLanguages</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<Language> getPreferredLanguages() { return getFilteredTerms(TermStore.getLanguages()); }
-
- /**
- * <p>getPreferredMarkerTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<MarkerType> getPreferredMarkerTypes() { return getFilteredTerms(TermStore.getNonTechnicalMarkerTypes()); }
-
- /**
- * <p>getPreferredExtensionTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<ExtensionType> getPreferredExtensionTypes() { return getFilteredTerms(TermStore.getExtensionTypes()); }
-
- /**
- * <p>getPreferredRightsTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<RightsTerm> getPreferredRightsTypes() { return getFilteredTerms(TermStore.getRightsTypes());}
-
- /**
- * <p>getPreferredNamedAreaTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<NamedAreaType> getPreferredNamedAreaTypes() { return getFilteredTerms(TermStore.getNamedAreaTypes()); }
+// /**
+// * <p>getPreferredSpecimenTypeDesignationStatus</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<SpecimenTypeDesignationStatus> getPreferredSpecimenTypeDesignationStatus() { return getFilteredTerms(TermStore.getSpecimenTypeDesignationStatus());}
+//
+// /**
+// * <p>getPreferredNameTypeDesignationStatus</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<NameTypeDesignationStatus> getPreferredNameTypeDesignationStatus() { return getFilteredTerms(TermStore.getNameTypeDesignationStatus()); }
+//
+// /**
+// * <p>getPreferredTaxonRelationshipTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<TaxonRelationshipType> getPreferredTaxonRelationshipTypes() { return getFilteredTerms(TermStore.getTaxonRelationshipTypes());}
+//
+// private static List<TaxonRelationshipType> 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<TaxonRelationshipTypeInverseContainer> getPreferredRelationshipTypesWithInverses(){
+// List<TaxonRelationshipTypeInverseContainer> relationshipTypeInverseContainers = new ArrayList<TaxonRelationshipTypeInverseContainer>();
+//
+// List<TaxonRelationshipType> 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;
+// }
- /**
- * <p>getPreferredAnnotationTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<AnnotationType> getPreferredAnnotationTypes() { return getFilteredTerms(TermStore.getAnnotationTypes()); }
- /**
- * <p>getPreferredStages</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<Stage> getPreferredStages() { return getFilteredTerms(TermStore.getStages()); }
- /**
- * <p>getPreferredPreservationMethods</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<PreservationMethod> getPreferredPreservationMethods() { return getFilteredTerms(TermStore.getPreservationMethods()); }
-
- /**
- * <p>getPreferredMeasurementUnits</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<MeasurementUnit> getPreferredMeasurementUnits() { return getFilteredTerms(TermStore.getMeasurementUnits()); }
-
- /**
- * <p>getPreferredStates</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<State> getPreferredStates() { return getFilteredTerms(TermStore.getStates()); }
-
- /**
- * <p>getPreferredModifiers</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<Modifier> getPreferredModifiers() { return getFilteredTerms(TermStore.getModifiers()); }
-
- /**
- * <p>getPreferredStatisticalMeasures</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<StatisticalMeasure> getPreferredStatisticalMeasures() { return getFilteredTerms(TermStore.getStatisticalMeasures()); }
-
- /**
- * <p>getPreferredScopes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<Scope> getPreferredScopes() { return getFilteredTerms(TermStore.getScopes()); }
-
- /**
- * <p>getPreferredDeterminationModifiers</p>
- *
- * @return a {@link java.util.List} object.
- */
- public List<DeterminationModifier> getPreferredDeterminationModifiers() { return getFilteredTerms(TermStore.getDeterminationModifiers()); }
+//
+// /**
+// * <p>getPreferredFeatures</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<Feature> getPreferredFeatures() { return getFilteredTerms(TermStore.getFeatures());}
+//
+// /**
+// * <p>getPreferredRanks</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<Rank> getPreferredRanks() { return getFilteredTerms(TermStore.getRanks());}
+//
+// /**
+// * <p>getPreferredPresenceAbsenceTerms</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<PresenceAbsenceTermBase> getPreferredPresenceAbsenceTerms(){ return getFilteredTerms(TermStore.getPresenceAbsenceTerms());}
+//
+// /**
+// * <p>getPreferredNomenclaturalStatusTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<NomenclaturalStatusType> getPreferredNomenclaturalStatusTypes(){ return getFilteredTerms(TermStore.getNomenclaturalStatusTypes());}
+//
+// /**
+// * <p>getPreferredNameRelationshipTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<NameRelationshipType> getPreferredNameRelationshipTypes(){ return getFilteredTerms(TermStore.getNameRelationshipTypes());}
+//
+// /**
+// * <p>getPreferredLanguages</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<Language> getPreferredLanguages() { return getFilteredTerms(TermStore.getLanguages()); }
+//
+// /**
+// * <p>getPreferredMarkerTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<MarkerType> getPreferredMarkerTypes() { return getFilteredTerms(TermStore.getNonTechnicalMarkerTypes()); }
+//
+// /**
+// * <p>getPreferredExtensionTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<ExtensionType> getPreferredExtensionTypes() { return getFilteredTerms(TermStore.getExtensionTypes()); }
+//
+// /**
+// * <p>getPreferredRightsTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<RightsTerm> getPreferredRightsTypes() { return getFilteredTerms(TermStore.getRightsTypes());}
+//
+// /**
+// * <p>getPreferredNamedAreaTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<NamedAreaType> getPreferredNamedAreaTypes() { return getFilteredTerms(TermStore.getNamedAreaTypes()); }
+//
+// /**
+// * <p>getPreferredNamedAreaTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<NamedAreaLevel> getPreferredNamedAreaLevels() { return getFilteredTerms(TermStore.getNamedAreaLevels()); }
+//
+// /**
+// * <p>getPreferredAnnotationTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<AnnotationType> getPreferredAnnotationTypes() { return getFilteredTerms(TermStore.getAnnotationTypes()); }
+//
+// /**
+// * <p>getPreferredStages</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<Stage> getPreferredStages() { return getFilteredTerms(TermStore.getStages()); }
+//
+// /**
+// * <p>getPreferredPreservationMethods</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<PreservationMethod> getPreferredPreservationMethods() { return getFilteredTerms(TermStore.getPreservationMethods()); }
+//
+// /**
+// * <p>getPreferredMeasurementUnits</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<MeasurementUnit> getPreferredMeasurementUnits() { return getFilteredTerms(TermStore.getMeasurementUnits()); }
+//
+// /**
+// * <p>getPreferredStates</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<State> getPreferredStates() { return getFilteredTerms(TermStore.getStates()); }
+//
+// /**
+// * <p>getPreferredModifiers</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<Modifier> getPreferredModifiers() { return getFilteredTerms(TermStore.getModifiers()); }
+//
+// /**
+// * <p>getPreferredStatisticalMeasures</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<StatisticalMeasure> getPreferredStatisticalMeasures() { return getFilteredTerms(TermStore.getStatisticalMeasures()); }
+//
+// /**
+// * <p>getPreferredScopes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<Scope> getPreferredScopes() { return getFilteredTerms(TermStore.getScopes()); }
+//
+// /**
+// * <p>getPreferredDeterminationModifiers</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public List<DeterminationModifier> getPreferredDeterminationModifiers() { return getFilteredTerms(TermStore.getDeterminationModifiers()); }
+//
/**
* Generic method to set term preferences
*
hiddenTermsMap.put(typeName, undesiredTermUuids);
}
-
- /**
- * <p>addTermToPreferredTerms</p>
- *
- * @param term a T object.
- * @param <T> a T object.
- */
- public <T extends TermBase> void addTermToPreferredTerms(T term){
-
-// VocabularyEnum vocabulary = VocabularyEnum.getVocabularyEnum(term.getClass());
-//
-// getPreferenceStore().setValue(getPreferenceKey(term), VocabularyStore.getTermVocabulary(vocabulary).getTerms().contains(term));
-//
-// firePreferencesChanged(term.getClass());
- }
}
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;
/**
* @version 1.0
*/
public class TermStore {
-
- /**
- * <p>getSpecimenTypeDesignationStatus</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<SpecimenTypeDesignationStatus> getSpecimenTypeDesignationStatus() {
- return getTerms(SpecimenTypeDesignationStatus.class);
- }
-
- /**
- * <p>getNameTypeDesignationStatus</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<NameTypeDesignationStatus> getNameTypeDesignationStatus() {
- return getTerms(NameTypeDesignationStatus.class);
- }
-
- /**
- * <p>getNamedAreaTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<NamedAreaType> getNamedAreaTypes(){
- return getTerms(NamedAreaType.class);
- }
- /**
- * <p>getAnnotationTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<AnnotationType> getAnnotationTypes(){
- return getTerms(AnnotationType.class);
- }
- /**
- * <p>getTaxonRelationshipTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<TaxonRelationshipType> getTaxonRelationshipTypes(){
- return getTerms(TaxonRelationshipType.class);
+ public static <TERM extends DefinedTermBase> List<TERM> getTerms(Class<TERM> clazz){
+ return getTerms(clazz, null, true);
}
-
/**
- * <p>getLanguages</p>
- *
- * @return a {@link java.util.List} object.
+ * Returns a list of terms of the given type currently available in the system.
+ * If <code>filtered</code> is set to <code>true</code>, 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<Language> getLanguages(){
- return getTerms(Language.class);
- }
-
- /**
- * <p>getFeatures</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<Feature> getFeatures() {
- List<Feature> features = getTerms(Feature.class);
- features.remove(Feature.IMAGE());
- return features;
-
- }
-
- /**
- * <p>getNameRelationshipTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<NameRelationshipType> getNameRelationshipTypes() {
- return getTerms(NameRelationshipType.class);
- }
-
- /**
- * <p>getNomenclaturalStatusTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<NomenclaturalStatusType> getNomenclaturalStatusTypes(){
- return getTerms(NomenclaturalStatusType.class);
- }
-
+ public static <TERM extends DefinedTermBase> List<TERM> getTerms(Class<TERM> clazz, Comparator<TERM> comparator, boolean filtered){
+ List<TERM> terms = new ArrayList<TERM>();
- /**
- * <p>getNonTechnicalMarkerTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<MarkerType> getNonTechnicalMarkerTypes() {
- List<MarkerType> nonTechnicalMarkerTypes = new ArrayList<MarkerType>();
- List<MarkerType> markerTypes = getTerms(MarkerType.class);
-
- for (Object type : markerTypes) {
- if (((MarkerType) type).isTechnical() == false) {
- nonTechnicalMarkerTypes.add((MarkerType) type);
- }
+ ITermStoreEdgeCase<TERM> edgeCase = getEdgeCase(clazz);
+ if(filtered && edgeCase != null){
+ terms = edgeCase.getTerms();
+ }else{
+ terms = getTermsFromService(clazz, comparator);
}
- return nonTechnicalMarkerTypes;
- }
-
-
- /**
- * <p>getExtensionTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<ExtensionType> getExtensionTypes() {
- return getTerms(ExtensionType.class);
- }
-
- /**
- * <p>getRightsTypes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<RightsTerm> getRightsTypes() {
- return getTerms(RightsTerm.class);
+ return terms;
+
}
-
- /**
- * Retrieve all ranks from data store.
- *
- * @return a {@link java.util.List} object.
- */
- public static List<Rank> getRanks(){
- if(PreferencesUtil.getSortRanksHierarchichally()){
- return getTerms(Rank.class, new Comparator<Rank>(){
-
+ private static <T extends DefinedTermBase> List<T> getTermsFromService(Class<T> termClass, Comparator<T> comparator){
+ if (comparator == null){
+ comparator = new Comparator<T>() {
@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<T> terms = CdmStore.getService(ITermService.class).listByTermClass(termClass, null, null, null, null);
+ Collections.sort(terms, comparator);
+ return terms;
}
+// /**
+// * <p>getFeatures</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public static List<Feature> getFeatures() {
+// List<Feature> features = getTerms(Feature.class);
+// features.remove(Feature.IMAGE());
+// return features;
+//
+// }
+//
+//
+// /**
+// * <p>getNonTechnicalMarkerTypes</p>
+// *
+// * @return a {@link java.util.List} object.
+// */
+// public static List<MarkerType> getNonTechnicalMarkerTypes() {
+// List<MarkerType> nonTechnicalMarkerTypes = new ArrayList<MarkerType>();
+// List<MarkerType> 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<Rank> getRanks(){
+// if(PreferencesUtil.getSortRanksHierarchichally()){
+// return getTerms(Rank.class, new Comparator<Rank>(){
+//
+// @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<PresenceAbsenceTermBase> 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<PresenceAbsenceTermBase> 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<Stage> getStages(){
- return getTerms(Stage.class);
- }
-
- /**
- * Retrieve all states from data store.
- *
- * @return a {@link java.util.List} object.
- */
- public static List<State> getStates() {
- return getTerms(State.class);
- }
-
- /**
- * Retrieve all preservation methods from data store.
- *
- * @return a {@link java.util.List} object.
- */
- public static List<PreservationMethod> getPreservationMethods(){
- return getTerms(PreservationMethod.class);
- }
-
-
-
- /**
- * <p>getMeasurementUnits</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<MeasurementUnit> getMeasurementUnits() {
- return getTerms(MeasurementUnit.class);
- }
-
-
- /**
- * <p>getModifiers</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<Modifier> getModifiers() {
- return getTerms(Modifier.class);
- }
-
-
- /**
- * <p>getStatisticalMeasures</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<StatisticalMeasure> getStatisticalMeasures() {
- return getTerms(StatisticalMeasure.class);
- }
-
- /**
- * <p>getScopes</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<Scope> getScopes() {
- return getTerms(Scope.class);
- }
-
- /**
- * <p>getDeterminationModifiers</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<DeterminationModifier> getDeterminationModifiers() {
- return getTerms(DeterminationModifier.class);
- }
-
- /**
- * <p>getReferenceSystems</p>
- *
- * @return a {@link java.util.List} object.
- */
- public static List<ReferenceSystem> 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);
}
/**
* @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);
}
/**
* @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<ITermStoreEdgeCase<? extends DefinedTermBase>> termStoreEdgeCases = new HashSet<ITermStoreEdgeCase<? extends DefinedTermBase>>();
-
- /*************** internal methods **************************/
-
- private static Language getDefaultLanguage(){
- return CdmStore.getDefaultLanguage();
- }
-
- private static OrderedTermVocabulary<? extends OrderedTermBase> getOrderedTermVocabulary(VocabularyEnum vocabularyType){
- TermVocabulary<DefinedTermBase> vocabulary = getTermVocabulary(vocabularyType);
- return HibernateProxyHelper.deproxy(vocabulary, OrderedTermVocabulary.class);
+ static {
+ termStoreEdgeCases.add(new ITermStoreEdgeCase<Feature>() {
+
+ @Override
+ public Class<Feature> getTermClass() {
+ return Feature.class;
+ }
+
+ @Override
+ public List<Feature> getTerms() {
+ List<Feature> features = TermStore.getTermsFromService(Feature.class, null);
+ features.remove(Feature.IMAGE());
+ return features;
+ }
+ });
+ termStoreEdgeCases.add(new ITermStoreEdgeCase<MarkerType>(){
+
+ @Override
+ public Class<MarkerType> getTermClass() {
+ return MarkerType.class;
+ }
+
+ @Override
+ public List<MarkerType> getTerms() {
+ // filter out non technical markers
+ List<MarkerType> nonTechnicalMarkerTypes = new ArrayList<MarkerType>();
+ List<MarkerType> 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<Rank>() {
+
+ @Override
+ public Class<Rank> getTermClass() {
+ return Rank.class;
+ }
+
+ @Override
+ public List<Rank> getTerms() {
+ if(PreferencesUtil.getSortRanksHierarchichally()){
+ return TermStore.getTermsFromService(Rank.class, new Comparator<Rank>(){
+
+ @Override
+ public int compare(Rank o1, Rank o2) {
+ return o1.compareTo(o2);
+ }
+
+ });
+ }else{
+ return TermStore.getTermsFromService(Rank.class, null);
+ }
+ }
+
+ });
+ termStoreEdgeCases.add(new ITermStoreEdgeCase<PresenceAbsenceTermBase>() {
+
+ @Override
+ public Class<PresenceAbsenceTermBase> getTermClass() {
+ return PresenceAbsenceTermBase.class;
+ }
+
+ @Override
+ public List<PresenceAbsenceTermBase> getTerms() {
+ List presenceAbsenceTerms = TermStore.getTermsFromService(PresenceTerm.class, null);
+ presenceAbsenceTerms.addAll(TermStore.getTermsFromService(AbsenceTerm.class, null));
+
+ return presenceAbsenceTerms;
+ }
+ });
+ termStoreEdgeCases.add(new ITermStoreEdgeCase<TaxonRelationshipTypeInverseContainer>() {
+
+ @Override
+ public Class<TaxonRelationshipTypeInverseContainer> getTermClass() {
+ return TaxonRelationshipTypeInverseContainer.class;
+ }
+
+ @Override
+ public List<TaxonRelationshipTypeInverseContainer> getTerms() {
+ List<TaxonRelationshipType> excludeTaxonRelationshipTypes = Arrays.asList(new TaxonRelationshipType[]{
+ TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN(),
+ TaxonRelationshipType.MISAPPLIED_NAME_FOR(),
+ TaxonRelationshipType.ALL_RELATIONSHIPS()
+ });
+
+ List<TaxonRelationshipTypeInverseContainer> relationshipTypeInverseContainers = new ArrayList<TaxonRelationshipTypeInverseContainer>();
+
+ List<TaxonRelationshipType> 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;
+ }
+ });
}
- /**
- * <p>getTermVocabulary</p>
- *
- * @param vocabularyType a {@link eu.etaxonomy.cdm.model.common.VocabularyEnum} object.
- * @return a {@link eu.etaxonomy.cdm.model.common.TermVocabulary} object.
- */
- public static TermVocabulary<DefinedTermBase> getTermVocabulary(VocabularyEnum vocabularyType){
+ private static <T extends DefinedTermBase> ITermStoreEdgeCase<T> getEdgeCase(Class<T> termClass) {
- return CdmStore.getService(IVocabularyService.class).getVocabulary(vocabularyType);
- }
-
- private static <TERM extends DefinedTermBase> List<TERM> getTerms(Class<TERM> clazz){
- Comparator<TERM> comparator = new Comparator<TERM>() {
- @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 <TERM extends DefinedTermBase> List<TERM> getTerms(Class<TERM> clazz, Comparator<TERM> comparator){
+ private interface ITermStoreEdgeCase<TERM> {
+ public abstract Class<TERM> getTermClass();
- List<TERM> terms = new ArrayList<TERM>();
- if(getTermService() != null){
- terms = getTermService().listByTermClass(clazz, null, null, null, null);
+ public abstract List<TERM> getTerms();
- Collections.sort(terms, comparator);
- }
-
- return terms;
-
- }
-
- private static ITermService getTermService(){
- return CdmStore.getService(ITermService.class);
}
}
* 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;
* @created Sep 29, 2010
* @version 1.0
*/
-public class EmptyComboElement<T extends DefinedTermBase> extends AbstractTermComboElement<T> {
+public class EmptyComboElement<T extends DefinedTermBase> extends TermComboElement<T> {
- private static final int VISIBLE_ITEMS = 20;
-
private List<T> genericTerms = new ArrayList<T>();
/**
* @param <T> a T object.
*/
public EmptyComboElement(CdmFormFactory formFactory,
- ICdmFormElement parentElement, String labelString,
+ ICdmFormElement parentElement, Class<T> termClass, String labelString,
int style) {
- super(formFactory, parentElement, labelString, null, VISIBLE_ITEMS, style);
+ super(formFactory, parentElement, termClass, labelString, null, style);
}
*/
/** {@inheritDoc} */
@Override
- protected List<T> preferredTerms() {
+ protected List<T> getPreferredTerms() {
return genericTerms != null ? genericTerms : new ArrayList<T>();
}
* 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;
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;
* @created Mar 16, 2010
* @version 1.0
*/
-public abstract class AbstractEnumComboElement<T extends Enum> extends
+public class EnumComboElement<T extends IDefinedTerm> extends
AbstractCdmFormElement implements SelectionListener,
IEnableableFormElement, ISelectable {
- private static final int VISIBLE_ITEMS = 10;
+ private static CdmEnumDataHolder[] cdmEnumDataHolders = {
+ new CdmEnumDataHolder<NomenclaturalCode>(){
+
+ @Override
+ public String getName() {
+ return "Nomenclatural Code";
+ }
+
+ @Override
+ public Collection<NomenclaturalCode> getElements() {
+ return Arrays.asList(NomenclaturalCode.values());
+ }
+
+ @Override
+ public Class<NomenclaturalCode> getClazz() {
+ return NomenclaturalCode.class;
+ }
+
+ },
+ new CdmEnumDataHolder<ReferenceType>(){
+
+ @Override
+ public String getName() {
+ return "Reference Type";
+ }
+
+ @Override
+ public Collection<ReferenceType> getElements() {
+ return Arrays.asList(ReferenceType.values());
+ }
+
+ @Override
+ public Class<ReferenceType> getClazz() {
+ return ReferenceType.class;
+ }
+
+ }
+ };
+
+ private static final int DEFAULT_VISIBLE_ITEMS = 10;
protected T selection;
private Label label;
protected Combo combo;
+ private Class<T> enumType;
+
/**
* <p>
* Constructor for AbstractEnumComboElement.
* @param <T>
* a T object.
*/
- public AbstractEnumComboElement(CdmFormFactory formFactory,
- ICdmFormElement parentElement, String labelString) {
+ public EnumComboElement(CdmFormFactory formFactory,
+ ICdmFormElement parentElement, Class<T> 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";
+ }
+
/**
* <p>
* populateTypes
* </p>
*/
- protected abstract void populateTypes();
+ private void populateTypes(){
+ for(T enumElement : getElementsForClass(enumType)){
+ elementTypeList.add(enumElement);
+ combo.add(((Enum) enumElement).name());
+ }
+ }
/**
* <p>
/** {@inheritDoc} */
public void widgetDefaultSelected(SelectionEvent e) {
}
+
+ public void setVisibleItemCount(int visibleItems){
+ combo.setVisibleItemCount(visibleItems);
+ }
+
+ private Collection<T> getElementsForClass(Class<T> clazz){
+ CdmEnumDataHolder<T> dataHolder = getCdmEnumDataHolderForClass(clazz);
+ if (dataHolder != null) {
+ return dataHolder.getElements();
+ }
+ return null;
+ }
+
+ private CdmEnumDataHolder<T> getCdmEnumDataHolderForClass(Class<T> clazz){
+ for (CdmEnumDataHolder dataHolder : cdmEnumDataHolders) {
+ if (dataHolder.getClazz().equals(clazz)){
+ return dataHolder;
+ }
+ }
+ return null;
+ }
+
+ private interface CdmEnumDataHolder<T> {
+ Class<T> getClazz();
+ String getName();
+ Collection<T> getElements();
+ }
}
/**
*
*/
-package eu.etaxonomy.taxeditor.ui.term;
+package eu.etaxonomy.taxeditor.ui.combo;
import java.util.ArrayList;
import java.util.Collections;
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;
* @version 1.0
* @param <T>
*/
-public abstract class AbstractTermComboElement<T extends DefinedTermBase>
+public class TermComboElement<T extends DefinedTermBase>
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;
private Comparator<T> termComparator;
- private Composite msgComposite;
+ private Class<T> termClass;
+
/**
* <p>
* @param <T>
* a T object.
*/
- public AbstractTermComboElement(CdmFormFactory formFactory,
- ICdmFormElement parentElement, String labelString, T selection,
- int visibleItems, int style) {
+ public TermComboElement(CdmFormFactory formFactory,
+ ICdmFormElement parentElement, Class<T> termClass, String labelString, T selection,
+ int style) {
super(formFactory, parentElement);
-
+
+ this.termClass = termClass;
+
if (labelString != null) {
label = formFactory.createLabel(getLayoutComposite(), labelString);
addControl(label);
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);
*
* @return a {@link java.util.List} object.
*/
- protected abstract List<T> preferredTerms();
+ protected List<T> getPreferredTerms(){
+ return getTermManager().getPreferredTerms(termClass);
+ }
/**
* May be overridden by derived classes if the desired label string does not
}
private void createTermNotInPreferredTerms(T term) {
- List<T> preferredTerms = preferredTerms();
+ List<T> preferredTerms = getPreferredTerms();
preferredTerms.add(term);
if (event != null
&& PreferencesUtil.PREFERRED_TERMS_CHANGE.equals(event
.getProperty())) {
- populateTerms(preferredTerms());
+ populateTerms(getPreferredTerms());
}
}
protected TermManager getTermManager() {
return CdmStore.getTermManager();
}
+
+ public int getVisibleItemCount(){
+ return combo.getVisibleItemCount();
+ }
+
+ public void setVisibleItemCount(int count){
+ combo.setVisibleItemCount(count);
+ }
+
+ public void setTerms(List<T> terms) {
+ populateTerms(terms);
+ }
}
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;
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;
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;
/**
* <p>
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
- }
-
/**
* <p>
* createTermComboElement
* 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<DefinedTermBase>(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 <T extends DefinedTermBase> TermComboElement createTermComboElement(
+ Class<T> termComboType, ICdmFormElement parentElement,
+ String labelString, T selection, int style) {
+ TermComboElement element = new TermComboElement<T>(this, parentElement, termComboType, labelString, selection, style);
adapt(element);
parentElement.addElement(element);
return element;
}
- public static enum EnumComboType {
- REFERENCETYPE, NOMENCLATURALCODE
- }
-
/**
* <p>
* createEnumComboElement
* @return a {@link eu.etaxonomy.taxeditor.ui.term.AbstractEnumComboElement}
* object.
*/
- public AbstractEnumComboElement createEnumComboElement(
- EnumComboType enumComboType, ICdmFormElement parentElement,
+ public <T extends IDefinedTerm> EnumComboElement<T> createEnumComboElement(
+ Class<T> 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<T> element = new EnumComboElement<T>(this, parentElement, enumComboType, style);
adapt(element);
parentElement.addElement(element);
return element;
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;
}
/**
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) {
return section;
}
+
+
/**
* <p>
* createCdmDetailElement
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<NamedAreaLevel>(this, parentElement);
+ break;
}
if (element == null) {
* @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
}
/**
// text.addFocusListener(visibilityHandler);
return text;
}
+
+
}
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;
/**
if (PreferencesUtil.isMultilanguageTextEditingCapability()) {
combo_language = (EmptyComboElement<Language>) formFactory
- .createTermComboElement(TermComboType.EMPTY, formElement,
+ .createTermComboElement(Language.class, formElement,
"", null, style);
combo_language.addSelectionListener(this);
addControl(formFactory.createLabel(getLayoutComposite(), ""));
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;
/**
* <p>
private final TextWithLabelElement text_latitude;
private final TextWithLabelElement text_longitude;
private final NumberWithLabelElement number_errorRadius;
- private final ReferenceSystemComboElement combo_referenceSystem;
+ private final TermComboElement<ReferenceSystem> combo_referenceSystem;
private final TextWithLabelElement text_latitudeParsed;
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);
createControls(this, SWT.NULL);
}
+
+ public AbstractCdmDetailSection(CdmFormFactory formFactory, Class<ENTITY> 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<ENTITY> abstractCdmDetailSection,
+ Class<ENTITY> entityClass, int style) {
+ }
+
/**
* <p>
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;
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;
/**
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;
/**
* <p>ModifierElement class.</p>
*/
public class ModifierElement extends AbstractEntityCollectionElement<Modifier> {
- private ModifierComboElement combo_modifier;
+ private TermComboElement<Modifier> combo_modifier;
/**
* <p>Constructor for ModifierElement.</p>
/** {@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} */
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;
/**
* <p>ScopeElement class.</p>
*/
public class ScopeElement extends AbstractEntityCollectionElement<Scope> {
- private static final Logger logger = Logger.getLogger(ScopeElement.class);
- private ScopeComboElement combo_scope;
+ private TermComboElement<Scope> combo_scope;
/**
* <p>Constructor for ScopeElement.</p>
/** {@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} */
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.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;
/**
* <p>StateDataElement class.</p>
*/
public class StateDataElement extends AbstractEntityCollectionElement<StateData> {
- private static final Logger logger = Logger
- .getLogger(StateDataElement.class);
- private AbstractTermComboElement<State> combo_state;
+ private TermComboElement<State> combo_state;
private ModifierSection section_modifiers;
private TextWithLabelElement text_modifyingText;
/** {@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);
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;
/**
* <p>StatisticalMeasurementValueElement class.</p>
public class StatisticalMeasurementValueElement extends
AbstractEntityCollectionElement<StatisticalMeasurementValue> {
-
- private static final Logger logger = Logger
- .getLogger(StatisticalMeasurementValueElement.class);
private NumberWithLabelElement number_value;
- private StatisticalMeasureComboElement combo_type;
+ private TermComboElement<StatisticalMeasure> combo_type;
private ModifierSection section_modifiers;
/**
@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));
}
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;
/**
* <p>CommonNameDetailElement class.</p>
* @version 1.0
*/
public class CommonNameDetailElement extends AbstractDetailedDescriptionDetailElement<CommonTaxonName> {
-
- private static final Logger logger = Logger
- .getLogger(CommonNameDetailElement.class);
- private LanguageComboElement combo_language;
+ private TermComboElement<Language> combo_language;
private NamedAreaSelectionElement selection_namedArea;
private TextWithLabelElement commonName;
@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);
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;
/**
* <p>DistributionDetailElement class.</p>
public class DistributionDetailElement extends
AbstractDetailedDescriptionDetailElement<Distribution> {
- private static final Logger logger = Logger
- .getLogger(DistributionDetailElement.class);
private NamedAreaSelectionElement selection_namedArea;
- private PresenceAbsenceTermComboElement combo_presenceAbsence;
+ private TermComboElement<PresenceAbsenceTermBase> combo_presenceAbsence;
/**
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);
}
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;
/**
* <p>QuantitativeDataDetailElement class.</p>
public class QuantitativeDataDetailElement extends
AbstractDetailedDescriptionDetailElement<QuantitativeData> {
- private MeasurementUnitComboElement combo_mesaurementUnit;
+ private TermComboElement<MeasurementUnit> combo_mesaurementUnit;
private StatisticalMeasurementValueSection section_statisticalMeasurementValues;
/**
@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));
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;
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;
/**
* <p>NameDetailElement class.</p>
*/
public class NameDetailElement extends AbstractIdentifiableEntityDetailElement<NonViralName> implements ISelectableElement, IEnableableFormElement{
- private AbstractTermComboElement<Rank> combo_rank;
+ private TermComboElement<Rank> combo_rank;
private TextWithLabelElement text_appendedPhrase;
private TextWithLabelElement text_uninomial;
private TextWithLabelElement text_infragenericEpithet;
toggleable_cache = formFactory.createToggleableTextField(this, "Name Cache", nonViralName.getNameCache(), nonViralName.isProtectedNameCache(), style);
- combo_rank = formFactory.createTermComboElement(TermComboType.RANK, this, "Rank", nonViralName.getRank(), style);
+ combo_rank = formFactory.createTermComboElement(Rank.class, this, "Rank", nonViralName.getRank(), style);
createGenusOrUninomialControls(this, nonViralName, style);
createInfragenerericEpithetControls(this, nonViralName, style);
import org.eclipse.swt.graphics.Color;
import eu.etaxonomy.cdm.model.name.NameRelationship;
+import eu.etaxonomy.cdm.model.name.NameRelationshipType;
import eu.etaxonomy.taxeditor.store.StoreUtil;
+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.section.supplemental.AbstractReferencedEntityElement;
import eu.etaxonomy.taxeditor.ui.selection.AbstractSelectionElement;
-import eu.etaxonomy.taxeditor.ui.term.NameRelationshipTypeComboElement;
/**
* <p>NameRelationshipDetailElement class.</p>
private TextWithLabelElement text_ruleConsidered;
private AbstractSelectionElement selection_toName;
- private NameRelationshipTypeComboElement combo_relationshipType;
+ private TermComboElement<NameRelationshipType> combo_relationshipType;
private LabelElement label;
/**
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;
/**
* <p>
private NameSelectionElement selection_relatedTo;
- private NameRelationshipTypeComboElement combo_relationshipType;
+ private TermComboElement<NameRelationshipType> combo_relationshipType;
private final NameRelationshipDetailSection callingSection;
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
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;
/**
* <p>
public class NameTypeDesignationElement extends
AbstractTypeDesignationElement<NameTypeDesignation> {
- 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<NameTypeDesignationStatus> combo_typeStatus;
/**
* <p>
.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);
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;
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;
/**
* <p>NomenclaturalStatusElement class.</p>
*/
public class NomenclaturalStatusElement extends AbstractReferencedEntityElement<NomenclaturalStatus> implements IEntityElement<NomenclaturalStatus>, ISelectableElement{
- private AbstractTermComboElement<NomenclaturalStatusType> nomenclaturalStatusTypeCombo;
+ private TermComboElement<NomenclaturalStatusType> nomenclaturalStatusTypeCombo;
private TextWithLabelElement ruleConsideredText;
/** {@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);
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;
/**
* <p>
private NameDetailSection section_name;
private AuthorshipDetailSection section_author;
- private NomenclaturalCodeComboElement combo_nomenclaturalCode;
+ private EnumComboElement<NomenclaturalCode> combo_nomenclaturalCode;
private HybridDetailSection section_hybrid;
/**
"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());
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;
/**
* <p>
public class SpecimenTypeDesignationElement extends
AbstractTypeDesignationElement<SpecimenTypeDesignation> {
- private SpecimenTypeDesignationStatusComboElement combo_typeStatus;
+ private TermComboElement<SpecimenTypeDesignationStatus> combo_typeStatus;
private DerivedUnitBaseSelectionElement selection_typeSpecimen;
private TextWithLabelElement text_specimenTypeText;
.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);
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;
/**
* <p>
private TextWithLabelElement text_exsicatum;
- private PreservationMethodComboElement combo_preservationMethod;
+ private TermComboElement<PreservationMethod> combo_preservationMethod;
private SpecimenCollectionDetailSection section_duplicates;
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) {
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;
/**
* <p>
public class DeterminationEventDetailElement extends
AbstractEventDetailElement<DeterminationEvent> {
- private DeterminationModifierComboElement combo_determinationModifier;
+ private TermComboElement<DeterminationModifier> combo_determinationModifier;
private CheckboxElement checkbox_preferredFlag;
private TaxonBaseSelectionElement selection_taxonBase;
selection_agent.setLabel("Determined by");
- combo_determinationModifier = (DeterminationModifierComboElement) formFactory
- .createTermComboElement(TermComboType.DETERMINATION_MODIFIER,
+ combo_determinationModifier = formFactory.createTermComboElement(DeterminationModifier.class,
element, "Modifier", null, style);
}
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;
/**
* <p>FieldObservationDetailElement class.</p>
private NumberWithLabelElement number_individualCount;
- private SexComboElement combo_sex;
+ private TermComboElement<Sex> combo_sex;
- private StageComboElement combo_lifeStage;
+ private TermComboElement<Stage> combo_lifeStage;
/**
* <p>Constructor for FieldObservationDetailElement.</p>
text_fieldNotes = formFactory.createTextWithLabelElement(formElement, "Field Notes", entity.getFieldNotes(), style);
number_individualCount = formFactory.createIntegerTextWithLabelElement(formElement, "Individual Count", entity.getIndividualCount(), style);
- combo_lifeStage = (StageComboElement) formFactory.createTermComboElement(TermComboType.STAGE, formElement, "Life Stage", entity.getLifeStage(), style);
- combo_sex = (SexComboElement) formFactory.createTermComboElement(TermComboType.SEX, formElement, "Sex", entity.getSex(), style);
+ combo_lifeStage = formFactory.createTermComboElement(Stage.class, formElement, "Life Stage", entity.getLifeStage(), style);
+ combo_sex = formFactory.createTermComboElement(Sex.class, formElement, "Sex", entity.getSex(), style);
}
/** {@inheritDoc} */
import eu.etaxonomy.cdm.model.reference.ReferenceType;
import eu.etaxonomy.taxeditor.model.AuthorHelper;
import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EnumComboType;
import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
import eu.etaxonomy.taxeditor.ui.forms.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.forms.IExceptionHandler;
import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.forms.TimePeriodElement;
-import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
import eu.etaxonomy.taxeditor.ui.forms.UriWithLabelElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractIdentifiableEntityDetailElement;
import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.InstitutionSelectionElement;
import eu.etaxonomy.taxeditor.ui.selection.ReferenceSelectionElement;
-import eu.etaxonomy.taxeditor.ui.term.ReferenceTypeComboElement;
/**
* <p>
private TimePeriodElement element_timePeriod;
private ReferenceSelectionElement selection_inReference;
private InstitutionSelectionElement selection_institution;
- private ReferenceTypeComboElement combo_referenceType;
+ private EnumComboElement<ReferenceType> combo_referenceType;
private ReferenceSelectionElement selection_inSeries;
"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());
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;
/**
* <p>AnnotationElement class.</p>
public class AnnotationElement extends AbstractEntityCollectionElement<Annotation>{
private TextWithLabelElement text;
- private AnnotationTypeComboElement combo_annotationType;
+ private TermComboElement<AnnotationType> combo_annotationType;
/**
* <p>Constructor for AnnotationElement.</p>
/** {@inheritDoc} */
@Override
public void createControls(ICdmFormElement element, int style) {
- combo_annotationType = (AnnotationTypeComboElement) formFactory.createTermComboElement(TermComboType.ANNOTATIONTYPE, this, "Annotation Type", null, style);
+ combo_annotationType = formFactory.createTermComboElement(AnnotationType.class, this, "Annotation Type", null, style);
text = formFactory.createMultilineTextWithLabel(this, "Annotation", 100, style);
}
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.Extension;
import eu.etaxonomy.cdm.model.common.ExtensionType;
+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.ExtensionTypeComboElement;
/**
* <p>ExtensionElement class.</p>
*/
public class ExtensionElement extends AbstractEntityCollectionElement<Extension> {
- private ExtensionTypeComboElement combo_extensionType;
+ private TermComboElement<ExtensionType> combo_extensionType;
private TextWithLabelElement text_extensionValue;
/**
/** {@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());
}
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();
}
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;
/**
* <p>MarkerElement class.</p>
super(cdmFormFactory, formElement, element, removeListener, null, style);
}
- private AbstractTermComboElement<MarkerType> combo_markerType;
+ private TermComboElement<MarkerType> combo_markerType;
private CheckboxElement checkbox_markerState;
@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)
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;
/**
* <p>
super(cdmFormFactory, formElement, element, removeListener, null, style);
}
- private AbstractTermComboElement<RightsTerm> combo_rightsType;
+ private TermComboElement<RightsTerm> combo_rightsType;
private AbstractSelectionElement<AgentBase> selection_agent;
private TextWithLabelElement text;
@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);
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
*/
public class TaxonRelationshipDetailElement extends AbstractCdmDetailElement<TaxonRelationship> {
- private TaxonRelationshipTypeComboElement combo_taxonRelationshipType;
+ private TermComboElement<TaxonRelationshipTypeInverseContainer> combo_taxonRelationshipType;
private TaxonSelectionElement selection_relatedTaxon;
@Override
protected void createControls(ICdmFormElement formElement,
TaxonRelationship entity, int style) {
- combo_taxonRelationshipType = (TaxonRelationshipTypeComboElement) formFactory.createTermComboElement(
- TermComboType.TAXON_RELATIONSHIP_TYPE_INVERSE_CONTAINER,
+ combo_taxonRelationshipType = formFactory.createTermComboElement(
+ TaxonRelationshipTypeInverseContainer.class,
formElement, "Relationship Type",
getTaxonRelationshipTypeInverseContainer(), style);
combo_taxonRelationshipType.setEnabled(false);
}else{
getEntity().setToTaxon(relatedTaxon);
}
-
}
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
}
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+\r
+import java.util.HashSet;\r
+import java.util.Set;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.Marker;\r
+import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.common.TermBase;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement;\r
+import eu.etaxonomy.taxeditor.ui.forms.UriWithLabelElement;\r
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 20 Dec 2011\r
+ *\r
+ */\r
+public abstract class AbstractTermBaseDetailElement<T extends TermBase> extends AbstractCdmDetailElement<T> {\r
+\r
+ protected TextWithLabelElement text_label;\r
+ protected TextWithLabelElement text_description;\r
+ protected UriWithLabelElement uri_uri;\r
+ \r
+ /**\r
+ * @param formFactory\r
+ * @param formElement\r
+ */\r
+ public AbstractTermBaseDetailElement(CdmFormFactory formFactory,\r
+ ICdmFormElement formElement) {\r
+ super(formFactory, formElement);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, java.lang.Object, int)\r
+ */\r
+ @Override\r
+ protected void createControls(ICdmFormElement formElement,\r
+ T entity, int style) {\r
+ text_label = formFactory.createTextWithLabelElement(formElement, "Label", getEntity().getLabel(), style);\r
+ text_description = formFactory.createMultilineTextWithLabel(formElement, "Description", 100, style);\r
+ text_description.setText(getEntity().getDescription());\r
+ uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style);\r
+ \r
+ }\r
+\r
+ @Override\r
+ public void setEntity(T entity) {\r
+ super.setEntity(entity);\r
+ setEnabled(TermBasePropertyTester.isModifiable(entity));\r
+ }\r
+\r
+ public abstract TermVocabulary getVocabulary();\r
+ \r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.common.Representation;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 20 Dec 2011\r
+ *\r
+ */\r
+public class DefinedTermDetailElement<T extends DefinedTermBase> extends AbstractTermBaseDetailElement<T> {\r
+ \r
+ /**\r
+ * @param formFactory\r
+ * @param formElement\r
+ */\r
+ public DefinedTermDetailElement(CdmFormFactory formFactory,\r
+ ICdmFormElement formElement) {\r
+ super(formFactory, formElement);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)\r
+ */\r
+ @Override\r
+ public void handleEvent(Object eventSource) {\r
+ if (eventSource == text_label){\r
+ getEntity().setLabel(text_label.getText());\r
+ }else if (eventSource == text_description){\r
+ Representation representation = getEntity().getRepresentation(Language.DEFAULT());\r
+ representation.setText(text_description.getText());\r
+ }\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.vocabulary.AbstractTermBaseDetailElement#getVocabularyMarkers()\r
+ */\r
+ @Override\r
+ public TermVocabulary getVocabulary() {\r
+ return getEntity() != null ? getEntity().getVocabulary() : null;\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+\r
+import org.eclipse.jface.viewers.ISelectionProvider;\r
+import org.eclipse.ui.forms.widgets.TableWrapLayout;\r
+\r
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;\r
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 4 Jan 2012\r
+ *\r
+ */\r
+public class DefinedTermDetailSection<T extends DefinedTermBase> extends AbstractCdmDetailSection<T> {\r
+\r
+\r
+ private Class definedTermClass;\r
+\r
+ /**\r
+ * @param formFactory\r
+ * @param definedTermClass \r
+ * @param conversation\r
+ * @param parentElement\r
+ * @param selectionProvider\r
+ * @param style\r
+ */\r
+ public DefinedTermDetailSection(CdmFormFactory formFactory,\r
+ Class definedTermClass, ConversationHolder conversation, ICdmFormElement parentElement,\r
+ ISelectionProvider selectionProvider, int style) {\r
+ super(formFactory, definedTermClass, conversation, parentElement, selectionProvider, style);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getDetailType()\r
+ */\r
+ @Override\r
+ protected DetailType getDetailType() {\r
+ return null;\r
+ }\r
+ \r
+ @Override\r
+ protected void createControlsByType(\r
+ AbstractCdmDetailSection<T> abstractCdmDetailSection,\r
+ Class<T> clazz, int style) {\r
+ TableWrapLayout layout = (TableWrapLayout) getLayoutComposite()\r
+ .getLayout();\r
+ layout.topMargin = 10;\r
+ layout.numColumns = 2;\r
+\r
+ getLayoutComposite().setLayout(layout);\r
+ detailElement = formFactory.createDefinedTermDetailElement(clazz,\r
+ abstractCdmDetailSection, style);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading()\r
+ */\r
+ @Override\r
+ public String getHeading() {\r
+ return "Defined Term: "+ (getEntity() != null ? getEntity().getLabel() : "");\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+\r
+import java.net.URISyntaxException;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.common.Representation;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.cdm.model.location.NamedAreaLevel;\r
+import eu.etaxonomy.cdm.model.location.NamedAreaType;\r
+import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.forms.TimePeriodElement;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 20 Dec 2011\r
+ *\r
+ */\r
+public class NamedAreaDetailElement extends DefinedTermDetailElement<NamedArea> {\r
+\r
+ // level\r
+ // type\r
+ private TermComboElement<NamedAreaType> combo_namedAreaType;\r
+ private TermComboElement<NamedAreaLevel> combo_namedAreaLevel;\r
+ // validPeriod\r
+ private TimePeriodElement timePeriod_validPeriod;\r
+ \r
+ /**\r
+ * @param formFactory\r
+ * @param formElement\r
+ */\r
+ public NamedAreaDetailElement(CdmFormFactory formFactory,\r
+ ICdmFormElement formElement) {\r
+ super(formFactory, formElement);\r
+ }\r
+ \r
+ public void createControls(ICdmFormElement formElement, NamedArea entity, int style) {\r
+ super.createControls(formElement, entity, style);\r
+ \r
+ timePeriod_validPeriod = formFactory.createTimePeriodElement(formElement, "Valid Period", getEntity().getValidPeriod(), style);\r
+ combo_namedAreaType = formFactory.createTermComboElement(NamedAreaType.class, formElement, "Named Area Type", getEntity().getType(), style);\r
+ combo_namedAreaLevel = formFactory.createTermComboElement(NamedAreaLevel.class, formElement, "Named Area Level", getEntity().getLevel(), style);\r
+ \r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)\r
+ */\r
+ @Override\r
+ public void handleEvent(Object eventSource) {\r
+ \r
+ if (eventSource == text_label) {\r
+ getEntity().setLabel(text_label.getText());\r
+ getEntity().setTitleCache(null);\r
+ } else if (eventSource == text_description) {\r
+ \r
+ Representation representation = getEntity().getRepresentation(Language.DEFAULT());\r
+ representation.setText(text_description.getText());\r
+ \r
+ } else if (eventSource == uri_uri) {\r
+ \r
+ try {\r
+ getEntity().setUri(uri_uri.getUri());\r
+ } catch (URISyntaxException e) {\r
+ \r
+ e.printStackTrace();\r
+ }\r
+ } else if (eventSource == timePeriod_validPeriod) {\r
+ getEntity().setValidPeriod(timePeriod_validPeriod.getTimePeriod());\r
+ } else if (eventSource == combo_namedAreaType) {\r
+ getEntity().setType(combo_namedAreaType.getSelection());\r
+ } else if (eventSource == combo_namedAreaLevel) {\r
+ getEntity().setLevel(combo_namedAreaLevel.getSelection());\r
+ }\r
+ \r
+ \r
+ }\r
+\r
+ \r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+\r
+import org.eclipse.jface.viewers.ISelectionProvider;\r
+\r
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;\r
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 20 Dec 2011\r
+ *\r
+ */\r
+public class NamedAreaDetailSection extends AbstractCdmDetailSection<NamedArea> {\r
+\r
+ /**\r
+ * @param formFactory\r
+ * @param conversation\r
+ * @param parentElement\r
+ * @param selectionProvider\r
+ * @param style\r
+ */\r
+ public NamedAreaDetailSection(CdmFormFactory formFactory,\r
+ ConversationHolder conversation, ICdmFormElement parentElement,\r
+ ISelectionProvider selectionProvider, int style) {\r
+ super(formFactory, conversation, parentElement, selectionProvider, style);\r
+\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getDetailType()\r
+ */\r
+ @Override\r
+ protected DetailType getDetailType() {\r
+ \r
+ return DetailType.NAMED_AREA;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading()\r
+ */\r
+ @Override\r
+ public String getHeading() {\r
+ \r
+ return "Defined Term: "+ (getEntity() != null ? getEntity().getLabel() : "");\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+\r
+import org.eclipse.jface.viewers.ISelectionProvider;\r
+\r
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
+import eu.etaxonomy.cdm.model.location.NamedAreaLevel;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;\r
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 4 Jan 2012\r
+ *\r
+ */\r
+public class NamedAreaLevelDetailSection extends AbstractCdmDetailSection<NamedAreaLevel> {\r
+\r
+ /**\r
+ * @param formFactory\r
+ * @param parentElement\r
+ * @param style\r
+ */\r
+ public NamedAreaLevelDetailSection(CdmFormFactory formFactory,\r
+ ConversationHolder conversation, ICdmFormElement parentElement,\r
+ ISelectionProvider selectionProvider, int style) {\r
+ super(formFactory, conversation, parentElement, selectionProvider, style);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getDetailType()\r
+ */\r
+ @Override\r
+ protected DetailType getDetailType() {\r
+ \r
+ return DetailType.NAMED_AREA_LEVEL;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading()\r
+ */\r
+ @Override\r
+ public String getHeading() {\r
+ return "Defined Term: "+ (getEntity() != null ? getEntity().getLabel() : "");\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+\r
+import java.net.URISyntaxException;\r
+import java.util.HashSet;\r
+import java.util.Set;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.common.Marker;\r
+import eu.etaxonomy.cdm.model.common.Representation;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.forms.UriWithLabelElement;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 20 Dec 2011\r
+ *\r
+ */\r
+public class TermVocabularyDetailElement extends AbstractTermBaseDetailElement<TermVocabulary> {\r
+\r
+ private UriWithLabelElement uri_uriTermSource;\r
+ /**\r
+ * @param formFactory\r
+ * @param formElement\r
+ */\r
+ public TermVocabularyDetailElement(CdmFormFactory formFactory,\r
+ ICdmFormElement formElement) {\r
+ super(formFactory, formElement);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement, java.lang.Object, int)\r
+ */\r
+ @Override\r
+ protected void createControls(ICdmFormElement formElement,\r
+ TermVocabulary entity, int style) {\r
+ \r
+ super.createControls(formElement, entity, style);\r
+ uri_uriTermSource = formFactory.createUriWithLabelElement(formElement, "URI Term Source", getEntity().getTermSourceUri(), style);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)\r
+ */\r
+ @Override\r
+ public void handleEvent(Object eventSource) {\r
+ \r
+ if (eventSource == text_label) {\r
+ getEntity().setLabel(text_label.getText());\r
+ getEntity().setTitleCache(null);\r
+ } else if (eventSource == text_description) {\r
+ \r
+ Representation representation = getEntity().getRepresentation(Language.DEFAULT());\r
+ representation.setText(text_description.getText());\r
+ } else if (eventSource == uri_uri) {\r
+ \r
+ try {\r
+ getEntity().setUri(uri_uri.getUri());\r
+ } catch (URISyntaxException e) {\r
+ \r
+ e.printStackTrace();\r
+ }\r
+ } else if (eventSource == uri_uriTermSource) {\r
+ try {\r
+ getEntity().setTermSourceUri(uri_uriTermSource.getUri());\r
+ } catch (URISyntaxException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.vocabulary.AbstractTermBaseDetailElement#getVocabularyMarkers()\r
+ */\r
+ @Override\r
+ public TermVocabulary getVocabulary() {\r
+ return getEntity();\r
+ }\r
+\r
+}\r
--- /dev/null
+// $Id$\r
+/**\r
+* Copyright (C) 2009 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
+\r
+import org.eclipse.jface.viewers.ISelectionProvider;\r
+\r
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;\r
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;\r
+\r
+/**\r
+ * @author l.morris\r
+ * @date 20 Dec 2011\r
+ *\r
+ */\r
+public class TermVocabularyDetailSection extends\r
+ AbstractCdmDetailSection<TermVocabulary> {\r
+\r
+ /**\r
+ * @param formFactory\r
+ * @param conversation\r
+ * @param parentElement\r
+ * @param selectionProvider\r
+ * @param style\r
+ */\r
+ public TermVocabularyDetailSection(CdmFormFactory formFactory,\r
+ ConversationHolder conversation, ICdmFormElement parentElement,\r
+ ISelectionProvider selectionProvider, int style) {\r
+ super(formFactory, conversation, parentElement, selectionProvider, style);\r
+ // TODO Auto-generated constructor stub\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getDetailType()\r
+ */\r
+ @Override\r
+ protected DetailType getDetailType() {\r
+ \r
+ return DetailType.TERM_VOCABULARY;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#getHeading()\r
+ */\r
+ @Override\r
+ public String getHeading() {\r
+ \r
+ return "Vocabulary: "+ (getEntity() != null ? getEntity().getLabel() : "");\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#setSectionTitle()\r
+ */\r
+ @Override\r
+ protected void setSectionTitle() {\r
+ setText(getHeading());\r
+ }\r
+}\r
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>AnnotationTypeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created May 12, 2010
- * @version 1.0
- */
-public class AnnotationTypeComboElement extends AbstractTermComboElement<AnnotationType> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for AnnotationTypeComboElement.</p>
- *
- * @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<AnnotationType> preferredTerms() {
- return getTermManager().getPreferredAnnotationTypes();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>DeterminationModifierComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Oct 14, 2010
- * @version 1.0
- */
-public class DeterminationModifierComboElement extends AbstractTermComboElement<DeterminationModifier> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for DeterminationModifierComboElement.</p>
- *
- * @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<DeterminationModifier> preferredTerms() {
- return getTermManager().getPreferredDeterminationModifiers();
- }
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>ExtensionTypeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Nov 16, 2009
- * @version 1.0
- */
-public class ExtensionTypeComboElement extends AbstractTermComboElement<ExtensionType> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for ExtensionTypeComboElement.</p>
- *
- * @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<ExtensionType> preferredTerms() {
- return getTermManager().getPreferredExtensionTypes();
- }
-}
+++ /dev/null
-/**
- *
- */
-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;
-
-/**
- * <p>LanguageComboElement class.</p>
- *
- * @author n.hoffmann
- * @version $Id: $
- */
-public class LanguageComboElement extends AbstractTermComboElement<Language> {
-
- private static final int VISIBLE_ITEMS = 20;
-
- /**
- * <p>Constructor for LanguageComboElement.</p>
- *
- * @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<Language> preferredTerms() {
- return getTermManager().getPreferredLanguages();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>MarkerTypeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Nov 16, 2009
- * @version 1.0
- */
-public class MarkerTypeComboElement extends AbstractTermComboElement<MarkerType> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for MarkerTypeComboElement.</p>
- *
- * @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<MarkerType> preferredTerms() {
- return getTermManager().getPreferredMarkerTypes();
- }
-}
+++ /dev/null
-/**
- *
- */
-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;
-
-/**
- * <p>MeasurementUnitComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Sep 15, 2010
- * @version 1.0
- */
-public class MeasurementUnitComboElement extends AbstractTermComboElement<MeasurementUnit> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for MeasurementUnitComboElement.</p>
- *
- * @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<MeasurementUnit> preferredTerms() {
- return getTermManager().getPreferredMeasurementUnits();
- }
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>ModifierComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Sep 15, 2010
- * @version 1.0
- */
-public class ModifierComboElement extends AbstractTermComboElement<Modifier> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for ModifierComboElement.</p>
- *
- * @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<Modifier> preferredTerms() {
- return getTermManager().getPreferredModifiers();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>NameRelationshipTypeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Mar 19, 2010
- * @version 1.0
- */
-public class NameRelationshipTypeComboElement extends AbstractTermComboElement<NameRelationshipType> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for NameRelationshipTypeComboElement.</p>
- *
- * @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<NameRelationshipType> preferredTerms() {
- return getTermManager().getPreferredNameRelationshipTypes();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>NameTypeDesignationStatusComboElement class.</p>
- *
- * @author n.hoffmann
- * @created May 17, 2010
- * @version 1.0
- */
-public class NameTypeDesignationStatusComboElement extends
- AbstractTermComboElement<NameTypeDesignationStatus> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for NameTypeDesignationStatusComboElement.</p>
- *
- * @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<NameTypeDesignationStatus> preferredTerms() {
- return getTermManager().getPreferredNameTypeDesignationStatus();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>NamedAreaTypeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created May 11, 2010
- * @version 1.0
- */
-public class NamedAreaTypeComboElement extends AbstractTermComboElement<NamedAreaType> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for NamedAreaTypeComboElement.</p>
- *
- * @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<NamedAreaType> preferredTerms() {
- return getTermManager().getPreferredNamedAreaTypes();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.term;
-
-import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-
-/**
- * <p>NomenclaturalCodeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Mar 16, 2010
- * @version 1.0
- */
-public class NomenclaturalCodeComboElement extends AbstractEnumComboElement<NomenclaturalCode> {
-
- /**
- * <p>Constructor for NomenclaturalCodeComboElement.</p>
- *
- * @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);
- }
-
- /**
- * <p>populateTypes</p>
- */
- protected void populateTypes() {
- for(NomenclaturalCode nomenclaturalCode : NomenclaturalCode.values()){
- elementTypeList.add(nomenclaturalCode);
- combo.add(nomenclaturalCode.name());
- }
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>NomenclaturalStatusTypeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Nov 5, 2009
- * @version 1.0
- */
-public class NomenclaturalStatusTypeComboElement extends
- AbstractTermComboElement<NomenclaturalStatusType> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for NomenclaturalStatusTypeComboElement.</p>
- *
- * @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<NomenclaturalStatusType> preferredTerms() {
- return getTermManager().getPreferredNomenclaturalStatusTypes();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>PresenceAbsenceTermComboElement class.</p>
- *
- * @author n.hoffmann
- * @created May 11, 2010
- * @version 1.0
- */
-public class PresenceAbsenceTermComboElement extends
- AbstractTermComboElement<PresenceAbsenceTermBase> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for PresenceAbsenceTermComboElement.</p>
- *
- * @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<PresenceAbsenceTermBase> preferredTerms() {
- return getTermManager().getPreferredPresenceAbsenceTerms();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>PreservationMethodComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Jun 25, 2010
- * @version 1.0
- */
-public class PreservationMethodComboElement extends AbstractTermComboElement<PreservationMethod> {
-
- private static final int VISIBLE_ITEMS = 5;
-
- /**
- * <p>Constructor for PreservationMethodComboElement.</p>
- *
- * @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<PreservationMethod> preferredTerms() {
- return getTermManager().getPreferredPreservationMethods();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>RankComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Nov 5, 2009
- * @version 1.0
- */
-public class RankComboElement extends AbstractTermComboElement<Rank> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for RankComboElement.</p>
- *
- * @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<Rank> preferredTerms() {
- return getTermManager().getPreferredRanks();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>ReferenceSystemComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Oct 15, 2010
- * @version 1.0
- */
-public class ReferenceSystemComboElement extends AbstractTermComboElement<ReferenceSystem> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for ReferenceSystemComboElement.</p>
- *
- * @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<ReferenceSystem> preferredTerms() {
- return TermStore.getReferenceSystems();
- }
-
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>ReferenceTypeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Nov 16, 2009
- * @version 1.0
- */
-public class ReferenceTypeComboElement extends AbstractEnumComboElement<ReferenceType>{
-
- /**
- * <p>Constructor for ReferenceTypeComboElement.</p>
- *
- * @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);
- }
-
- /**
- * <p>populateTypes</p>
- */
- protected void populateTypes() {
- for(ReferenceType referenceType : ReferenceType.values()){
- elementTypeList.add(referenceType);
- combo.add(referenceType.getMessage(CdmStore.getDefaultLanguage()));
- }
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>RightsTypeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Nov 16, 2009
- * @version 1.0
- */
-public class RightsTypeComboElement extends AbstractTermComboElement<RightsTerm> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for RightsTypeComboElement.</p>
- *
- * @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<RightsTerm> preferredTerms() {
- return getTermManager().getPreferredRightsTypes();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>ScopeComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Sep 17, 2010
- * @version 1.0
- */
-public class ScopeComboElement extends AbstractTermComboElement<Scope> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for ScopeComboElement.</p>
- *
- * @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<Scope> preferredTerms() {
- return getTermManager().getPreferredScopes();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>SexComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Jun 24, 2010
- * @version 1.0
- */
-public class SexComboElement extends AbstractTermComboElement<Sex> {
-
- private static final int VISIBLE_ITEMS = 2;
-
- /**
- * <p>Constructor for SexComboElement.</p>
- *
- * @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<Sex> preferredTerms() {
- List<Sex> list = new ArrayList<Sex>();
- list.add(Sex.FEMALE());
- list.add(Sex.MALE());
- return list;
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>SpecimenTypeDesignationStatusComboElement class.</p>
- *
- * @author n.hoffmann
- * @created May 17, 2010
- * @version 1.0
- */
-public class SpecimenTypeDesignationStatusComboElement extends
- AbstractTermComboElement<SpecimenTypeDesignationStatus> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for SpecimenTypeDesignationStatusComboElement.</p>
- *
- * @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<SpecimenTypeDesignationStatus> preferredTerms() {
- return getTermManager().getPreferredSpecimenTypeDesignationStatus();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>StageComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Jun 25, 2010
- * @version 1.0
- */
-public class StageComboElement extends AbstractTermComboElement<Stage> {
-
- private static final int VISIBLE_ITEMS = 5;
-
- /**
- * <p>Constructor for StageComboElement.</p>
- *
- * @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<Stage> preferredTerms() {
- return getTermManager().getPreferredStages();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>StateComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Sep 15, 2010
- * @version 1.0
- */
-public class StateComboElement extends AbstractTermComboElement<State> {
-
- private static final int VISIBLE_ITEMS = 10;
-
- /**
- * <p>Constructor for StateComboElement.</p>
- *
- * @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<State> preferredTerms() {
- return getTermManager().getPreferredStates();
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.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;
-
-/**
- * <p>StatisticalMeasureComboElement class.</p>
- *
- * @author n.hoffmann
- * @created Sep 15, 2010
- * @version 1.0
- */
-public class StatisticalMeasureComboElement extends AbstractTermComboElement<StatisticalMeasure> {
-
- private static final int VISIBLE_ITEMS = 5;
-
- /**
- * <p>Constructor for StatisticalMeasureComboElement.</p>
- *
- * @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<StatisticalMeasure> preferredTerms() {
- return getTermManager().getPreferredStatisticalMeasures();
- }
-}
+++ /dev/null
-// $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<TaxonRelationshipTypeInverseContainer> {
-
- 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();
- }
-
-}
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;
/**
* <p>TranslationWizardPage class.</p>
private CdmFormFactory formFactory;
- private EmptyComboElement<Language> combo_sourceLanguage;
+ private TermComboElement combo_sourceLanguage;
private LanguageStringWithLabelElement text_source;
- private LanguageComboElement combo_targetLanguage;
+ private TermComboElement<Language> combo_targetLanguage;
private LanguageStringWithLabelElement text_target;
*/
private void createLeftControls(ICdmFormElement element){
- combo_sourceLanguage = (EmptyComboElement<Language>) 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() {
* @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)
public void setFocus() {
if(getConversationHolder() != null){
getConversationHolder().bind();
- }
+ }
getViewer().getControl().setFocus();
}
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;
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;
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;
*/
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;
/**
@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();
}
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);
+ }
}