protected override void SetUp()
        {
            var document = NewMock<IDocumentWriter>();
            typeNamesMapper = NewMock<ITypeNameMapper>();

            writer = new NXmlWriter(document, null, null);
        }
        public static void SetProvider(ITypeNameMapper provider)
        {
            Ensure.NotNull(provider, "provider");

            lock (providerLock)
                TypeNameMapper.provider = provider;
        }
Exemple #3
0
 public EventDeserializer(ITypeNameMapper typeNameMapper = null, ITypeConvertorGenerator typeConvertorGenerator = null)
 {
     TypeNameMapper     = typeNameMapper ?? new FullNameTypeMapper();
     ConvertorGenerator = typeConvertorGenerator ?? new DefaultTypeConvertorGenerator();
     _id2Info.Add(null); // 0 = null
     _id2Info.Add(null); // 1 = back reference
     foreach (var predefinedType in BasicSerializersFactory.TypeDescriptors)
     {
         var infoForType = new DeserializerTypeInfo
         {
             Id         = _id2Info.Count,
             Descriptor = predefinedType
         };
         _typeOrDescriptor2Info[predefinedType] = infoForType;
         _id2Info.Add(infoForType);
         _typeOrDescriptor2Info[predefinedType.GetPreferedType()] = infoForType;
         var descriptorMultipleNativeTypes = predefinedType as ITypeDescriptorMultipleNativeTypes;
         if (descriptorMultipleNativeTypes == null)
         {
             continue;
         }
         foreach (var type in descriptorMultipleNativeTypes.GetNativeTypes())
         {
             _typeOrDescriptor2Info[type] = infoForType;
         }
     }
     while (_id2Info.Count < ReservedBuildinTypes)
     {
         _id2Info.Add(null);
     }
 }
Exemple #4
0
 public EventSerializer(ITypeNameMapper typeNameMapper = null, ITypeConvertorGenerator typeConvertorGenerator = null)
 {
     TypeNameMapper = typeNameMapper ?? new FullNameTypeMapper();
     ConvertorGenerator = typeConvertorGenerator ?? new DefaultTypeConvertorGenerator();
     _id2Info.Add(null); // 0 = null
     _id2Info.Add(null); // 1 = back reference
     foreach (var predefinedType in BasicSerializersFactory.TypeDescriptors)
     {
         var infoForType = new SerializerTypeInfo
         {
             Id = _id2Info.Count,
             Descriptor = predefinedType
         };
         _typeOrDescriptor2Info[predefinedType] = infoForType;
         _id2Info.Add(infoForType);
         _typeOrDescriptor2Info[predefinedType.GetPreferedType()] = infoForType;
         var descriptorMultipleNativeTypes = predefinedType as ITypeDescriptorMultipleNativeTypes;
         if (descriptorMultipleNativeTypes == null) continue;
         foreach (var type in descriptorMultipleNativeTypes.GetNativeTypes())
         {
             _typeOrDescriptor2Info[type] = infoForType;
         }
     }
     while (_id2Info.Count < ReservedBuildinTypes) _id2Info.Add(null);
 }
        static object PassThroughEventStorage(object @event, ITypeNameMapper mapper)
        {
            var options = TypeSerializersOptions.Default;

            options.SymmetricCipher = new AesGcmSymmetricCipher(new byte[]
            {
                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
                28, 29, 30, 31
            });
            var manager  = new EventStoreManager(options);
            var storage  = new MemoryEventFileStorage();
            var appender = manager.AppendToStore(storage);
            var events   = new[]
            {
                @event
            };

            appender.Store(null, events);
            manager = new EventStoreManager(options);
            manager.SetNewTypeNameMapper(mapper);
            var eventObserver = new EventStoreTest.StoringEventObserver();

            manager.OpenReadOnlyStore(storage).ReadFromStartToEnd(eventObserver);
            return(eventObserver.Events[0][0]);
        }
        protected override void SetUp()
        {
            var document = NewMock <IDocumentWriter>();

            typeNamesMapper = NewMock <ITypeNameMapper>();

            writer = new NXmlWriter(document, null, null);
        }
		public TableReflector(IConnectionStringFactory connectionStringFactory, ITypeNameMapper typeNameMapper)
		{
			_tableReflectors = new Dictionary<DatabaseType, ITableReflector>
			{
				{ DatabaseType.SqlServer, new SqlServerTableReflector(connectionStringFactory, typeNameMapper) },
				{ DatabaseType.MySql, new MySqlTableReflector(connectionStringFactory, typeNameMapper) }
			};
		}
