Search in sources :

Example 11 with IProcessor

use of org.talend.designer.runprocess.IProcessor 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 12 with IProcessor

use of org.talend.designer.runprocess.IProcessor in project tdi-studio-se by Talend.

the class ShadowProcess method run.

public CsvArray run() throws ProcessorException {
    IProcess talendProcess = buildProcess();
    IProcessor processor = ProcessorUtilities.getProcessor(talendProcess, null);
    processor.setProxyParameters(getProxyParameters());
    // try {
    // Delete previous Perl generated file
    File previousFile = outPath.toFile();
    if (previousFile.exists()) {
        previousFile.delete();
    }
    // Process ps = processor.run(process.getContextManager().getDefaultContext(), Processor.NO_STATISTICS,
    // Processor.NO_TRACES,Processor.WATCH_ALLOWED);//Old
    IContext context = talendProcess.getContextManager().getDefaultContext();
    processor.setContext(context);
    process = processor.run(IProcessor.NO_STATISTICS, IProcessor.NO_TRACES, null);
    ProcessStreamTrashReader.readAndForget(process);
    if (!outPath.toFile().exists()) {
        //$NON-NLS-1$
        throw new ProcessorException(Messages.getString("ShadowProcess.notGeneratedOutputException"));
    }
    try {
        CsvArray array = new CsvArray();
        array = array.createFrom(outPath.toFile(), currentProcessEncoding);
        return array;
    } catch (IOException ioe) {
        throw new ProcessorException(ioe);
    }
}
Also used : IContext(org.talend.core.model.process.IContext) ProcessorException(org.talend.designer.runprocess.ProcessorException) CsvArray(org.talend.core.utils.CsvArray) IProcessor(org.talend.designer.runprocess.IProcessor) IOException(java.io.IOException) IProcess(org.talend.core.model.process.IProcess) File(java.io.File)

Example 13 with IProcessor

use of org.talend.designer.runprocess.IProcessor in project tdi-studio-se by Talend.

the class ProcessComposite method debug.

public void debug() {
    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);
    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(ProcessComposite.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()) {
                        getDisplay().asyncExec(new Runnable() {

                            @Override
                            public void run() {
                                setRunnable(true);
                                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
                            getDisplay().asyncExec(new Runnable() {

                                @Override
                                public void run() {
                                    setRunnable(false);
                                    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
                            getDisplay().asyncExec(new Runnable() {

                                @Override
                                public void run() {
                                    setRunnable(true);
                                    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) 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)

Example 14 with IProcessor

use of org.talend.designer.runprocess.IProcessor in project tdi-studio-se by Talend.

the class ProcessDebugDialog method okPressed.

/*
     * (non-Javadoc)
     * 
     * @see org.eclipse.jface.dialogs.Dialog#okPressed()
     */
@Override
protected void okPressed() {
    if (contextComposite.promptConfirmLauch()) {
        final IContext context = contextComposite.getSelectedContext();
        super.okPressed();
        IRunnableWithProgress worker = new IRunnableWithProgress() {

            public void run(IProgressMonitor monitor) {
                IProcessor processor = ProcessorUtilities.getProcessor(process, process.getProperty(), context);
                //$NON-NLS-1$
                monitor.beginTask("Launching debugger", IProgressMonitor.UNKNOWN);
                try {
                    // use this function to generate childrens also.
                    ProcessorUtilities.generateCode(process, context, false, false, true, monitor);
                    ILaunchConfiguration config = ((IEclipseProcessor) processor).debug();
                    if (config != null) {
                        // PlatformUI.getWorkbench().getActiveWorkbenchWindow().addPerspectiveListener(new
                        // DebugInNewWindowListener());
                        DebugUITools.launch(config, ILaunchManager.DEBUG_MODE);
                    } else {
                        MessageDialog.openInformation(getShell(), Messages.getString("ProcessDebugDialog.debugBtn"), //$NON-NLS-1$
                        Messages.getString(//$NON-NLS-1$ //$NON-NLS-2$
                        "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$
                    MessageDialog.openError(//$NON-NLS-1$
                    getShell(), //$NON-NLS-1$
                    Messages.getString("ProcessDebugDialog.debugBtn"), //$NON-NLS-1$
                    "");
                } 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);
        }
    }
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) ILaunchConfiguration(org.eclipse.debug.core.ILaunchConfiguration) IStatus(org.eclipse.core.runtime.IStatus) IContext(org.talend.core.model.process.IContext) ProcessorException(org.talend.designer.runprocess.ProcessorException) IProgressService(org.eclipse.ui.progress.IProgressService) IProcessor(org.talend.designer.runprocess.IProcessor) IEclipseProcessor(org.talend.core.model.runprocess.IEclipseProcessor) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress)

Example 15 with IProcessor

use of org.talend.designer.runprocess.IProcessor in project tdi-studio-se by Talend.

the class JSONShadowProcess method run.

public CsvArray run() throws ProcessorException {
    IProcess talendProcess = buildProcess();
    IProcessor processor = ProcessorUtilities.getProcessor(talendProcess, null);
    processor.setProxyParameters(getProxyParameters());
    // try {
    // Delete previous Perl generated file
    File previousFile = outPath.toFile();
    if (previousFile.exists()) {
        previousFile.delete();
    }
    // Process ps = processor.run(process.getContextManager().getDefaultContext(), Processor.NO_STATISTICS,
    // Processor.NO_TRACES,Processor.WATCH_ALLOWED);//Old
    IContext context = talendProcess.getContextManager().getDefaultContext();
    processor.setContext(context);
    process = processor.run(IProcessor.NO_STATISTICS, IProcessor.NO_TRACES, null);
    ProcessStreamTrashReader.readAndForget(process);
    if (!outPath.toFile().exists()) {
        //$NON-NLS-1$
        throw new ProcessorException(Messages.getString("ShadowProcess.notGeneratedOutputException"));
    }
    try {
        CsvArray array = new CsvArray();
        array = array.createFrom(outPath.toFile(), currentProcessEncoding);
        return array;
    } catch (IOException ioe) {
        throw new ProcessorException(ioe);
    }
}
Also used : IContext(org.talend.core.model.process.IContext) ProcessorException(org.talend.designer.runprocess.ProcessorException) CsvArray(org.talend.core.utils.CsvArray) IProcessor(org.talend.designer.runprocess.IProcessor) IOException(java.io.IOException) IProcess(org.talend.core.model.process.IProcess) File(java.io.File)

Aggregations

IProcessor (org.talend.designer.runprocess.IProcessor)25 ProcessorException (org.talend.designer.runprocess.ProcessorException)11 IProcess (org.talend.core.model.process.IProcess)10 IOException (java.io.IOException)9 IFile (org.eclipse.core.resources.IFile)8 IContext (org.talend.core.model.process.IContext)8 Item (org.talend.core.model.properties.Item)7 Property (org.talend.core.model.properties.Property)7 File (java.io.File)6 IPath (org.eclipse.core.runtime.IPath)6 IDesignerCoreService (org.talend.designer.core.IDesignerCoreService)6 Map (java.util.Map)5 IFolder (org.eclipse.core.resources.IFolder)5 ProcessItem (org.talend.core.model.properties.ProcessItem)5 CsvArray (org.talend.core.utils.CsvArray)5 InvocationTargetException (java.lang.reflect.InvocationTargetException)3 HashMap (java.util.HashMap)3 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)3 IStatus (org.eclipse.core.runtime.IStatus)3 Status (org.eclipse.core.runtime.Status)3