Search in sources :

Example 1 with MultiPageTalendEditor

use of org.talend.designer.core.ui.MultiPageTalendEditor in project tdi-studio-se by Talend.

the class ShowDesignerPageAction method run.

@Override
public void run() {
    IWorkbench workbench = PlatformUI.getWorkbench();
    IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
    IEditorPart editorPart = page.getActiveEditor();
    if (editorPart instanceof MultiPageTalendEditor) {
        ((MultiPageTalendEditor) editorPart).showDesignerPage();
    }
}
Also used : IWorkbench(org.eclipse.ui.IWorkbench) MultiPageTalendEditor(org.talend.designer.core.ui.MultiPageTalendEditor) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) IEditorPart(org.eclipse.ui.IEditorPart)

Example 2 with MultiPageTalendEditor

use of org.talend.designer.core.ui.MultiPageTalendEditor in project tdi-studio-se by Talend.

the class ShowEditorPageAction method run.

@Override
public void run() {
    IWorkbench workbench = PlatformUI.getWorkbench();
    IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage();
    IEditorPart editorPart = page.getActiveEditor();
    if (editorPart instanceof MultiPageTalendEditor) {
        ((MultiPageTalendEditor) editorPart).showCodePage();
    }
}
Also used : IWorkbench(org.eclipse.ui.IWorkbench) MultiPageTalendEditor(org.talend.designer.core.ui.MultiPageTalendEditor) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) IEditorPart(org.eclipse.ui.IEditorPart)

Example 3 with MultiPageTalendEditor

use of org.talend.designer.core.ui.MultiPageTalendEditor in project tdi-studio-se by Talend.

the class SaveJobBeforeRunAction method run.

public void run() {
    boolean saveMyself = false;
    List<? extends INode> nodes = filterTRunJobNode();
    if (nodes.isEmpty()) {
        return;
    }
    IEditorReference[] references = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
    for (int i = 0; i < references.length; i++) {
        IEditorPart part = references[i].getEditor(false);
        if (!(part instanceof MultiPageTalendEditor)) {
            continue;
        }
        MultiPageTalendEditor editor = (MultiPageTalendEditor) part;
        saveJob(nodes, editor);
    }
}
Also used : IEditorReference(org.eclipse.ui.IEditorReference) MultiPageTalendEditor(org.talend.designer.core.ui.MultiPageTalendEditor) IEditorPart(org.eclipse.ui.IEditorPart)

Example 4 with MultiPageTalendEditor

use of org.talend.designer.core.ui.MultiPageTalendEditor in project tdi-studio-se by Talend.

the class AbstractPreferenceComposite method addButtonListeners.

