Revision 892efc69
Added by Andreas Kohlbecker almost 14 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonTreeServiceImpl.java | ||
---|---|---|
19 | 19 |
import java.util.TreeMap; |
20 | 20 |
import java.util.UUID; |
21 | 21 |
|
22 |
import javax.swing.tree.TreeNode; |
|
23 |
|
|
22 | 24 |
import org.apache.log4j.Logger; |
23 | 25 |
import org.springframework.beans.factory.annotation.Autowired; |
24 | 26 |
import org.springframework.stereotype.Service; |
... | ... | |
30 | 32 |
import eu.etaxonomy.cdm.model.description.TaxonDescription; |
31 | 33 |
import eu.etaxonomy.cdm.model.media.Media; |
32 | 34 |
import eu.etaxonomy.cdm.model.media.MediaRepresentation; |
35 |
import eu.etaxonomy.cdm.model.media.MediaUtils; |
|
33 | 36 |
import eu.etaxonomy.cdm.model.name.Rank; |
34 | 37 |
import eu.etaxonomy.cdm.model.taxon.ITreeNode; |
35 | 38 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
... | ... | |
74 | 77 |
TaxonomicTree tree = dao.load(taxonomicTreeUuid); |
75 | 78 |
TaxonNode node = tree.getNode(taxon); |
76 | 79 |
|
77 |
return loadTaxonNode(node, propertyPaths); |
|
80 |
return loadTaxonNode(node.getUuid(), propertyPaths);
|
|
78 | 81 |
} |
79 | 82 |
|
83 |
@Deprecated // use loadTaxonNode(UUID, List<String>) instead |
|
80 | 84 |
public TaxonNode loadTaxonNode(TaxonNode taxonNode, List<String> propertyPaths){ |
81 | 85 |
return taxonNodeDao.load(taxonNode.getUuid(), propertyPaths); |
82 | 86 |
} |
83 | 87 |
|
88 |
public TaxonNode loadTaxonNode(UUID taxonNodeUuid, List<String> propertyPaths){ |
|
89 |
return taxonNodeDao.load(taxonNodeUuid, propertyPaths); |
|
90 |
} |
|
91 |
|
|
84 | 92 |
/* |
85 | 93 |
* (non-Javadoc) |
86 | 94 |
* @see eu.etaxonomy.cdm.api.service.ITaxonTreeService#loadRankSpecificRootNodes(eu.etaxonomy.cdm.model.taxon.TaxonomicTree, eu.etaxonomy.cdm.model.name.Rank, java.util.List) |
... | ... | |
110 | 118 |
List<TaxonNode> pathToRoot = new ArrayList<TaxonNode>(); |
111 | 119 |
pathToRoot.add(thisNode); |
112 | 120 |
|
113 |
ITreeNode parentNode = thisNode.getParent();
|
|
114 |
while(parentNode instanceof TaxonNode){
|
|
115 |
TaxonNode parent = (TaxonNode) parentNode;
|
|
121 |
TaxonNode parentNode = thisNode.getParent();
|
|
122 |
while(parentNode != null){
|
|
123 |
TaxonNode parent = parentNode; |
|
116 | 124 |
Rank parentNodeRank = parent.getTaxon().getName().getRank(); |
117 | 125 |
// stop if the next parent is higher than the baseRank |
118 | 126 |
if(baseRank != null && baseRank.isLower(parentNodeRank)){ |
119 | 127 |
break; |
120 | 128 |
} |
121 |
pathToRoot.add(parent); |
|
122 |
parentNode = parent.getParent(); |
|
129 |
pathToRoot.add(parentNode);
|
|
130 |
parentNode = parentNode.getParent();
|
|
123 | 131 |
} |
124 | 132 |
|
125 | 133 |
// initialize and invert order of nodes in list |
... | ... | |
150 | 158 |
*/ |
151 | 159 |
public List<TaxonNode> loadChildNodesOfTaxonNode(TaxonNode taxonNode, |
152 | 160 |
List<String> propertyPaths) { |
161 |
taxonNode = taxonNodeDao.load(taxonNode.getUuid()); |
|
153 | 162 |
List<TaxonNode> childNodes = new ArrayList<TaxonNode>(taxonNode.getChildNodes()); |
154 |
Collections.sort(childNodes, taxonNodeComparator); |
|
155 | 163 |
defaultBeanInitializer.initializeAll(childNodes, propertyPaths); |
164 |
Collections.sort(childNodes, taxonNodeComparator); |
|
156 | 165 |
return childNodes; |
157 | 166 |
} |
158 | 167 |
|
... | ... | |
299 | 308 |
taxonMedia.add(media); |
300 | 309 |
|
301 | 310 |
//find the best matching representation |
302 |
mediaRepresentations.add(media.findBestMatchingRepresentation(size, height, widthOrDuration, mimeTypes));
|
|
311 |
mediaRepresentations.add(MediaUtils.findBestMatchingRepresentation(media,size, height, widthOrDuration, mimeTypes));
|
|
303 | 312 |
|
304 | 313 |
} |
305 | 314 |
} |
Also available in: Unified diff
merging /branches/cdmlib/SPRINT-Chichorieae1/ to trunk