Revision f13ee832
Added by Katja Luther over 2 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/handler/ChangeSynonymToAcceptedTaxonHandlerE4.java | ||
---|---|---|
119 | 119 |
//compare parentSec and synSec and ask for handling. |
120 | 120 |
SecReferenceHandlingEnum secHandling = PreferencesUtil.getSecReferenceHandlingPreference(); |
121 | 121 |
UUID newSecUuid = null; |
122 |
if (((synSecRef != parentSecRef || secRefs.size()>1) && secHandling.equals(SecReferenceHandlingEnum.KeepWhenSame) )|| secHandling.equals(SecReferenceHandlingEnum.WarningSelect)){ |
|
122 |
if (((synSecRef != parentSecRef || secRefs.size()>1) && (secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect) || secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn)))|| secHandling.equals(SecReferenceHandlingEnum.AlwaysSelect)){ |
|
123 |
|
|
124 |
if (secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect) || secHandling.equals(SecReferenceHandlingEnum.AlwaysSelect)){ |
|
125 |
String message = null; |
|
126 |
String[] options = null; |
|
127 |
if (secHandling.equals(SecReferenceHandlingEnum.AlwaysSelect) && synSecRef == parentSecRef){ |
|
128 |
message = Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Handling_message_always_select; |
|
129 |
options = new String[]{Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Keep, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Select}; |
|
130 |
}else { |
|
131 |
message = Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Handling_message; |
|
132 |
options = new String[]{Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Keep, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Select, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Parent, }; |
|
133 |
} |
|
134 |
int result = MessagingUtils.confirmDialog(Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Handling_title, message, options); |
|
123 | 135 |
|
124 |
if ((parentSecRef != synSecRef && secHandling.equals(SecReferenceHandlingEnum.KeepWhenSame) )|| secHandling.equals(SecReferenceHandlingEnum.WarningSelect)){ |
|
125 |
int result = MessagingUtils.confirmDialog(Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Handling_title, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Handling_message, |
|
126 |
new String[]{Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Keep, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Parent, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Select}); |
|
136 |
// int result = MessagingUtils.confirmDialog(Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Handling_title, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Handling_message, |
|
137 |
// new String[]{Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Keep, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Parent, Messages.ChangeSynonymToAcceptedHandler_Select_Sec_Reference_Select}); |
|
127 | 138 |
if (result == 2){ |
128 |
Reference sec = ReferenceSelectionDialog.select(shell, null); |
|
129 |
newSecUuid = sec != null? sec.getUuid(): null; |
|
130 |
}else if (result == 1){ |
|
131 | 139 |
newSecUuid = parentSecRef != null? parentSecRef.getUuid(): null; |
140 |
}else if (result == 1){ |
|
141 |
Reference sec = ReferenceSelectionDialog.select(shell, null); |
|
142 |
newSecUuid = sec != null? sec.getUuid(): null; |
|
132 | 143 |
}else if (result == 0){ |
133 |
newSecUuid = null; |
|
134 |
secHandling = SecReferenceHandlingEnum.KeepAlways; |
|
144 |
secHandling = SecReferenceHandlingEnum.KeepOrWarn; |
|
135 | 145 |
}else{ |
136 | 146 |
return ; |
137 | 147 |
} |
138 | 148 |
|
139 |
} |
|
149 |
}else if (parentSecRef != synSecRef && secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn)){ |
|
150 |
MessagingUtils.warningDialog(Messages.SecundumReference,this, Messages.ChangeSynonymToAcceptedHandler_Different_Secundum_references); |
|
140 | 151 |
|
152 |
} |
|
141 | 153 |
} |
142 | 154 |
if (synonym.isPublish() != newParentNode.getTaxon().isPublish()){ |
143 | 155 |
MessagingUtils.warningDialog("Publish flag",this, Messages.ChangeSynonymToAcceptedHandler_Different_Publish_Flag); |
Also available in: Unified diff
ref #9340, #9734, #9668: further improvements for configurable sec handling during taxon(base) operations