Ejemplo n.º 1
0
 public RecordMapper(IRecordFactory recordFactory, IFieldParser fieldParser = null, IFieldDisplayNameProvider fieldDisplayNameProvider = null, IFieldTransformer fieldTransformer = null)
 {
     this.RecordFactory            = recordFactory;
     this.FieldParser              = fieldParser ?? new FieldParser();
     this.FieldDisplayNameProvider = fieldDisplayNameProvider ?? new FieldDisplayNameProvider();
     this.FieldTransformer         = fieldTransformer ?? new FieldTransformer();
 }
Ejemplo n.º 2
0
        protected internal static Field[] ParseFields(XmlElement template, ParsingContext context)
        {
            XmlNodeList childNodes = template.ChildNodes;
            var         fields     = new List <Field>();

            for (int i = 0; i < childNodes.Count; i++)
            {
                XmlNode item = childNodes.Item(i);

                if (IsElement(item))
                {
                    if ("typeRef".Equals(item.LocalName) || "length".Equals(item.LocalName))
                    {
                        continue;
                    }
                    var          element     = (XmlElement)item;
                    IFieldParser fieldParser = context.GetFieldParser(element);
                    if (fieldParser == null)
                    {
                        context.ErrorHandler.OnError(null, DynError.ParseError, "No parser registered for {0}",
                                                     element.LocalName);
                    }
                    if (fieldParser != null)
                    {
                        fields.Add(fieldParser.Parse(element, context));
                    }
                }
            }

            return(fields.ToArray());
        }
Ejemplo n.º 3
0
 public MockRecordMapper(
     IRecordFactory recordFactory,
     IFieldParser fieldParser = null,
     IFieldDisplayNameProvider fieldDisplayNameProvider = null,
     IFieldTransformer fieldTransformer = null)
     : base(recordFactory, fieldParser, fieldDisplayNameProvider, fieldTransformer)
 {
 }
Ejemplo n.º 4
0
 public FixedWidthBinaryRecordMapper(
     IRecordFactory recordFactory,
     IFieldParser fieldParser = null,
     IFieldDisplayNameProvider fieldDisplayNameProvider = null,
     IFieldTransformer fieldTransformer = null,
     ISourceFieldLayoutProvider sourceFieldLayoutProvider = null)
     : base(recordFactory, fieldParser ?? new BinaryFieldParser(), fieldDisplayNameProvider, fieldTransformer)
 {
     this.SourceFieldLayoutProvider = sourceFieldLayoutProvider ?? new SourceFieldLayoutProvider();
 }
Ejemplo n.º 5
0
 public ObjectRecordMapper(
     IRecordFactory recordFactory,
     IFieldParser fieldParser = null,
     IFieldDisplayNameProvider fieldDisplayNameProvider = null,
     IFieldTransformer fieldTransformer = null,
     ISourceFieldNameProvider sourceFieldNameProvider = null)
     : base(recordFactory, fieldParser, fieldDisplayNameProvider, fieldTransformer)
 {
     this.SourceFieldNameProvider = sourceFieldNameProvider ?? new SourceFieldNameProvider();
 }
Ejemplo n.º 6
0
        public IFieldParser GetFieldParser(XmlElement element)
        {
            List <IFieldParser> parsers = FieldParsers;

            for (int i = parsers.Count - 1; i >= 0; i--)
            {
                IFieldParser fieldParser = parsers[i];
                if (fieldParser.CanParse(element, this))
                {
                    return(fieldParser);
                }
            }
            return(null);
        }
Ejemplo n.º 7
0
 public DelimitedTextRecordMapper(
     IRecordFactory recordFactory,
     string delimiter         = ",",
     IFieldParser fieldParser = null,
     IFieldDisplayNameProvider fieldDisplayNameProvider = null,
     IFieldTransformer fieldTransformer = null,
     ISourceRecordFieldCountProvider sourceRecordFieldCountProvider = null,
     ISourceFieldOrdinalProvider sourceFieldOrdinalProvider         = null)
     : base(recordFactory, fieldParser, fieldDisplayNameProvider, fieldTransformer)
 {
     this.Delimiter = delimiter;
     this.SourceRecordFieldCountProvider = sourceRecordFieldCountProvider ?? new SourceRecordFieldCountProvider();
     this.SourceFieldOrdinalProvider     = sourceFieldOrdinalProvider ?? new SourceFieldOrdinalProvider();
 }
