ref #10824: adapt also common name area selection so term tree selection
authorKatja Luther <k.luther@bgbm.org>
Thu, 13 Apr 2023 13:21:54 +0000 (15:21 +0200)
committerKatja Luther <k.luther@bgbm.org>
Thu, 13 Apr 2023 13:21:54 +0000 (15:21 +0200)
is possible

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CommonNameVocabularyPreferencePage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NamedAreaVocabularyPreferencePage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CommonNameNamedAreaSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NamedAreaSelectionDialog.java

index a3455f3d4660fff273dcd3cb1ad816517174a753..e5966fece8771f68464c4bb1f022d0e82cd109a1 100644 (file)
@@ -11,14 +11,13 @@ package eu.etaxonomy.taxeditor.preference;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.l10n.Messages;
-import eu.etaxonomy.taxeditor.preference.wizard.GeneralVocabularyPreferencePage;
 
 /**
  * @author k.luther
  * @since 05.10.2018
  *
  */
-public class CommonNameVocabularyPreferencePage extends GeneralVocabularyPreferencePage implements IE4PreferencePage {
+public class CommonNameVocabularyPreferencePage extends NamedAreaVocabularyPreferencePage{//GeneralVocabularyPreferencePage implements IE4PreferencePage {
 
 
     public CommonNameVocabularyPreferencePage(){
index 088a4d25a19d82dd4b4b5cc39d0f63771e0af617..499ae8ee770fad32193391d8ae8c6c2f92122af9 100644 (file)
@@ -63,36 +63,5 @@ public class NamedAreaVocabularyPreferencePage extends GeneralVocabularyPreferen
 
         treeComposite.getViewer().setInput(collList);
     }
-//
-//    @Override
-//    protected void rememberCheckedValues(String checkedValues) {
-//        initialiseVocabularies();
-//        setInput();
-//
-//        if (checkedValues != null && !checkedValues.equals("")) { //$NON-NLS-1$
-//            String[] listChecked = checkedValues.split(";"); //$NON-NLS-1$
-//            String[] listCheckedComma = checkedValues.split(","); //$NON-NLS-1$
-//            List<String> checked = new ArrayList<>();
-//            if (listChecked != null ){
-//                checked = Arrays.asList(listChecked);
-//            }
-//            if (listCheckedComma != null && checkedValues.contains(",")){ //$NON-NLS-1$
-//                checked = Arrays.asList(listCheckedComma);
-//            }
-//            List<TermCollectionDto> termsFromStringValues = getTermsFromStringValues(checked);
-//            treeComposite.setCheckedElements(termsFromStringValues.toArray());
-//
-//        }else{
-//            List<TermCollectionDto> termsFromStringValues = getTermsFromStringValues(new ArrayList<>());
-//            treeComposite.setCheckedElements(termsFromStringValues.toArray());
-//            treeComposite.getViewer().refresh();
-//            treeComposite.redraw();
-//        }
-//    }
-//
-//
-//
-//
-//    st;
-//    }
+
 }
\ No newline at end of file
index 3c733f83a6ede412f4fa3a9e0ff427afe119b190..c02e29214d7e139c8a5675d2c44a7b85a85ac6ca 100755 (executable)
@@ -21,6 +21,8 @@ import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
+import eu.etaxonomy.cdm.model.term.TermCollection;
+import eu.etaxonomy.cdm.model.term.TermTree;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.cdm.model.term.TermVocabulary;
 import eu.etaxonomy.taxeditor.preference.CdmPreferenceCache;
@@ -66,17 +68,32 @@ public class CommonNameNamedAreaSelectionDialog extends NamedAreaSelectionDialog
         CdmPreference pref = cache.findBestMatching(key);
         if (preselectedVocabularyUuids != null){
             for(UUID preselectedVocabularyUuid : preselectedVocabularyUuids){
-                TermVocabulary<?> preselectedVocabulary = CdmStore.getService(IVocabularyService.class).find(preselectedVocabularyUuid);
-                vocabularies.add(preselectedVocabulary);
+                TermCollection preselectedVocabulary = CdmStore.getService(IVocabularyService.class).findCollection(preselectedVocabularyUuid);
+                if (preselectedVocabulary instanceof TermVocabulary) {
+                    vocabularies.add((TermVocabulary)preselectedVocabulary);
+                }else {
+                    if (allTrees == null) {
+                        allTrees = new ArrayList<>();
+                    }
+                    allTrees.add((TermTree)preselectedVocabulary);
+                }
+            }
+            selectedTermCollections = new ArrayList<>();
+            selectedTermCollections.addAll(vocabularies);
+            if (allTrees != null) {
+                selectedTermCollections.addAll(allTrees);
             }
         }
         if ((pref != null && !pref.isAllowOverride()) && preselectedVocabularyUuids!=null) {
              return vocabularies;
         }else{
-            selectedTermCollections = new ArrayList<>();
-            selectedTermCollections.addAll(vocabularies);
 
-            return CdmStore.getService(IVocabularyService.class).listByTermType(TermType.NamedArea, true, null, null, null, null);
+            if (allVocabularies == null) {
+                allVocabularies = new ArrayList<>();
+            }
+            allVocabularies.addAll(CdmStore.getService(IVocabularyService.class).listByTermType(TermType.NamedArea, true, null, null, null, null));
+
+            return allVocabularies;
         }
     }
 
index c01d6afe2fb249f58325447bfbd0596990604a72..956a572d1d61fcaff8136ff459d6bae0fdb1d8f7 100644 (file)
@@ -50,7 +50,7 @@ public class NamedAreaSelectionDialog extends
     protected List<TermCollection> selectedTermCollections;\r
     @SuppressWarnings("rawtypes")\r
     protected List<TermVocabulary> allVocabularies;\r
-    protected List<TermTree> allTrees ;\r
+    protected List<TermTree> allTrees;\r
 \r
        /**\r
         * Creates a filtered selection dialog to select a named area.\r