}else if (result == 1){
newSecUuid = newTaxonUuid;
}else if (result == 0){
- secHandling = SecReferenceHandlingEnum.UseNewParentSec;
+ secHandling = SecReferenceHandlingEnum.KeepAlways;
}else{
return null;
}
UUID oldSecUuid = secUuids.iterator().next();
- if ((secUuids.size() > 0 && newTaxonUuid != oldSecUuid && secHandling.equals(SecReferenceHandlingEnum.KeepWhenSame) )|| secHandling.equals(SecReferenceHandlingEnum.WarningSelect)){
+ boolean equalSec = newTaxonUuid.equals(oldSecUuid);
+ if ((secUuids.size() > 0 &&
+ ((newTaxonUuid != null && oldSecUuid != null && !newTaxonUuid.equals(oldSecUuid))
+ || (newTaxonUuid != null && oldSecUuid == null) ||(newTaxonUuid == null && oldSecUuid != null))
+ && secHandling.equals(SecReferenceHandlingEnum.KeepWhenSame) )|| secHandling.equals(SecReferenceHandlingEnum.WarningSelect)){
int result = MessagingUtils.confirmDialog(Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_title, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_message,
new String[]{Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Keep, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Parent, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Select});
if (result == 2){
}else if (result == 1){
newSecUuid = newTaxonUuid;
}else if (result == 0){
- newSecUuid = oldSecUuid;
+ secHandling = SecReferenceHandlingEnum.KeepAlways;
+
}else{
return null;
}