Revision b7797c35
Added by Katja Luther almost 4 years ago
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
ref #9033: handling of status notes