Пример #1
0
        public VelocityTransform(IContext context = null, IReader reader = null) : base(context, "object")
        {
            if (IsMissingContext())
            {
                return;
            }

            Returns = Context.Field.Type;

            if (IsMissing(context.Operation.Template))
            {
                return;
            }

            VelocityInitializer.Init();

            var fileBasedTemplate = context.Process.Templates.FirstOrDefault(t => t.Name == context.Operation.Template);

            if (fileBasedTemplate != null)
            {
                var memoryLogger = new MemoryLogger();
                context.Operation.Template = reader.Read(fileBasedTemplate.File, null, memoryLogger);
                if (memoryLogger.Errors().Any())
                {
                    foreach (var error in memoryLogger.Errors())
                    {
                        context.Error(error);
                    }
                }
            }

            _input        = MultipleInput();
            _templateName = Context.Field.Alias + " Template";
        }
        public VelocityTemplateEngine(PipelineContext context, Configuration.Template template, IReader templateReader)
        {
            VelocityInitializer.Init();

            _context        = context;
            _template       = template;
            _templateReader = templateReader;
        }