Project

General

Profile

« Previous | Next » 

Revision be7068cc

Added by Katja Luther over 5 years ago

ref #7063:handle orderedTerms without orderindex and order by lable

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java
32 32
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
33 33
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
34 34
import eu.etaxonomy.cdm.model.common.Language;
35
import eu.etaxonomy.cdm.model.common.OrderedTermBase;
35 36
import eu.etaxonomy.cdm.model.common.OrderedTermComparator;
36 37
import eu.etaxonomy.cdm.model.common.TermIdInVocabularyComparator;
37 38
import eu.etaxonomy.cdm.model.common.TermLanguageComparator;
......
185 186
            }
186 187
            IVocabularyService service =  CdmStore.getService(IVocabularyService.class);
187 188
            List<TermVocabulary> vocs = service.find(uuidList);
188
            split = valuesAreas.split(",");
189
            split = valuesAreas.split(";");
189 190
            listValue = Arrays.asList(split);
190 191
            for (TermVocabulary voc: vocs){
191 192
                termlist.addAll(service.getTerms(voc, null, null, null, null).getRecords());
......
222 223
    public SortedSet<DefinedTermBase> getTermsOrderedByVocabularyOrder(List<DefinedTermBase> listAreas){
223 224
        HashMap<TermVocabulary<DefinedTermBase>, List<DefinedTermBase>> vocs = new HashMap<>();
224 225
        OrderedTermComparator<?> comp = new OrderedTermComparator<>();
226
        boolean allOrderedTerms = true;
227
        List<TermVocabulary> alreadyOrderIndexNull = new ArrayList<>();
228
        for (DefinedTermBase term: listAreas){
229
            if (!(term instanceof OrderedTermBase)){
230
                allOrderedTerms = false;
231
                break;
232
            }else if (((OrderedTermBase)term).getOrderIndex() == 0){
233
                if(alreadyOrderIndexNull.contains(term.getVocabulary())) {
234
                    allOrderedTerms = false;
235
                    break;
236
                }else{
237
                    alreadyOrderIndexNull.add(term.getVocabulary());
238
                }
239

  
240

  
241
            }
242
        }
243
        if (allOrderedTerms){
244
            SortedSet<DefinedTermBase> result = new TreeSet(comp.reversed());
245
            result.addAll(listAreas);
246
            return result;
247
        }else{
248
            return getTermsOrderedByLabels(listAreas, PreferencesUtil.getGlobalLanguage());
249
        }
225 250

  
226
        SortedSet<DefinedTermBase> result = new TreeSet(comp.reversed());
227
        result.addAll(listAreas);
228 251

  
229
        return result;
230 252
    }
231 253

  
232 254
    /**

Also available in: Unified diff