Ejemplo n.º 8
0
        private object GetFieldValue(XPathNavigator parentNode, BaseField fieldMapping)
        {
            IFieldParser fieldParser = _fieldParserFactory.GetFieldParser(fieldMapping);

            if (string.IsNullOrEmpty(fieldMapping.ElementPath))
            {
                throw new InvalidOperationException(
                          "Field mappings must have an ElementPath specified.");
            }

            XPathExpression xPathExpression = _xPathCompiler.GetCachedExpression(fieldMapping.ElementPath);
            object          value           = fieldParser.GetElementValue(parentNode, fieldMapping, xPathExpression);

            return(value);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Creates a MIME competent MailReader, with QuotedPrintable &
        /// Base64 decoders.
        /// </summary>
        public MailReader()
        {
            m_Decoders = new List<RFC2045.IDecoder>();
            m_Decoders.Add(new QuotedPrintableDecoder());
            m_Decoders.Add(new Base64Decoder());
            m_FieldParser =
                new RFC2633.SMIMEFieldParser(
                    new ContentDispositionFieldParser(
                        new ExtendedFieldParser(
                            new ContentTransferEncodingFieldParser(new ContentTypeFieldParser(new FieldParser())))));

            m_FieldParser.CompilePattern();

            m_UnfoldPattern = PatternFactory.GetInstance().Get(typeof (UnfoldPattern));
            m_DiscretePattern = PatternFactory.GetInstance().Get(typeof (Pattern.DiscreteTypePattern));
            m_CompositePattern = PatternFactory.GetInstance().Get(typeof (Pattern.CompositeTypePattern));
            m_MimeVersionPattern = PatternFactory.GetInstance().Get(typeof (Pattern.MIMEVersionPattern));
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Creates a MIME competent MailReader, with QuotedPrintable &
        /// Base64 decoders.
        /// </summary>
        public MailReader()
        {
            m_Decoders = new List <RFC2045.IDecoder>();
            m_Decoders.Add(new QuotedPrintableDecoder());
            m_Decoders.Add(new Base64Decoder());
            m_FieldParser =
                new RFC2633.SMIMEFieldParser(
                    new ContentDispositionFieldParser(
                        new ExtendedFieldParser(
                            new ContentTransferEncodingFieldParser(new ContentTypeFieldParser(new FieldParser())))));


            m_FieldParser.CompilePattern();

            m_UnfoldPattern      = PatternFactory.GetInstance().Get(typeof(UnfoldPattern));
            m_DiscretePattern    = PatternFactory.GetInstance().Get(typeof(Pattern.DiscreteTypePattern));
            m_CompositePattern   = PatternFactory.GetInstance().Get(typeof(Pattern.CompositeTypePattern));
            m_MimeVersionPattern = PatternFactory.GetInstance().Get(typeof(Pattern.MIMEVersionPattern));
        }
Ejemplo n.º 11
0
 public void AddFieldParser(IFieldParser parser)
 {
     FieldParsers.Add(parser);
 }
Ejemplo n.º 12
0
 public void AddFieldParser(IFieldParser fieldParser)
 {
     _initialContext.FieldParsers.Add(fieldParser);
 }
Ejemplo n.º 13
0
 protected FieldParserTestBase(IFieldParser fieldParser)
 {
     _fieldParser = fieldParser;
 }
Ejemplo n.º 14
0
 protected MessageBase(IFieldParser fieldParser)
 {
     this.fieldParser = fieldParser;
     InitFields();
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Creates a MIME competent MailReader, with QuotedPrintable &
 /// Base64 decoders. Adds parameter decoders after qoutdePrintable and Base64
 /// decoders in list. 
 /// </summary>        
 public MailReader(IList<IDecoder> decoders, IFieldParser parser)
     : this(decoders)
 {
     m_FieldParser = parser;
     m_FieldParser.CompilePattern();
 }
Ejemplo n.º 16
0
 public IField Configure(string Name, int Size, int Number, FieldLength Length, FieldFormat Format, IFieldFormatter Formatter, IFieldParser Parser)
 {
     this.Init(Name, Size, Number, Length, Format, Formatter, ValidatorHelpers.GetValidator(Format), Parser);
     return(this);
 }
Ejemplo n.º 17
0
 public void AddFieldParser(IFieldParser parser)
 {
     FieldParsers.Add(parser);
 }
Ejemplo n.º 18
0
 protected void Init(string Name, int Size, int Number, FieldLength Length, FieldFormat Format, IFieldFormatter Formatter, IFieldValidator Validator, IFieldParser Parser)
 {
     this.Name      = Name;
     this.Size      = Size;
     this.Number    = Number;
     this.Length    = Length;
     this.Format    = Format;
     this.Formatter = Formatter;
     this.Validator = Validator;
     this.Parser    = Parser;
     this.Parent    = null;
     this.Content   = null;
     this.Subfields = new SortedList <int, IField>();
 }
Ejemplo n.º 19
0
 /// <summary>
 /// Creates a MIME competent MailReader, with QuotedPrintable &
 /// Base64 decoders. Adds parameter decoders after qoutdePrintable and Base64
 /// decoders in list.
 /// </summary>
 public MailReader(IList <IDecoder> decoders, IFieldParser parser) : this(decoders)
 {
     m_FieldParser = parser;
     m_FieldParser.CompilePattern();
 }
Ejemplo n.º 20
0
 protected FieldParserDecorator(IFieldParser original)
 {
     DecoratedFieldParser = original;
 }
 protected void SetUp()
 {
     _parser = new ComposedDecimalParser();
     _context = XmlMessageTemplateLoader.CreateInitialContext();
 }
 public void AddFieldParser(IFieldParser fieldParser)
 {
     _initialContext.FieldParsers.Add(fieldParser);
 }
Ejemplo n.º 23
0
 protected FieldParserDecorator(IFieldParser original)
 {
     DecoratedFieldParser = original;
 }