Search in sources :

Example 66 with Process

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

the class NoteEditPolicy method createDeleteCommand.

@Override
protected Command createDeleteCommand(GroupRequest request) {
    Object parent = getHost().getParent().getModel();
    if (!(parent instanceof Process)) {
        return null;
    }
    Note note = (Note) getHost().getModel();
    if (note.isReadOnly()) {
        return null;
    }
    List<Note> noteList = new ArrayList<Note>();
    for (int i = 0; i < request.getEditParts().size(); i++) {
        if (request.getEditParts().get(i) instanceof NoteEditPart) {
            noteList.add(((Note) ((NoteEditPart) request.getEditParts().get(i)).getModel()));
        }
    }
    DeleteNoteCommand deleteCommand = new DeleteNoteCommand((Process) parent, noteList);
    return deleteCommand;
}
Also used : ArrayList(java.util.ArrayList) Process(org.talend.designer.core.ui.editor.process.Process) DeleteNoteCommand(org.talend.designer.core.ui.editor.cmd.DeleteNoteCommand)

Example 67 with Process

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

the class FocusOnJobAction method run.

/*
     * @see Action#run
     */
public void run() {
    Shell parent = fViewPart.getSite().getShell();
    RepositoryReviewDialog dialog = new RepositoryReviewDialog(parent, ERepositoryObjectType.PROCESS, null);
    if (dialog.open() == RepositoryReviewDialog.OK) {
        Item item = dialog.getResult().getObject().getProperty().getItem();
        if (item instanceof ProcessItem) {
            // Process loadedProcess = new Process(((ProcessItem) item).getProperty());
            // loadedProcess.loadXmlFile();
            IDesignerCoreService designerCoreService = CorePlugin.getDefault().getDesignerCoreService();
            Process loadedProcess = (Process) designerCoreService.getProcessFromProcessItem((ProcessItem) item);
            fViewPart.setInputProcess(loadedProcess);
        }
    }
}
Also used : ProcessItem(org.talend.core.model.properties.ProcessItem) Item(org.talend.core.model.properties.Item) Shell(org.eclipse.swt.widgets.Shell) ProcessItem(org.talend.core.model.properties.ProcessItem) Process(org.talend.designer.core.ui.editor.process.Process) IDesignerCoreService(org.talend.designer.core.IDesignerCoreService) RepositoryReviewDialog(org.talend.repository.ui.dialog.RepositoryReviewDialog)

Example 68 with Process

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

the class UpdateJobletNodeCommand method createParameters.

private Map<String, Object> createParameters(Node node, IComponent newComponent) {
    Map<String, Object> parameters = new HashMap<String, Object>();
    if (node.getComponent().getComponentType() != EComponentType.JOBLET) {
        if (node.getExternalData() != null) {
            parameters.put(INode.RELOAD_PARAMETER_EXTERNAL_BYTES_DATA, node.getExternalData());
        }
        parameters.put(INode.RELOAD_PARAMETER_METADATA_LIST, node.getMetadataList());
    }
    // set some parameter from joblet
    if (PluginChecker.isJobLetPluginLoaded()) {
        IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(IJobletProviderService.class);
        if (service != null) {
            service.updateParametersFromJoblet(node, newComponent);
        }
    }
    parameters.put(INode.RELOAD_PARAMETER_ELEMENT_PARAMETERS, node.getElementParameters());
    List<? extends INodeConnector> listConnectors = node.getListConnector();
    List<? extends INodeConnector> newConnectors = newComponent.createConnectors(new Node(newComponent, (Process) node.getProcess()));
    for (INodeConnector connector : newConnectors) {
        for (INodeConnector oldConnector : listConnectors) {
            if (connector.getName().equals(oldConnector.getName())) {
                connector.setCurLinkNbInput(oldConnector.getCurLinkNbInput());
                connector.setCurLinkNbOutput(oldConnector.getCurLinkNbOutput());
            }
        }
    }
    parameters.put(INode.RELOAD_PARAMETER_CONNECTORS, newConnectors);
    return parameters;
}
Also used : IJobletProviderService(org.talend.core.ui.IJobletProviderService) HashMap(java.util.HashMap) Node(org.talend.designer.core.ui.editor.nodes.Node) INode(org.talend.core.model.process.INode) IProcess(org.talend.core.model.process.IProcess) Process(org.talend.designer.core.ui.editor.process.Process) INodeConnector(org.talend.core.model.process.INodeConnector)