Exemple #8
0
 /// <summary>
 /// Creates a new instance with factories from model and storages.
 /// </summary>
 /// <param name="modelFactory">A factory for empty models when deserializing.</param>
 /// <param name="storageFactory">A factory for empty composite storages.</param>
 /// <param name="typeNameMapper">A type name mapper.</param>
 public CompositeModelFormatter(IFactory <Type, object> modelFactory, IFactory <ICompositeStorage> storageFactory, ITypeNameMapper typeNameMapper)
 {
     Ensure.NotNull(modelFactory, "modelFactory");
     Ensure.NotNull(storageFactory, "storageFactory");
     Ensure.NotNull(typeNameMapper, "typeNameMapper");
     this.modelFactory   = modelFactory;
     this.storageFactory = storageFactory;
     this.typeNameMapper = typeNameMapper;
 }
        /// <summary>
        /// Adds <paramref name="provider"/> to the collection of providers.
        /// </summary>
        /// <param name="provider">A provider to add.</param>
        /// <returns>Self (for fluency).</returns>
        public AggregatedTypeNameMapper Add(ITypeNameMapper provider)
        {
            Ensure.NotNull(provider, "provider");

            lock (storageLock)
                storage.Add(provider);

            return(this);
        }
Exemple #10
0
 public TypeSerializers(ITypeNameMapper typeNameMapper)
 {
     SetTypeNameMapper(typeNameMapper);
     ForgotAllTypesAndSerializers();
     _newSimpleSaverAction = NewSimpleSaver;
     _newComplexSaverAction = NewComplexSaver;
     _newDescriptorSaverFactoryAction = NewDescriptorSaverFactory;
     _loaderFactoryAction = LoaderFactory;
     _buildFromTypeAction = BuildFromType;
 }
 public TypeSerializers(ITypeNameMapper typeNameMapper)
 {
     ConvertorGenerator = new DefaultTypeConvertorGenerator();
     SetTypeNameMapper(typeNameMapper);
     ForgotAllTypesAndSerializers();
     _newSimpleSaverAction            = NewSimpleSaver;
     _newComplexSaverAction           = NewComplexSaver;
     _newDescriptorSaverFactoryAction = NewDescriptorSaverFactory;
     _loaderFactoryAction             = LoaderFactory;
     _buildFromTypeAction             = BuildFromType;
 }
        /// <summary>
        /// Gets a <see cref="string"/> for <paramref name="type"/>.
        /// </summary>
        /// <param name="provider">A mapping provider.</param>
        /// <param name="type">A <see cref="Type"/>.</param>
        /// <returns>An associated <see cref="string"/> with <paramref name="type"/>.</returns>
        public static string Get(this ITypeNameMapper provider, Type type)
        {
            Ensure.NotNull(provider, "provider");

            if (provider.TryGet(type, out string typeName))
            {
                return(typeName);
            }

            throw new MissingTypeNameMappingException(type);
        }
 /// <summary>
 /// 构造函数
 /// </summary>
 public NHibernateSnapshotStoreBase(
     INHibernateSessionManager sessionManager,
     IJsonSerializer snapshotSerializer,
     ITypeNameMapper typeNameMapper,
     ISnapshotTypeProvider snapshotTypeProvider,
     ILoggerFactory loggerFactory)
 {
     _sessionManager       = sessionManager;
     _snapshotSerializer   = snapshotSerializer;
     _typeNameMapper       = typeNameMapper;
     _snapshotTypeProvider = snapshotTypeProvider;
     _logger = loggerFactory.Create("EventSourcing.NHibernateSnapshotStoreBase");
 }
 /// <summary>
 /// 构造函数
 /// </summary>
 public NHibernateEventStoreBase(
     INHibernateSessionManager sessionManager,
     IJsonSerializer eventSerializer,
     ITypeNameMapper typeNameMapper,
     IAggregateRootEventTypeProvider aggregateRootEventTypeProvider,
     ILoggerFactory loggerFactory)
 {
     _sessionManager  = sessionManager;
     _eventSerializer = eventSerializer;
     _typeNameMapper  = typeNameMapper;
     _aggregateRootEventTypeProvider = aggregateRootEventTypeProvider;
     _logger = loggerFactory.Create("EventSourcing.NHibernateEventStoreBase");
 }
        static object PassThroughEventStorage(object @event, ITypeNameMapper mapper)
        {
            var manager  = new EventStoreManager();
            var storage  = new MemoryEventFileStorage();
            var appender = manager.AppendToStore(storage);
            var events   = new[]
            {
                @event
            };

            appender.Store(null, events);
            manager = new EventStoreManager();
            manager.SetNewTypeNameMapper(mapper);
            var eventObserver = new EventStoreTest.StoringEventObserver();

            manager.OpenReadOnlyStore(storage).ReadFromStartToEnd(eventObserver);
            return(eventObserver.Events[0][0]);
        }
