コード例 #1
0
        internal void WriteAccumulator(JObject accu)
        {
            if (Format == null)
            {
                textWriter.WriteLine(accu.ToString());
                return;
            }
            var indexes = fields;

            if (indexes == null)
            {
                indexes = createFieldIndexes(accu);
            }

            for (int i = 0; i < indexes.Length; i++)
            {
                JToken tk = accu[indexes[i]];
                if (tk == null)
                {
                    formatParms[i] = null;
                    continue;
                }
                formatParms[i] = rawTokens ? tk : tk.ToNative();
            }
            textWriter.WriteLine(Invariant.Format(Format, formatParms));
        }
コード例 #2
0
ファイル: Converters.cs プロジェクト: lanicon/ImportPipeline
        public override Object ConvertScalar(PipelineContext ctx, Object value)
        {
            if ((flags & FormatFlags.NeedValue) != 0 && value == null)
            {
                return(null);
            }
            if (arguments == null)
            {
                return(Invariant.Format(format, value));
            }

            Object[] argArr = new Object[arguments.Length + 1];
            argArr[0] = value;
            for (int i = 0; i < arguments.Length; i++)
            {
                argArr[i + 1] = arguments[i].GetArgument(ctx);
                if ((flags & FormatFlags.NeedArguments) == 0)
                {
                    continue;
                }
                if (argArr[i + 1] == null)
                {
                    return(null);
                }
                String tmp = argArr[i + 1] as String;
                if (tmp != null && tmp.Length == 0)
                {
                    return(null);
                }
            }
            return(Invariant.Format(format, argArr));
        }
コード例 #3
0
            public override void Execute(PipelineContext ctx, JObject obj)
            {
                var    parms     = fillParams(ctx, obj);
                String actualSrc = Invariant.Format(src, parms);
                String actualDst;

                if (dst != null)
                {
                    actualDst = Invariant.Format(dst, parms);
                }
                else
                {
                    String fn = Path.GetFileName(actualSrc);
                    actualDst = Path.Combine(Invariant.Format(dstDir, parms), fn);
                }

                if (WorkingDir != null)
                {
                    actualSrc = Path.Combine(WorkingDir, actualSrc);
                    actualDst = Path.Combine(WorkingDir, actualDst);
                }

                try
                {
                    handleFile(actualSrc, actualDst);
                }
                catch (Exception err)
                {
                    base.issueError(ctx, err.Message);
                }
            }
コード例 #4
0
ファイル: Message.cs プロジェクト: MarkMenchavez/Swift
        ////public Field FindField(string id)
        ////{
        ////    return this.TextBlock == null ? null : this.TextBlock.FindField(id);
        ////}

        ////public ICollection<Field> FindFields(IEnumerable<string> ids)
        ////{
        ////    return this.TextBlock == null
        ////        ? new List<Field>().AsReadOnly()
        ////        : this.TextBlock.FindFields(ids);
        ////}

        public override string ToString()
        {
            return(Invariant.Format(
                       "{0}{1}{2}{3}{4}",
                       this.BasicHeader,
                       this.ApplicationHeader,
                       this.UserHeader,
                       this.Text,
                       this.Trailer));
        }
コード例 #5
0
            public override void Execute(PipelineContext ctx, JObject obj)
            {
                String actualSrc = Invariant.Format(src, fillParams(ctx, obj));

                if (WorkingDir != null)
                {
                    actualSrc = Path.Combine(WorkingDir, actualSrc);
                }

                try
                {
                    File.Delete(actualSrc);
                }
                catch (Exception err)
                {
                    base.issueError(ctx, err.Message);
                }
            }
コード例 #6
0
            public override void Execute(PipelineContext ctx, JObject obj)
            {
                String actualCmd = Invariant.Format(cmd, fillParams(ctx, obj));

                settings.Arguments  = Invariant.Format(cmd, fillParams(ctx, obj));
                settings.WorkingDir = WorkingDir;

                using (ConsoleRunner runner = new ConsoleRunner(settings, null))
                {
                    runner.Start();
                    if (!runner.WaitForExit(10000))
                    {
                        runner.Stop_CtrlC();
                    }
                    if (runner.ExitCode != 0)
                    {
                        issueError(ctx, String.Format("cmd.exe {0}\nEnded with rc={1}.", actualCmd, runner.ExitCode));
                    }
                }
            }