PipelineProcessor BuildPipelineProcessor(ExecutionContext context) { PipelineProcessor pipelineProcessor = new PipelineProcessor(); // TODO: implement script execution foreach (Command command in Commands) { CommandProcessorBase commandProcessor; try { commandProcessor = command.CreateCommandProcessor(context, _runspace.CommandManager, false); } catch (PowerShellGrammar.ParseException exception) { _runspace.PSHost.UI.WriteErrorLine("parse error at " + exception.LogMessage.Location.ToUiString()); return(null); } catch (Exception exception) { _runspace.PSHost.UI.WriteErrorLine(exception.GetType().Name + ": " + exception.Message); return(null); } commandProcessor.Initialize(); pipelineProcessor.Add(commandProcessor); } return(pipelineProcessor); }
public override Collection <PSObject> Invoke(IEnumerable input) { // TODO: run the pipeline on another thread and wait for the completion Input.Write(input, true); SetPipelineState(PipelineState.NotStarted); ExecutionContext context = _runspace.ExecutionContext.Clone(); RerouteExecutionContext(context); PipelineProcessor processor = new PipelineProcessor(); // TODO: implement script execution foreach (Command command in Commands) { if (string.IsNullOrEmpty(command.CommandText)) { continue; } CommandProcessorBase commandProcessor; try { commandProcessor = command.CreateCommandProcessor(context, _runspace.CommandManager, false); } catch (PowerShellGrammar.ParseException exception) { _runspace.PSHost.UI.WriteErrorLine("parse error at " + exception.LogMessage.Location.ToUiString()); return(null); } commandProcessor.Initialize(); processor.Add(commandProcessor); } // TODO: add a default out-command to the pipeline // TODO: it should do the "foreach read from pipe and out via formatter" SetPipelineState(PipelineState.Running); try { processor.Execute(context); SetPipelineState(PipelineState.Completed); } catch (Exception ex) { SetPipelineState(PipelineState.Failed, ex); ((LocalRunspace)_runspace).PSHost.UI.WriteErrorLine(ex.Message); } // TODO: process Error results return(Output.NonBlockingRead()); }
PipelineProcessor BuildPipelineProcessor(ExecutionContext context) { PipelineProcessor pipelineProcessor = new PipelineProcessor(); // TODO: implement script execution foreach (Command command in Commands) { CommandProcessorBase commandProcessor; commandProcessor = command.CreateCommandProcessor(context, _runspace.CommandManager, false); pipelineProcessor.Add(commandProcessor); } return(pipelineProcessor); }
PipelineProcessor BuildPipelineProcessor(ExecutionContext context) { PipelineProcessor pipelineProcessor = new PipelineProcessor(); // TODO: implement script execution foreach (Command command in Commands) { CommandProcessorBase commandProcessor; try { commandProcessor = command.CreateCommandProcessor(context, _runspace.CommandManager, false); } catch (PowerShellGrammar.ParseException exception) { // nicer error message throw new ParseException("Parse error at " + exception.LogMessage.Location.ToUiString(), exception); } pipelineProcessor.Add(commandProcessor); } return(pipelineProcessor); }
PipelineProcessor BuildPipelineProcessor(ExecutionContext context) { PipelineProcessor pipelineProcessor = new PipelineProcessor(); // TODO: implement script execution foreach (Command command in Commands) { CommandProcessorBase commandProcessor; commandProcessor = command.CreateCommandProcessor(context, _runspace.CommandManager, false); pipelineProcessor.Add(commandProcessor); } return pipelineProcessor; }
PipelineProcessor BuildPipelineProcessor(ExecutionContext context) { PipelineProcessor pipelineProcessor = new PipelineProcessor(); // TODO: implement script execution foreach (Command command in Commands) { CommandProcessorBase commandProcessor; try { commandProcessor = command.CreateCommandProcessor(context, _runspace.CommandManager, false); } catch (PowerShellGrammar.ParseException exception) { _runspace.PSHost.UI.WriteErrorLine("parse error at " + exception.LogMessage.Location.ToUiString()); return null; } catch (Exception exception) { _runspace.PSHost.UI.WriteErrorLine(exception.GetType().Name + ": " + exception.Message); return null; } commandProcessor.Initialize(); pipelineProcessor.Add(commandProcessor); } return pipelineProcessor; }
PipelineProcessor BuildPipelineProcessor(ExecutionContext context) { PipelineProcessor pipelineProcessor = new PipelineProcessor(); // TODO: implement script execution foreach (Command command in Commands) { CommandProcessorBase commandProcessor; try { commandProcessor = command.CreateCommandProcessor(context, _runspace.CommandManager, false); } catch (PowerShellGrammar.ParseException exception) { // nicer error message throw new ParseException("Parse error at " + exception.LogMessage.Location.ToUiString(), exception); } pipelineProcessor.Add(commandProcessor); } return pipelineProcessor; }
public override Collection<PSObject> Invoke(IEnumerable input) { // TODO: run the pipeline on another thread and wait for the completion Input.Write(input, true); SetPipelineState(PipelineState.NotStarted); ExecutionContext context = _runspace.ExecutionContext.Clone(); RerouteExecutionContext(context); PipelineProcessor processor = new PipelineProcessor(); // TODO: implement script execution foreach (Command command in Commands) { if (string.IsNullOrEmpty(command.CommandText)) continue; CommandProcessorBase commandProcessor; try { commandProcessor = command.CreateCommandProcessor(context, _runspace.CommandManager, false); } catch (PowerShellGrammar.ParseException exception) { _runspace.PSHost.UI.WriteErrorLine("parse error at " + exception.LogMessage.Location.ToUiString()); return null; } commandProcessor.Initialize(); processor.Add(commandProcessor); } // TODO: add a default out-command to the pipeline // TODO: it should do the "foreach read from pipe and out via formatter" SetPipelineState(PipelineState.Running); try { processor.Execute(context); SetPipelineState(PipelineState.Completed); } catch (Exception ex) { SetPipelineState(PipelineState.Failed, ex); ((LocalRunspace)_runspace).PSHost.UI.WriteErrorLine(ex.Message); } // TODO: process Error results return Output.NonBlockingRead(); }