Project

General

Profile

« Previous | Next » 

Revision f13ee832

Added by Katja Luther over 2 years ago

ref #9340, #9734, #9668: further improvements for configurable sec handling during taxon(base) operations

View differences:

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