private void addButtonListeners() {
    reloadBtn.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            onReloadButtonClick();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });
    saveBtn.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            onSaveButtonClick();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }
    });
    if (hasRunJobNode(false) && needApplyToChildren()) {
        applyToChildrenJob.addSelectionListener(new SelectionListener() {

            /*
                 * (non-Javadoc)
                 * 
                 * @see
                 * org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
                 */
            @Override
            public void widgetDefaultSelected(SelectionEvent e) {
            }

            /*
                 * (non-Javadoc)
                 * 
                 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                 */
            @Override
            public void widgetSelected(SelectionEvent e) {
                // zli for bug 12335
                final ProgressDialog progress = new ProgressDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()) {

                    @Override
                    public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                        IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
                        IEditorReference[] editorReferences = activePage.getEditorReferences();
                        CorePlugin defaultPlugin = CorePlugin.getDefault();
                        IDesignerCoreService designerCoreService = defaultPlugin.getDesignerCoreService();
                        List<IProcess2> openedProcessList = designerCoreService.getOpenedProcess(RepositoryUpdateManager.getEditors());
                        List<String> activeProcessId = new ArrayList<String>();
                        for (IProcess process : openedProcessList) {
                            activeProcessId.add(process.getId());
                        }
                        final int rate = 1 / openedProcessList.size() - activeProcessId.size();
                        for (INode runjobNode : tRunJobNodes) {
                            String id = (String) runjobNode.getElementParameter(EParameterName.PROCESS_TYPE_PROCESS.getName()).getValue();
                            String version = (String) runjobNode.getElementParameter(EParameterName.PROCESS_TYPE_VERSION.getName()).getValue();
                            if ("".equals(id) || id == null) {
                                //$NON-NLS-1$
                                MessageDialog.openWarning(getShell(), //$NON-NLS-1$
                                Messages.getString("AbstractPreferenceComposite.warning", runjobNode.getUniqueName()), Messages.getString("AbstractPreferenceComposite.jobAssigned", //$NON-NLS-1$
                                runjobNode.getUniqueName()));
                                return;
                            }
                            if (activeProcessId.contains(id)) {
                                IEditorPart activeEditorPart = activePage.getActiveEditor();
                                for (IEditorReference editorReference : editorReferences) {
                                    IEditorPart editorPart = editorReference.getEditor(false);
                                    if ((editorPart != activeEditorPart) && (editorPart instanceof MultiPageTalendEditor)) {
                                        IElement element = ((MultiPageTalendEditor) editorPart).getProcess();
                                        StatsAndLogsViewHelper.applySettings(elem, element, AbstractPreferenceComposite.this);
                                    }
                                }
                            } else {
                                try {
                                    SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1 * UpdatesConstants.SCALE, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
                                    subMonitor.beginTask(UpdatesConstants.EMPTY, 1 * rate);
                                    IRepositoryViewObject lastVersion = DesignerPlugin.getDefault().getProxyRepositoryFactory().getLastVersion(id);
                                    if (lastVersion != null) {
                                        Item item = lastVersion.getProperty().getItem();
                                        IProcess processFromItem = designerCoreService.getProcessFromItem(item);
                                        if (processFromItem instanceof Process) {
                                            Process process = (Process) processFromItem;
                                            StatsAndLogsViewHelper.applySettings(elem, process, AbstractPreferenceComposite.this);
                                            IProxyRepositoryFactory factory = defaultPlugin.getProxyRepositoryFactory();
                                            Property property = factory.getUptodateProperty(process.getProperty());
                                            process.setProperty(property);
                                            subMonitor.subTask(RepositoryUpdateManager.getUpdateJobInfor(process.getProperty()));
                                            ProcessType processType = process.saveXmlFile();
                                            Item item2 = process.getProperty().getItem();
                                            if (item2 instanceof JobletProcessItem) {
                                                ((JobletProcessItem) item2).setJobletProcess((JobletProcess) processType);
                                            } else {
                                                ((ProcessItem) item2).setProcess(processType);
                                            }
                                            factory.save(item2);
                                            subMonitor.done();
                                        }
                                    }
                                } catch (PersistenceException e1) {
                                    e1.printStackTrace();
                                } catch (IOException e2) {
                                    e2.printStackTrace();
                                }
                            }
                            applySettingsToSubJob(id, version);
                        }
                    }
                };
                try {
                    progress.executeProcess();
                } catch (InvocationTargetException e1) {
                    e1.printStackTrace();
                } catch (InterruptedException e1) {
                    e1.printStackTrace();
                }
            }

            /**
                 * yzhang Comment method "applySettingsToSubJob".
                 * 
                 * @param id
                 * @param version
                 */
            private void applySettingsToSubJob(String id, String version) {
                final ProcessItem processItem = ItemCacheManager.getProcessItem(id, version);
                if (processItem == null) {
                    return;
                }
                ProcessType processType = processItem.getProcess();
                EList<ElementParameterType> parameters = processType.getParameters().getElementParameter();
                StatsAndLogsViewHelper.applySettings(parameters, elem);
                List<NodeType> nodes = findRunJobNode(processType.getNode());
                for (NodeType nodeType : nodes) {
                    EList<ElementParameterType> list = nodeType.getElementParameter();
                    ElementParameterType idParam = getElementParameterType(list, //$NON-NLS-1$
                    PROCESS + ":" + EParameterName.PROCESS_TYPE_PROCESS.getName());
                    ElementParameterType versionParam = getElementParameterType(list, //$NON-NLS-1$
                    PROCESS + ":" + EParameterName.PROCESS_TYPE_VERSION.getName());
                    String subId = idParam.getValue();
                    String subVersion = versionParam.getValue();
                    applySettingsToSubJob(subId, subVersion);
                }
            }
        });
    }
}
Also used : INode(org.talend.core.model.process.INode) MultiPageTalendEditor(org.talend.designer.core.ui.MultiPageTalendEditor) IProcess(org.talend.core.model.process.IProcess) Process(org.talend.designer.core.ui.editor.process.Process) JobletProcess(org.talend.designer.joblet.model.JobletProcess) ProgressDialog(org.talend.commons.ui.swt.dialogs.ProgressDialog) JobletProcess(org.talend.designer.joblet.model.JobletProcess) Item(org.talend.core.model.properties.Item) JobletProcessItem(org.talend.core.model.properties.JobletProcessItem) ConnectionItem(org.talend.core.model.properties.ConnectionItem) ProcessItem(org.talend.core.model.properties.ProcessItem) ProcessType(org.talend.designer.core.model.utils.emf.talendfile.ProcessType) IEditorReference(org.eclipse.ui.IEditorReference) SelectionEvent(org.eclipse.swt.events.SelectionEvent) List(java.util.List) ArrayList(java.util.ArrayList) EList(org.eclipse.emf.common.util.EList) IDesignerCoreService(org.talend.designer.core.IDesignerCoreService) IProcess(org.talend.core.model.process.IProcess) Property(org.talend.core.model.properties.Property) IProxyRepositoryFactory(org.talend.repository.model.IProxyRepositoryFactory) IElement(org.talend.core.model.process.IElement) IEditorPart(org.eclipse.ui.IEditorPart) IOException(java.io.IOException) InvocationTargetException(java.lang.reflect.InvocationTargetException) SubProgressMonitor(org.eclipse.core.runtime.SubProgressMonitor) ElementParameterType(org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) EList(org.eclipse.emf.common.util.EList) JobletProcessItem(org.talend.core.model.properties.JobletProcessItem) JobletProcessItem(org.talend.core.model.properties.JobletProcessItem) ProcessItem(org.talend.core.model.properties.ProcessItem) NodeType(org.talend.designer.core.model.utils.emf.talendfile.NodeType) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) PersistenceException(org.talend.commons.exception.PersistenceException) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) CorePlugin(org.talend.core.CorePlugin) SelectionListener(org.eclipse.swt.events.SelectionListener)

Aggregations

IEditorPart (org.eclipse.ui.IEditorPart)4 MultiPageTalendEditor (org.talend.designer.core.ui.MultiPageTalendEditor)4 IWorkbenchPage (org.eclipse.ui.IWorkbenchPage)3 IEditorReference (org.eclipse.ui.IEditorReference)2 IWorkbench (org.eclipse.ui.IWorkbench)2 IOException (java.io.IOException)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)1 SubProgressMonitor (org.eclipse.core.runtime.SubProgressMonitor)1 EList (org.eclipse.emf.common.util.EList)1 SelectionEvent (org.eclipse.swt.events.SelectionEvent)1 SelectionListener (org.eclipse.swt.events.SelectionListener)1 PersistenceException (org.talend.commons.exception.PersistenceException)1 ProgressDialog (org.talend.commons.ui.swt.dialogs.ProgressDialog)1 CorePlugin (org.talend.core.CorePlugin)1 IElement (org.talend.core.model.process.IElement)1 INode (org.talend.core.model.process.INode)1 IProcess (org.talend.core.model.process.IProcess)1