Example 69 with Process

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

the class DebugProcessTosComposite method debug.

@Override
public void debug() {
    if (manager.getClearBeforeExec()) {
        processContext.clearMessages();
    }
    setHideconsoleLine(false);
    if ((processContext.getProcess()) instanceof org.talend.designer.core.ui.editor.process.Process) {
        ((org.talend.designer.core.ui.editor.process.Process) processContext.getProcess()).checkDifferenceWithRepository();
    }
    // final IPreferenceStore preferenceStore = DebugUIPlugin.getDefault().getPreferenceStore();
    final IPreferenceStore preferenceStore = DebugUITools.getPreferenceStore();
    final boolean oldValueConsoleOnOut = preferenceStore.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT);
    final boolean oldValueConsoleOnErr = preferenceStore.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR);
    preferenceStore.setValue(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, false);
    preferenceStore.setValue(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, false);
    // java debug to collect when tos
    int num = RunProcessPlugin.getDefault().getPreferenceStore().getInt(RunProcessTokenCollector.TOS_COUNT_DEBUG_RUNS.getPrefKey());
    RunProcessPlugin.getDefault().getPreferenceStore().setValue(RunProcessTokenCollector.TOS_COUNT_DEBUG_RUNS.getPrefKey(), num + 1);
    checkSaveBeforeRunSelection();
    if (contextComposite.promptConfirmLauch()) {
        setRunnable(false);
        final IContext context = contextComposite.getSelectedContext();
        IRunnableWithProgress worker = new IRunnableWithProgress() {

            @Override
            public void run(IProgressMonitor monitor) {
                IProcessor processor = ProcessorUtilities.getProcessor(processContext.getProcess(), processContext.getProcess().getProperty(), context);
                //$NON-NLS-1$
                monitor.beginTask("Launching debugger", IProgressMonitor.UNKNOWN);
                try {
                    // use this function to generate childrens also.
                    ProcessorUtilities.generateCode(processContext.getProcess(), context, false, false, true, monitor);
                    ILaunchConfiguration config = ((Processor) processor).getDebugConfiguration(processContext.getStatisticsPort(), processContext.getTracesPort(), null);
                    // code is correct before launching
                    if (!JobErrorsChecker.hasErrors(DebugProcessTosComposite.this.getShell())) {
                        if (config != null) {
                            // PlatformUI.getWorkbench().
                            // getActiveWorkbenchWindow
                            // ().addPerspectiveListener(new
                            // DebugInNewWindowListener());
                            DebugUITools.launch(config, ILaunchManager.DEBUG_MODE);
                        } else {
                            //$NON-NLS-1$
                            MessageDialog.openInformation(//$NON-NLS-1$
                            getShell(), //$NON-NLS-1$
                            Messages.getString("ProcessDebugDialog.debugBtn"), //$NON-NLS-1$ 
                            Messages.getString("ProcessDebugDialog.errortext"));
                        }
                    }
                } catch (ProcessorException e) {
                    IStatus status = new Status(IStatus.ERROR, RunProcessPlugin.PLUGIN_ID, IStatus.OK, "Debug launch failed.", //$NON-NLS-1$
                    e);
                    RunProcessPlugin.getDefault().getLog().log(status);
                    //$NON-NLS-1$ //$NON-NLS-2$
                    MessageDialog.openError(getShell(), Messages.getString("ProcessDebugDialog.debugBtn"), "");
                } finally {
                    monitor.done();
                }
            }
        };
        IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
        try {
            progressService.runInUI(PlatformUI.getWorkbench().getProgressService(), worker, ResourcesPlugin.getWorkspace().getRoot());
        } catch (InvocationTargetException e) {
            // e.printStackTrace();
            ExceptionHandler.process(e);
        } catch (InterruptedException e) {
            // e.printStackTrace();
            ExceptionHandler.process(e);
        }
    }
    debugMode = true;
    try {
        Thread thread = new Thread() {

            @Override
            public void run() {
                while (debugMode) {
                    final IProcess process = DebugUITools.getCurrentProcess();
                    if (process != null && process.isTerminated()) {
                        Display dis = Display.getCurrent();
                        if (dis == null) {
                            dis = Display.getDefault();
                        }
                        dis.asyncExec(new Runnable() {

                            @Override
                            public void run() {
                                setRunnable(true);
                                if (!killBtn.isDisposed() && killBtn != null) {
                                    killBtn.setEnabled(false);
                                }
                                preferenceStore.setValue(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, oldValueConsoleOnOut);
                                preferenceStore.setValue(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, oldValueConsoleOnErr);
                                if (isAddedStreamListener) {
                                    process.getStreamsProxy().getOutputStreamMonitor().removeListener(streamListener);
                                    isAddedStreamListener = false;
                                    if (processContext.isRunning()) {
                                        //$NON-NLS-1$
                                        final String endingPattern = Messages.getString("ProcessComposite.endPattern");
                                        MessageFormat mf = new MessageFormat(endingPattern);
                                        String byeMsg;
                                        try {
                                            byeMsg = //$NON-NLS-1$
                                            "\n" + mf.format(new Object[] { processContext.getProcess().getName(), new Date(), new Integer(process.getExitValue()) });
                                            processContext.addDebugResultToConsole(new ProcessMessage(MsgType.CORE_OUT, byeMsg));
                                        } catch (DebugException e) {
                                            // e.printStackTrace();
                                            ExceptionHandler.process(e);
                                        }
                                        processContext.setRunning(false);
                                    }
                                }
                                debugMode = false;
                            }
                        });
                    } else {
                        if (process != null) {
                            // (one at leat) process
                            // still running
                            Display dis = Display.getCurrent();
                            if (dis == null) {
                                dis = Display.getDefault();
                            }
                            dis.asyncExec(new Runnable() {

                                @Override
                                public void run() {
                                    setRunnable(false);
                                    if (!killBtn.isDisposed() && killBtn != null) {
                                        killBtn.setEnabled(true);
                                    }
                                    processContext.setRunning(true);
                                    processContext.setDebugProcess(process);
                                    if (!isAddedStreamListener) {
                                        process.getStreamsProxy().getOutputStreamMonitor().addListener(streamListener);
                                        // if (clearBeforeExec.getSelection()) {
                                        // processContext.clearMessages();
                                        // }
                                        // if (watchBtn.getSelection()) {
                                        // processContext.switchTime();
                                        // }
                                        ClearPerformanceAction clearPerfAction = new ClearPerformanceAction();
                                        clearPerfAction.setProcess(processContext.getProcess());
                                        clearPerfAction.run();
                                        ClearTraceAction clearTraceAction = new ClearTraceAction();
                                        clearTraceAction.setProcess(processContext.getProcess());
                                        clearTraceAction.run();
                                        isAddedStreamListener = true;
                                        //$NON-NLS-1$
                                        final String startingPattern = Messages.getString("ProcessComposite.startPattern");
                                        MessageFormat mf = new MessageFormat(startingPattern);
                                        String welcomeMsg = mf.format(new Object[] { processContext.getProcess().getName(), new Date() });
                                        processContext.addDebugResultToConsole(new ProcessMessage(MsgType.CORE_OUT, //$NON-NLS-1$
                                        welcomeMsg + "\r\n"));
                                    }
                                }
                            });
                        } else {
                            // no process running
                            Display dis = Display.getCurrent();
                            if (dis == null) {
                                dis = Display.getDefault();
                            }
                            dis.asyncExec(new Runnable() {

                                @Override
                                public void run() {
                                    setRunnable(true);
                                    if (!killBtn.isDisposed() && killBtn != null) {
                                        killBtn.setEnabled(false);
                                    }
                                }
                            });
                        }
                    }
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException e) {
                        // e.printStackTrace();
                        ExceptionHandler.process(e);
                    }
                }
            }
        };
        thread.start();
    } catch (Exception e) {
        ExceptionHandler.process(e);
        processContext.addErrorMessage(e);
        kill();
    }
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) IContext(org.talend.core.model.process.IContext) IProcessor(org.talend.designer.runprocess.IProcessor) Processor(org.talend.designer.core.runprocess.Processor) ClearTraceAction(org.talend.designer.runprocess.ui.actions.ClearTraceAction) IProcess(org.eclipse.debug.core.model.IProcess) Process(org.talend.designer.core.ui.editor.process.Process) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) IProgressService(org.eclipse.ui.progress.IProgressService) IProcessMessage(org.talend.designer.runprocess.IProcessMessage) ProcessMessage(org.talend.designer.runprocess.ProcessMessage) IProcess(org.eclipse.debug.core.model.IProcess) Status(org.eclipse.core.runtime.Status) IStatus(org.eclipse.core.runtime.IStatus) ILaunchConfiguration(org.eclipse.debug.core.ILaunchConfiguration) ProcessorException(org.talend.designer.runprocess.ProcessorException) MessageFormat(java.text.MessageFormat) IProcessor(org.talend.designer.runprocess.IProcessor) DebugException(org.eclipse.debug.core.DebugException) Point(org.eclipse.swt.graphics.Point) InvocationTargetException(java.lang.reflect.InvocationTargetException) Date(java.util.Date) DebugException(org.eclipse.debug.core.DebugException) InvocationTargetException(java.lang.reflect.InvocationTargetException) ProcessorException(org.talend.designer.runprocess.ProcessorException) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) ClearPerformanceAction(org.talend.designer.runprocess.ui.actions.ClearPerformanceAction) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) Display(org.eclipse.swt.widgets.Display)

