import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
}
updateControls();
}
+
+ }
+
+ @Override
+ public void refresh(){
+ Language lang = combo_language.getSelection();
+ if (multilanguageText.get(lang)!= null){
+ this.element_languageString.setText(multilanguageText.get(combo_language.getSelection()).getText());
+ }else{
+ this.element_languageString.setText(null);
+ }
}
/**
if (eventSource == element_languageString) {
LanguageString languageString = ((LanguageStringWithLabelElement) eventSource)
.getLanguageString();
+ if (multilanguageText == null){
+ multilanguageText = new HashMap<>();
+ }
multilanguageText.put(languageString.getLanguage(), languageString);
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, event));
}
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
// private CheckboxElement checkbox_placementDoubtful;
private MultilanguageTextElement multiLanguageTextStatusNotes;
+ private Map<Language, LanguageString> multilanguageTextCache;
private boolean complete;
public boolean isExcluded() {
+ if (status == null){
+ return false;
+ }
return status.equals(TaxonNodeStatus.EXCLUDED);
}
public boolean isUnplaced() {
+ if (status == null){
+ return false;
+ }
return status.equals(TaxonNodeStatus.UNPLACED);
}
public boolean isPlacementDoubtful() {
+ if (status == null){
+ return false;
+ }
return status.equals(TaxonNodeStatus.DOUBTFUL);
}
checkbox_publish.setEnabled(isCreateNew());
combo_status = formFactory.createEnumComboElement(TaxonNodeStatus.class, formElement, style, true);
- combo_status.setSelection(entity.getStatus());
+ if (!isCreateNew()){
+ combo_status.setSelection(entity.getStatus());
+ }
if(isCreateNew()){
}
- multiLanguageTextStatusNotes = formFactory.createMultiLanguageTextElement(formElement, "Status Notes", entity.getStatusNote(), 50, style);
- multiLanguageTextStatusNotes.setEnabled(entity.getStatus() != null);
+ multiLanguageTextStatusNotes = formFactory.createMultiLanguageTextElement(formElement, "Status Notes", null, 50, style);
+ if (!isCreateNew()){
+ multiLanguageTextStatusNotes.setMultilanguageText(entity.getStatusNote());
+ multiLanguageTextStatusNotes.setEnabled(entity.getStatus() != null);
+ }
+
if (!isCreateNew()){
selectionNodeAgentRelation = formFactory.createTaxonNodeAgentRelationCollectionSection(formElement, getConversationHolder(), StoreUtil.getSectionStyle(TaxonNodeAgentRelationCollectionSection.class, entity.getClass().getCanonicalName()));
status = (TaxonNodeStatus) combo_status.getSelection();
if (!isCreateNew()){
getEntity().setStatus(status);
+ if (status == null){
+ getEntity().getStatusNote().clear();
+ multiLanguageTextStatusNotes.setMultilanguageText(new HashMap<>());
+ multiLanguageTextStatusNotes.refresh();
+ }else{
+ if (multiLanguageTextStatusNotes.getMultilanguageText() != null){
+ for (LanguageString lang:multiLanguageTextStatusNotes.getMultilanguageText().values()){
+ getEntity().putStatusNote(lang);
+ }
+ }
+ }
}
+ if (status == null){
+ if (multiLanguageTextStatusNotes.getMultilanguageText() != null && !multiLanguageTextStatusNotes.getMultilanguageText().isEmpty()){
+ multilanguageTextCache = multiLanguageTextStatusNotes.getMultilanguageText();
+ }
+ multiLanguageTextStatusNotes.setMultilanguageText(new HashMap<>());
+ multiLanguageTextStatusNotes.refresh();
+
+ }else if (multilanguageTextCache != null ){
+ multiLanguageTextStatusNotes.setMultilanguageText(multilanguageTextCache);
+ multilanguageTextCache = null;
+ }
multiLanguageTextStatusNotes.setEnabled(status != null);
+
complete = true;
}