// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataprofiler.core.ui.imex.action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; import org.talend.dataprofiler.core.CorePlugin; import org.talend.dataprofiler.core.ImageLib; import org.talend.dataprofiler.core.i18n.internal.DefaultMessagesImpl; import org.talend.dataprofiler.core.ui.editor.CommonFormEditor; import org.talend.dataprofiler.core.ui.imex.ImportWizard; import org.talend.dataprofiler.core.ui.utils.MessageUI; import org.talend.repository.ui.actions.AContextualAction; /** * DOC bZhou class global comment. Detailled comment */ public class ImportItemAction extends AContextualAction implements IWorkbenchWindowActionDelegate { public ImportItemAction() { setText(DefaultMessagesImpl.getString("ImportItemAction.importItems")); //$NON-NLS-1$ setImageDescriptor(ImageLib.getImageDescriptor(ImageLib.IMPORT)); } /* * (non-Javadoc) * * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose() */ public void dispose() { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow) */ public void init(IWorkbenchWindow window) { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ public void run(IAction action) { IWorkbenchPage activePage = CorePlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage(); // TDQ-10715: only close the DQ editors before import items except the sql editor and text editor. IEditorPart[] editors = activePage.getEditors(); for (IEditorPart editor : editors) { if (editor instanceof CommonFormEditor) { boolean isSaved = activePage.closeEditor(editor, true); if (!isSaved) { MessageUI.openWarning(DefaultMessagesImpl.getString("ImportItemAction.closeEditors")); //$NON-NLS-1$ return; } } } // TDQ-10715~ ImportWizard wizard = new ImportWizard(); WizardDialog dialog = new WizardDialog(null, wizard); dialog.setPageSize(550, 500); dialog.open(); } /* * (non-Javadoc) * * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, * org.eclipse.jface.viewers.ISelection) */ public void selectionChanged(IAction action, ISelection selection) { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.talend.commons.ui.swt.actions.ITreeContextualAction#init(org.eclipse.jface.viewers.TreeViewer, * org.eclipse.jface.viewers.IStructuredSelection) */ public void init(TreeViewer viewer, IStructuredSelection selection) { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.talend.repository.ui.actions.AContextualAction#doRun() */ @Override protected void doRun() { run(this); } }