Example 70 with Process

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

the class DebugProcessTosComposite method getTRunjobList.

private List<Node> getTRunjobList(org.talend.core.model.process.IProcess process) {
    List<Node> trunjobList = new ArrayList<Node>();
    if (!(process instanceof Process)) {
        return trunjobList;
    }
    List<INode> nodeList = (List<INode>) ((Process) process).getGraphicalNodes();
    for (INode node : nodeList) {
        if (node.getComponent().getName().equals("tRunJob")) {
            if (node instanceof Node) {
                trunjobList.add((Node) node);
            }
        }
    }
    return trunjobList;
}
Also used : INode(org.talend.core.model.process.INode) INode(org.talend.core.model.process.INode) Node(org.talend.designer.core.ui.editor.nodes.Node) ArrayList(java.util.ArrayList) IProcess(org.eclipse.debug.core.model.IProcess) Process(org.talend.designer.core.ui.editor.process.Process) ArrayList(java.util.ArrayList) List(java.util.List)

Aggregations

Process (org.talend.designer.core.ui.editor.process.Process)119 Node (org.talend.designer.core.ui.editor.nodes.Node)69 INode (org.talend.core.model.process.INode)48 ArrayList (java.util.ArrayList)45 IComponent (org.talend.core.model.components.IComponent)36 IElementParameter (org.talend.core.model.process.IElementParameter)28 Test (org.junit.Test)26 List (java.util.List)25 IMetadataTable (org.talend.core.model.metadata.IMetadataTable)25 IProcess (org.talend.core.model.process.IProcess)24 Connection (org.talend.designer.core.ui.editor.connections.Connection)24 Property (org.talend.core.model.properties.Property)23 INodeConnector (org.talend.core.model.process.INodeConnector)22 IConnection (org.talend.core.model.process.IConnection)20 NodeContainer (org.talend.designer.core.ui.editor.nodecontainer.NodeContainer)20 FakePropertyImpl (org.talend.core.model.repository.FakePropertyImpl)15 ProcessItem (org.talend.core.model.properties.ProcessItem)12 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)11 HashMap (java.util.HashMap)10 Before (org.junit.Before)9