Exemple #16
0
 public void SetTypeNameMapper(ITypeNameMapper?typeNameMapper)
 {
     _typeNameMapper = typeNameMapper ?? new FullNameTypeMapper();
 }
Exemple #17
0
 public void SetNewTypeNameMapper(ITypeNameMapper mapper)
 {
     _typeSerializers.SetTypeNameMapper(mapper);
 }
Exemple #18
0
 public SelectiveTypeMapper(string name, ITypeNameMapper parent = null)
 {
     _name   = name;
     _parent = parent ?? new FullNameTypeMapper();
 }
 public EntityClassCollection(CSharpStyle style, ITypeNameMapper typeNameMapper, DbSchema schema)
 {
     Style          = style;
     TypeNameMapper = typeNameMapper;
     Schema         = schema;
 }
Exemple #20
0
 public OverloadableTypeMapper(Type type, string name, ITypeNameMapper parent = null)
 {
     _type   = type;
     _name   = name;
     _parent = parent ?? new FullNameTypeMapper();
 }
Exemple #21
0
 private void Test(ITypeNameMapper provider, string keyType, Type type)
 => Assert.AreEqual(provider.Get(keyType), type);
 static object PassThroughEventStorage(object @event, ITypeNameMapper mapper)
 {
     var manager = new EventStoreManager();
     var storage = new MemoryEventFileStorage();
     var appender = manager.AppendToStore(storage);
     var events = new[]
         {
             @event
         };
     appender.Store(null, events);
     manager = new EventStoreManager();
     manager.SetNewTypeNameMapper(mapper);
     var eventObserver = new EventStoreTest.StoringEventObserver();
     manager.OpenReadOnlyStore(storage).ReadFromStartToEnd(eventObserver);
     return eventObserver.Events[0][0];
 }
Exemple #23
0
 public void SetTypeNameMapper(ITypeNameMapper typeNameMapper)
 {
     _typeNameMapper = typeNameMapper ?? new FullNameTypeMapper();
 }
Exemple #24
0
 public EntityClass(CSharpStyle style, ITypeNameMapper typeNameMapper, DbTable table)
 {
     Style          = style;
     TypeNameMapper = typeNameMapper;
     Table          = table;
 }
Exemple #25
0
 /// <summary>
 /// Sets <paramref name="keyTypeProvider"/> as provider for mapping from <see cref="Type"/> to <see cref="IKey.Type"/>.
 /// </summary>
 /// <param name="keyTypeProvider">A mapping provider.</param>
 public static void SetKeyTypeProvider(ITypeNameMapper keyTypeProvider)
 {
     KeyFactory.keyTypeProvider = keyTypeProvider;
 }
 public NHibernateEventQueryService(IJsonSerializer eventSerializer, ITypeNameMapper typeNameMapper)
 {
     _eventSerializer = eventSerializer;
     _typeNameMapper  = typeNameMapper;
 }
 public TypeNamesCache(ITypeNameMapper typeNamesMapper)
 {
     this.typeNamesMapper = typeNamesMapper;
     cache = new SortedList <Type, int>(new TypeComparer());
 }
		public MySqlTableReflector(IConnectionStringFactory connectionStringFactory, ITypeNameMapper typeNameMapper)
		{
			_connectionStringFactory = connectionStringFactory;
			_typeNameMapper = typeNameMapper;
		}
Exemple #29
0
 public void SetNewTypeNameMapper(ITypeNameMapper mapper)
 {
     _typeSerializers.SetTypeNameMapper(mapper);
 }
Exemple #30
0
 /// <summary>
 /// Sets key factory to use <see cref="GuidKey"/> and type fullname with assembly name (without version and public key).
 /// </summary>
 public static void SetGuidKeyWithTypeFullNameAndAssembly()
 {
     keyTypeProvider = new TypeFullNameWithAssemblyMapper();
     keyFactory      = null;
     emptyFactory    = null;
 }