Project

General

Profile

« Previous | Next » 

Revision 40d48f6f

Added by Katja Luther over 3 years ago

ref #9356: hotfix solution

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/TypeDesignationSection.java
25 25
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
26 26
import eu.etaxonomy.cdm.api.service.INameService;
27 27
import eu.etaxonomy.cdm.api.service.UpdateResult;
28
import eu.etaxonomy.cdm.api.service.name.TypeDesignationComparator;
28
import eu.etaxonomy.cdm.api.service.name.TypeDesignationStatusComparator;
29 29
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
30 30
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
31 31
import eu.etaxonomy.cdm.model.name.Rank;
......
164 164

  
165 165
	@Override
166 166
	public Comparator<TypeDesignationBase> getComparator() {
167
        return new TypeDesignationComparator();
167
        return new Comparator<TypeDesignationBase>(){
168

  
169
            //TODO: this is only a workaround to avoid a cdmlib hotfix this needs to be reverted for next release!!
170
            private TypeDesignationStatusComparator statusComparator = new TypeDesignationStatusComparator();
171

  
172
            @SuppressWarnings("unchecked")
173
            @Override
174
            public int compare(TypeDesignationBase o1, TypeDesignationBase o2) {
175

  
176
                if (o1 == null && o2 == null){
177
                    return 0;
178
                }
179
                if(o1==null){
180
                    return 1;
181
                }
182
                if(o2==null){
183
                    return -1;
184
                }
185
                int result = 0;
186
                if(o1.getTypeStatus()==null ){
187
                    if (o2.getTypeStatus() != null){
188
                        return 1;
189
                    }
190
                }
191
                if (o2.getTypeStatus() == null){
192
                    return -1;
193
                }
194
                if(result == 0 && (o1.getTypeStatus() == null || o2.getTypeStatus() == null)){
195
                    return o1.getUuid().compareTo(o2.getUuid());
196
                }
197
                return statusComparator.compare(o1.getTypeStatus(), o2.getTypeStatus()) ;
198
            }
199
        };
168 200
	}
169 201

  
170 202
	@Override

Also available in: Unified diff