Project

General

Profile

« Previous | Next » 

Revision 11a549d1

Added by Patrick Plitzner over 5 years ago

ref #7589 Use TaxonNodeDtos in character matrix

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/DescriptionTreeFormat.java
13 13
import java.util.List;
14 14

  
15 15
import ca.odell.glazedlists.TreeList;
16
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
16 17
import eu.etaxonomy.cdm.api.service.dto.RowWrapperDTO;
17 18
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
18 19
import eu.etaxonomy.cdm.model.name.Rank;
19 20
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
21
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
22
import eu.etaxonomy.taxeditor.store.CdmStore;
20 23

  
21 24
/**
22 25
 * The tree format defines how to build the hierarchy path for the
......
38 41
     public void getPath(List path, Object element) {
39 42
         if(element instanceof RowWrapperDTO){
40 43
             //TODO: check for multiple taxon nodes in multiple classifications
41
             TaxonNode taxonNode = ((RowWrapperDTO) element).getTaxonNode();
44
             TaxonNodeDto taxonNode = ((RowWrapperDTO) element).getTaxonNode();
42 45
             addPathRecursive(path, taxonNode);
43 46
         }
44 47
         path.add(element);
45 48
     }
46 49

  
47
     private void addPathRecursive(List path, TaxonNode node){
48
         if(node!=null
49
                 && node.getParent()!=null
50
                 && node.getTaxon()!=null
51
                 && node.getTaxon().getName()!=null
52
                 && node.getTaxon().getName().getRank()!=null){
53
             Rank rank = node.getTaxon().getName().getRank();
54
             if(maxRank!=null && maxRank.equals(rank)){
50
     private void addPathRecursive(List path, TaxonNodeDto node){
51
         if(node!=null){
52
             if(maxRank!=null && node.getRankOrderIndex()==maxRank.getOrderIndex()){
55 53
                 path.add(node);
56 54
                 return;
57 55
             }
58
             addPathRecursive(path, node.getParent());
59
             path.add(node);
56
             TaxonNode parent = CdmStore.getService(ITaxonNodeService.class).load(node.getParentUUID());
57
             if(parent!=null){
58
                 TaxonNodeDto parentNodeDto = new TaxonNodeDto(parent);
59
                 addPathRecursive(path, parentNodeDto);
60
                 path.add(node);
61
             }
60 62
         }
61 63
     }
62 64

  

Also available in: Unified diff