internal void Validate(ChoBSONRecordConfiguration config) { try { if (FieldName.IsNullOrWhiteSpace()) { FieldName = Name; } if (Size != null && Size.Value <= 0) { throw new ChoRecordConfigurationException("Size must be > 0."); } if (ErrorMode == null) { ErrorMode = config.ErrorMode; // config.ErrorMode; } if (IgnoreFieldValueMode == null) { IgnoreFieldValueMode = config.IgnoreFieldValueMode; } if (QuoteField == null) { QuoteField = config.QuoteAllFields; } if (NullValue == null) { NullValue = config.NullValue; } } catch (Exception ex) { throw new ChoRecordConfigurationException("Invalid configuration found at '{0}' field.".FormatString(Name), ex); } }
public ChoAvroWriter(IAvroWriter <T> avroWriter, ChoBSONRecordConfiguration configuration = null) { ChoGuard.ArgumentNotNull(avroWriter, "AvroWriter"); Configuration = configuration; Init(); _avroWriter = avroWriter; }
public ChoBSONReader(BsonDataReader bsonReader, ChoBSONRecordConfiguration configuration = null) { ChoGuard.ArgumentNotNull(bsonReader, "BsonReader"); Configuration = configuration; Init(); _bsonReader = bsonReader; }
public ChoAvroWriter(StreamWriter streamWriter, ChoBSONRecordConfiguration configuration = null) { ChoGuard.ArgumentNotNull(streamWriter, "StreamWriter"); Configuration = configuration; Init(); _streamWriter = new Lazy <StreamWriter>(() => streamWriter); }
public ChoBSONRecordReader(Type recordType, ChoBSONRecordConfiguration configuration) : base(recordType, false) { ChoGuard.ArgumentNotNull(configuration, "Configuration"); Configuration = configuration; _callbackRecordFieldRead = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordFieldRead>(recordType); _callbackFileRead = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileRead>(recordType); _callbackRecordRead = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordRead>(recordType); _callbackRecordSeriablizable = ChoMetadataObjectCache.CreateMetadataObject <IChoRecordFieldSerializable>(recordType); System.Threading.Thread.CurrentThread.CurrentCulture = Configuration.Culture; }
public ChoAvroWriter(string filePath, ChoBSONRecordConfiguration configuration = null) { ChoGuard.ArgumentNotNullOrEmpty(filePath, "FilePath"); Configuration = configuration; Init(); _streamWriter = new Lazy <StreamWriter>(() => new StreamWriter(ChoPath.GetFullPath(filePath), false, Configuration.Encoding, Configuration.BufferSize)); _closeStreamOnDispose = true; }
private void Init() { var recordType = typeof(T).GetUnderlyingType(); if (Configuration == null) { Configuration = new ChoBSONRecordConfiguration(recordType); } _writer = new ChoAvroRecordWriter(recordType, Configuration); _writer.RowsWritten += NotifyRowsWritten; }
public ChoAvroWriter(Stream inStream, ChoBSONRecordConfiguration configuration = null) { ChoGuard.ArgumentNotNull(inStream, "Stream"); Configuration = configuration; Init(); if (inStream is MemoryStream) { _streamWriter = new Lazy <StreamWriter>(() => new StreamWriter(inStream)); } else { _streamWriter = new Lazy <StreamWriter>(() => new StreamWriter(inStream, Configuration.Encoding, Configuration.BufferSize)); } //_closeStreamOnDispose = true; }
public ChoAvroRecordWriter(Type recordType, ChoBSONRecordConfiguration configuration) : base(recordType) { ChoGuard.ArgumentNotNull(configuration, "Configuration"); Configuration = configuration; _callbackFileHeaderArrange = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileHeaderArrange>(recordType); _callbackRecordWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordWrite>(recordType); _callbackFileWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileWrite>(recordType); _callbackRecordFieldWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordFieldWrite>(recordType); System.Threading.Thread.CurrentThread.CurrentCulture = Configuration.Culture; _recBuffer = new Lazy <List <object> >(() => { if (Writer != null) { var b = Writer.Context.ContainsKey("RecBuffer") ? Writer.Context.RecBuffer : null; if (b == null) { Writer.Context.RecBuffer = new List <object>(); } return(Writer.Context.RecBuffer); } else { return(new List <object>()); } }, true); BeginWrite = new Lazy <bool>(() => { if (_sw != null) { return(RaiseBeginWrite(_sw)); } return(false); }); //Configuration.Validate(); }
private void Init() { _enumerator = new Lazy <IEnumerator <T> >(() => GetEnumerator()); var recordType = typeof(T).GetUnderlyingType(); if (Configuration == null) { Configuration = new ChoBSONRecordConfiguration(recordType); } else { Configuration.RecordType = recordType; } Configuration.IsDynamicObject = Configuration.RecordType.IsDynamicType(); if (!ChoETLFrxBootstrap.IsSandboxEnvironment) { _prevCultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = Configuration.Culture; } }
public ChoAvroWriter(ChoBSONRecordConfiguration configuration = null) { Configuration = configuration; Init(); }