Project

General

Profile

« Previous | Next » 

Revision 1925e9f2

Added by Andreas Müller over 7 years ago

ref #5974 Fix synonymRelationship issues in vaadin

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/container/LeafNodeTaxonContainer.java
73 73
     */
74 74
    public LeafNodeTaxonContainer(int classificationId) throws SQLException {
75 75
        super(CdmQueryFactory.generateTaxonBaseQuery(NAME_ID, PB_ID, UNP_ID, RANK_ID, HAS_SYN_ID));
76
        this.synonymContainer = new CdmSQLContainer(CdmQueryFactory.generateSynonymofTaxonQuery(NAME_ID));
76
        this.synonymContainer = new CdmSQLContainer(CdmQueryFactory.generateSynonymOfTaxonQuery(NAME_ID));
77 77
        this.synonymContainer.sort(new String[]{NAME_ID}, new boolean[]{true});
78 78
        this.classificationId = classificationId;
79 79
        taxonSynonymMap = new HashMap<>();
......
94 94
        int saoIndex = Rank.SPECIESAGGREGATE().getOrderIndex();
95 95
        rankFilter = new Compare.GreaterOrEqual("dtb.orderindex", saoIndex);
96 96

  
97
        synonymFilter = new Not(new IsNull("syn.acceptedTaxon_id"));
97
        synonymFilter = new Not(new IsNull("acc.id"));
98 98

  
99 99
        currentFilters = new HashSet<>();
100 100
    }
......
203 203
    }
204 204

  
205 205
    public boolean isSynonym(Object itemId) {
206
        Property hasSynProperty = getItem(itemId).getItemProperty(HAS_SYN_ID);
206
        Property<?> hasSynProperty = getItem(itemId).getItemProperty(HAS_SYN_ID);
207 207
        return hasSynProperty == null;
208 208
    }
209 209

  
......
220 220
    }
221 221

  
222 222
    private List<Object> addToSynonymCache(Object taxonItemId) {
223
        Filter synonymOfTaxonFilter = new Compare.Equal("syn.acceptedTaxon_id", Integer.valueOf(taxonItemId.toString()));
223
        Filter synonymOfTaxonFilter = new Compare.Equal("acc.id", Integer.valueOf(taxonItemId.toString()));
224 224
        synonymContainer.addContainerFilter(synonymOfTaxonFilter);
225
        List<Object> synList = new ArrayList<Object>();
225
        List<Object> synList = new ArrayList<>();
226 226
        synList.addAll(synonymContainer.getItemIds());
227 227
        for(Object synItemId : synList) {
228 228
            addSynItem((RowItem) synonymContainer.getItem(synItemId));

Also available in: Unified diff