import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.handlers.HandlerUtil;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
+import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionDialog;
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
- IWorkbenchPart activePart = AbstractUtility.getActivePart();
+ Object activePart = AbstractUtility.getActiveE4Part();
TaxonNavigator navigator = null;
if(activePart instanceof TaxonNavigator){
navigator = (TaxonNavigator)activePart;
TaxonNode taxonNode = HibernateProxyHelper.deproxy(object, TaxonNode.class);
final TaxonNode sourceTaxonNode = CdmStore.getService(ITaxonNodeService.class).load(taxonNode.getUuid());
if(NavigationUtil.isDirty(sourceTaxonNode)){
- MessageDialog.openWarning(HandlerUtil.getActiveShell(event), "Unsaved Source Taxon", "There are unsaved " +
- "changes in the source taxon. Please save first.");
+ MessageDialog.openWarning(HandlerUtil.getActiveShell(event), Messages.MoveFactualDataHandler_UNSAVED_SOURCE, Messages.MoveFactualDataHandler_UNSAVED_SOURCE_MESSAGE);
return null;
}
//reload to avoid session conflicts
excludeTaxa.add(taxon.getUuid());
TaxonNode dialogTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event),
navigator.getConversationHolder(),
- "Choose the accepted taxon",
+ Messages.MoveFactualDataHandler_CHOOSE_TAXON,
excludeTaxa,
- null,
- null);
+ sourceTaxonNode,
+ sourceTaxonNode.getClassification());
if (dialogTaxonNode == null) {
return null;
}
//reload to avoid session conflicts
final TaxonNode targetTaxonNode = CdmStore.getService(ITaxonNodeService.class).load(dialogTaxonNode.getUuid());
if(NavigationUtil.isDirty(targetTaxonNode)){
- MessageDialog.openWarning(HandlerUtil.getActiveShell(event), "Unsaved Target Taxon", "There are unsaved " +
- "changes in the target taxon. Please save first.");
+ MessageDialog.openWarning(HandlerUtil.getActiveShell(event), Messages.MoveFactualDataHandler_UNSAVED_TARGET, Messages.MoveFactualDataHandler_UNSAVED_TARGET_MESSAGE);
return null;
}
CdmStore.getService(IDescriptionService.class).moveTaxonDescriptions(taxon.getUuid(),targetTaxonNode.getTaxon().getUuid());
AbstractUtility.close(sourceEditor);
AbstractUtility.close(targetEditor);
}
- EditorUtil.openTaxonNode(sourceTaxonNode.getUuid());
- EditorUtil.openTaxonNode(targetTaxonNode.getUuid());
+ EditorUtil.openTaxonNodeE4(sourceTaxonNode.getUuid());
+ EditorUtil.openTaxonNodeE4(targetTaxonNode.getUuid());
} catch (PartInitException e) {
MessagingUtils.error(this.getClass(), e);
throw new RuntimeException(e);
} catch (Exception e) {
- MessagingUtils.warningDialog("Could not create Taxon", this, e.getMessage());
+ MessagingUtils.warningDialog(Messages.MoveFactualDataHandler_CREATE_FAILED, this, e.getMessage());
}
}