Revision 0d7a94de
Added by Andreas Kohlbecker about 4 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/container/TaxonNodeContainer.java | ||
---|---|---|
7 | 7 |
import com.vaadin.data.Item; |
8 | 8 |
import com.vaadin.data.util.HierarchicalContainer; |
9 | 9 |
|
10 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
|
11 |
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache; |
|
10 |
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto; |
|
12 | 11 |
import eu.etaxonomy.cdm.vaadin.util.CdmSpringContextHelper; |
13 | 12 |
|
14 | 13 |
public class TaxonNodeContainer extends HierarchicalContainer { |
... | ... | |
17 | 16 |
|
18 | 17 |
public static final String LABEL = "titleCache"; |
19 | 18 |
|
20 |
private Map<Object, Object> itemCache = new HashMap<>();
|
|
19 |
private Map<Integer, Boolean> itemCache = new HashMap<>();
|
|
21 | 20 |
|
22 | 21 |
/** |
23 | 22 |
* Creates a new taxon node container |
24 | 23 |
* @param roots the root elements of the table |
25 | 24 |
*/ |
26 |
public TaxonNodeContainer(Collection<UuidAndTitleCache<TaxonNode>> roots) {
|
|
25 |
public TaxonNodeContainer(Collection<TaxonNodeDto> roots) {
|
|
27 | 26 |
addContainerProperty(LABEL, String.class, "[no taxon]"); |
28 |
for (UuidAndTitleCache<TaxonNode> root: roots) {
|
|
27 |
for (TaxonNodeDto root: roots) {
|
|
29 | 28 |
addItem(root); |
30 | 29 |
addChildItems(root); |
31 | 30 |
} |
... | ... | |
36 | 35 |
*/ |
37 | 36 |
@Override |
38 | 37 |
public Item addItem(Object itemId) { |
39 |
if(itemId instanceof UuidAndTitleCache){
|
|
40 |
UuidAndTitleCache<TaxonNode> uuidAndTitleCache = (UuidAndTitleCache<TaxonNode>) itemId;
|
|
38 |
if(itemId instanceof TaxonNodeDto){
|
|
39 |
TaxonNodeDto dto = (TaxonNodeDto) itemId;
|
|
41 | 40 |
Item item = super.addItem(itemId); |
42 |
item.getItemProperty(TaxonNodeContainer.LABEL).setValue(uuidAndTitleCache.getTitleCache());
|
|
43 |
itemCache.put(((UuidAndTitleCache<TaxonNode>) itemId).getId(), false);
|
|
41 |
item.getItemProperty(TaxonNodeContainer.LABEL).setValue(dto.getTitleCache());
|
|
42 |
itemCache.put(((TaxonNodeDto) itemId).getId(), false);
|
|
44 | 43 |
return item; |
45 | 44 |
} |
46 | 45 |
return null; |
... | ... | |
49 | 48 |
/** |
50 | 49 |
* @param parent |
51 | 50 |
*/ |
52 |
public void addChildItems(UuidAndTitleCache<TaxonNode> parent) {
|
|
51 |
public void addChildItems(TaxonNodeDto parent) {
|
|
53 | 52 |
if(itemCache.get(parent.getId()).equals(Boolean.FALSE)){ |
54 |
Collection<UuidAndTitleCache<TaxonNode>> children = CdmSpringContextHelper.getTaxonNodeService().listChildNodesAsUuidAndTitleCache(parent);
|
|
53 |
Collection<TaxonNodeDto> children = CdmSpringContextHelper.getTaxonNodeService().listChildNodesAsTaxonNodeDto(parent);
|
|
55 | 54 |
setChildrenAllowed(parent, !children.isEmpty()); |
56 |
for (UuidAndTitleCache<TaxonNode> child : children) {
|
|
55 |
for (TaxonNodeDto child : children) {
|
|
57 | 56 |
Item childItem = addItem(child); |
58 | 57 |
if(childItem!=null){ |
59 | 58 |
setParent(child, parent); |
Also available in: Unified diff
ref #8834 UuidAndtitleCache replaced by TaxonNodeDto