Project

General

Profile

« Previous | Next » 

Revision b7797c35

Added by Katja Luther almost 4 years ago

ref #9033: handling of status notes

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java
11 11

  
12 12
import java.util.ArrayList;
13 13
import java.util.Collection;
14
import java.util.HashMap;
14 15
import java.util.Map;
15 16

  
16 17
import org.apache.commons.lang.StringUtils;
......
83 84
//	private CheckboxElement checkbox_placementDoubtful;
84 85

  
85 86
    private MultilanguageTextElement multiLanguageTextStatusNotes;
87
    private Map<Language, LanguageString> multilanguageTextCache;
86 88

  
87 89

  
88 90
	private boolean complete;
......
103 105

  
104 106

  
105 107
    public boolean isExcluded() {
108
        if (status == null){
109
            return false;
110
        }
106 111
        return status.equals(TaxonNodeStatus.EXCLUDED);
107 112
    }
108 113

  
109 114

  
110 115

  
111 116
    public boolean isUnplaced() {
117
        if (status == null){
118
            return false;
119
        }
112 120
        return status.equals(TaxonNodeStatus.UNPLACED);
113 121
    }
114 122

  
115 123

  
116 124

  
117 125
    public boolean isPlacementDoubtful() {
126
        if (status == null){
127
            return false;
128
        }
118 129
        return status.equals(TaxonNodeStatus.DOUBTFUL);
119 130
    }
120 131

  
......
222 233
        checkbox_publish.setEnabled(isCreateNew());
223 234

  
224 235
        combo_status = formFactory.createEnumComboElement(TaxonNodeStatus.class, formElement, style, true);
225
        combo_status.setSelection(entity.getStatus());
236
        if (!isCreateNew()){
237
            combo_status.setSelection(entity.getStatus());
238
        }
226 239

  
227 240
        if(isCreateNew()){
228 241

  
......
251 264
		}
252 265

  
253 266

  
254
	    multiLanguageTextStatusNotes = formFactory.createMultiLanguageTextElement(formElement, "Status Notes", entity.getStatusNote(), 50, style);
255
	    multiLanguageTextStatusNotes.setEnabled(entity.getStatus() != null);
267
	    multiLanguageTextStatusNotes = formFactory.createMultiLanguageTextElement(formElement, "Status Notes", null, 50, style);
268
	    if (!isCreateNew()){
269
	        multiLanguageTextStatusNotes.setMultilanguageText(entity.getStatusNote());
270
	        multiLanguageTextStatusNotes.setEnabled(entity.getStatus() != null);
271
	    }
272

  
256 273

  
257 274
		if (!isCreateNew()){
258 275
		    selectionNodeAgentRelation = formFactory.createTaxonNodeAgentRelationCollectionSection(formElement, getConversationHolder(), StoreUtil.getSectionStyle(TaxonNodeAgentRelationCollectionSection.class, entity.getClass().getCanonicalName()));
......
354 371
            status = (TaxonNodeStatus) combo_status.getSelection();
355 372
            if (!isCreateNew()){
356 373
                getEntity().setStatus(status);
374
                if (status == null){
375
                    getEntity().getStatusNote().clear();
376
                    multiLanguageTextStatusNotes.setMultilanguageText(new HashMap<>());
377
                    multiLanguageTextStatusNotes.refresh();
378
                }else{
379
                    if (multiLanguageTextStatusNotes.getMultilanguageText() != null){
380
                        for (LanguageString lang:multiLanguageTextStatusNotes.getMultilanguageText().values()){
381
                            getEntity().putStatusNote(lang);
382
                        }
383
                    }
384
                }
357 385
            }
358 386

  
387
            if (status == null){
388
                if (multiLanguageTextStatusNotes.getMultilanguageText() != null && !multiLanguageTextStatusNotes.getMultilanguageText().isEmpty()){
389
                    multilanguageTextCache = multiLanguageTextStatusNotes.getMultilanguageText();
390
                }
391
                multiLanguageTextStatusNotes.setMultilanguageText(new HashMap<>());
392
                multiLanguageTextStatusNotes.refresh();
393

  
394
            }else if (multilanguageTextCache != null ){
395
                multiLanguageTextStatusNotes.setMultilanguageText(multilanguageTextCache);
396
                multilanguageTextCache = null;
397
            }
359 398
            multiLanguageTextStatusNotes.setEnabled(status != null);
399

  
360 400
            complete = true;
361 401
        }
362 402

  

Also available in: Unified diff