Project

General

Profile

« Previous | Next » 

Revision 5f031b4f

Added by Patrick Plitzner over 7 years ago

ref #5458 Error handling for abbreviated labels

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/util/CdmQueryFactory.java
22 22
import com.vaadin.data.util.sqlcontainer.query.QueryDelegate;
23 23

  
24 24
import eu.etaxonomy.cdm.model.common.Language;
25
import eu.etaxonomy.cdm.model.common.Representation;
25 26
import eu.etaxonomy.cdm.model.location.NamedArea;
26 27
import eu.etaxonomy.cdm.vaadin.statement.CdmStatementDelegate;
27 28

  
......
97 98
        		"rank.titleCache AS "+RANK_COLUMN+", ";
98 99

  
99 100
        for(NamedArea namedArea : namedAreas){
100
            String label;
101
            if(abbreviatedLabels){
102
                label = namedArea.getRepresentation(Language.DEFAULT()).getAbbreviatedLabel();
101
            String label = null;
102
            Representation representation = namedArea.getRepresentation(Language.DEFAULT());
103
            if(representation!=null){
104
            	if(abbreviatedLabels){
105
            		label = representation.getAbbreviatedLabel();
106
            	}
107
            	else{
108
            		label = representation.getLabel();
109
            	}
103 110
            }
104
            else{
105
                label = namedArea.getTitleCache();
111
            if(label==null){
112
            	label = namedArea.getTitleCache();
106 113
            }
107
            SELECT_QUERY += "MAX( IF(area.titleCache = '"+ label +"', statusTerm.titleCache, NULL) ) as '"+ label +"'," ;
114
            SELECT_QUERY += "MAX( IF(area.titleCache = '"+ namedArea.getTitleCache() +"', statusTerm.titleCache, NULL) ) as '"+ label +"'," ;
108 115
        }
109 116
        SELECT_QUERY = StringUtils.stripEnd(SELECT_QUERY, ",")+" ";
110 117
        SELECT_QUERY= SELECT_QUERY + FROM_QUERY + GROUP_BY + ORDER_BY;

Also available in: Unified diff