public void SetUp() { _globalizationServiceMock = MockRepository.GenerateStub <IGlobalizationService>(); _resourceManagerMock = MockRepository.GenerateStrictMock <IResourceManager>(); _resourceManagerMock.Stub(stub => stub.IsNull).Return(false); _resourceManagerMock.Stub(stub => stub.Name).Return("RM1"); _typeInformationStub = MockRepository.GenerateStub <ITypeInformation>(); _typeInformationStub.Stub(stub => stub.Name).Return("TypeName"); _typeInformationForResourceResolutionStub = MockRepository.GenerateStub <ITypeInformation>(); _typeInformationForResourceResolutionStub.Stub(stub => stub.Name).Return("TypeNameForResourceResolution"); _propertyInformationStub = MockRepository.GenerateStub <IPropertyInformation>(); _propertyInformationStub.Stub(stub => stub.Name).Return("PropertyName"); _memberInformationNameResolverStub = MockRepository.GenerateStub <IMemberInformationNameResolver>(); _memberInformationNameResolverStub.Stub(stub => stub.GetPropertyName(_propertyInformationStub)).Return("FakePropertyFullName"); _memberInformationNameResolverStub.Stub(stub => stub.GetTypeName(_typeInformationStub)).Return("FakeTypeFullName"); _shortPropertyResourceID = "property:PropertyName"; _longPropertyResourceID = "property:FakePropertyFullName"; _shortTypeResourceID = "type:TypeName"; _longTypeResourceID = "type:FakeTypeFullName"; _service = new ResourceManagerBasedMemberInformationGlobalizationService(_globalizationServiceMock, _memberInformationNameResolverStub); }
public ClassReflector( Type type, IMappingObjectFactory mappingObjectFactory, IMemberInformationNameResolver nameResolver, IClassIDProvider classIDProvider, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider, IDomainObjectCreator instanceCreator) { ArgumentUtility.CheckNotNullAndTypeIsAssignableFrom("type", type, typeof(DomainObject)); ArgumentUtility.CheckNotNull("mappingObjectFactory", mappingObjectFactory); ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("classIDProvider", classIDProvider); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); ArgumentUtility.CheckNotNull("instanceCreator", instanceCreator); _type = type; _mappingObjectFactory = mappingObjectFactory; _nameResolver = nameResolver; _classIDProvider = classIDProvider; _propertyMetadataProvider = propertyMetadataProvider; _domainModelConstraintProvider = domainModelConstraintProvider; _instanceCreator = instanceCreator; }
public MappingReflector( ITypeDiscoveryService typeDiscoveryService, IClassIDProvider classIDProvider, IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider, IDomainObjectCreator domainObjectCreator) { ArgumentUtility.CheckNotNull("typeDiscoveryService", typeDiscoveryService); ArgumentUtility.CheckNotNull("classIDProvider", classIDProvider); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("domainObjectCreator", domainObjectCreator); _typeDiscoveryService = typeDiscoveryService; _classIDProvider = classIDProvider; _propertyMetadataProvider = propertyMetadataProvider; _domainModelConstraintProvider = domainModelConstraintProvider; _nameResolver = nameResolver; _mappingObjectFactory = new ReflectionBasedMappingObjectFactory( _nameResolver, _classIDProvider, _propertyMetadataProvider, _domainModelConstraintProvider, domainObjectCreator); }
protected abstract PropertyFinderBase CreateNewFinder( Type type, bool includeBaseProperties, bool includeMixinProperties, IMemberInformationNameResolver nameResolver, IPersistentMixinFinder persistentMixinFinder, IPropertyMetadataProvider propertyMetadataProvider);
public RelationReflector( ClassDefinition classDefinition, IPropertyInformation propertyInfo, IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider) : base(classDefinition, propertyInfo, nameResolver, propertyMetadataProvider) { }
public void SetUp() { _mappingObjectFactoryMock = MockRepository.GenerateStrictMock <IMappingObjectFactory>(); _memberInformationNameResolverMock = MockRepository.GenerateStrictMock <IMemberInformationNameResolver>(); _factory = new RelationEndPointDefinitionCollectionFactory( _mappingObjectFactoryMock, _memberInformationNameResolverMock, new PropertyMetadataReflector()); }
public RdbmsRelationEndPointReflector( ClassDefinition classDefinition, IPropertyInformation propertyInfo, IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider) : base(classDefinition, propertyInfo, nameResolver, propertyMetadataProvider, domainModelConstraintProvider) { }
public MappingAttributesAreOnlyAppliedOnOriginalPropertyDeclarationsValidationRule( IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider) { ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); _nameResolver = nameResolver; _propertyMetadataProvider = propertyMetadataProvider; }
public StubPropertyFinderBase( Type type, bool includeBaseProperties, bool includeMixinProperties, IMemberInformationNameResolver nameResolver, IPersistentMixinFinder persistentMixinFinder, IPropertyMetadataProvider propertyMetadataProvider) : base(type, includeBaseProperties, includeMixinProperties, nameResolver, persistentMixinFinder, propertyMetadataProvider) { }
public ResourceManagerBasedMemberInformationGlobalizationService( IGlobalizationService globalizationService, IMemberInformationNameResolver memberInformationNameResolver) { ArgumentUtility.CheckNotNull("globalizationService", globalizationService); ArgumentUtility.CheckNotNull("memberInformationNameResolver", memberInformationNameResolver); _globalizationService = globalizationService; _memberInformationNameResolver = memberInformationNameResolver; }
public void SetUp() { _validationCollectorProviderMock = MockRepository.GenerateStrictMock <IValidationCollectorProvider>(); _validationCollectorMergerMock = MockRepository.GenerateStrictMock <IValidationCollectorMerger>(); _metaRulesValidatorFactoryStub = MockRepository.GenerateStub <IMetaRulesValidatorFactory>(); _metaRuleValidatorMock = MockRepository.GenerateStrictMock <IMetaRuleValidator>(); _validationRuleGlobalizationServiceMock = MockRepository.GenerateStrictMock <IValidationRuleMetadataService>(); _memberInformationNameResolverMock = MockRepository.GenerateStrictMock <IMemberInformationNameResolver>(); _collectorValidatorMock = MockRepository.GenerateStrictMock <ICollectorValidator> (); _metaValidationRule1Stub = MockRepository.GenerateStub <IAddingComponentPropertyMetaValidationRule>(); _metaValidationRule2Stub = MockRepository.GenerateStub <IAddingComponentPropertyMetaValidationRule>(); _metaValidationRule3Stub = MockRepository.GenerateStub <IAddingComponentPropertyMetaValidationRule>(); _componenValidationCollectorStub1 = MockRepository.GenerateStub <IComponentValidationCollector>(); _componenValidationCollectorStub1.Stub(stub => stub.AddedPropertyMetaValidationRules).Return(new[] { _metaValidationRule1Stub }); _componenValidationCollectorStub2 = MockRepository.GenerateStub <IComponentValidationCollector>(); _componenValidationCollectorStub2.Stub(stub => stub.AddedPropertyMetaValidationRules) .Return(new[] { _metaValidationRule2Stub, _metaValidationRule3Stub }); _componenValidationCollectorStub3 = MockRepository.GenerateStub <IComponentValidationCollector>(); _componenValidationCollectorStub3.Stub(stub => stub.AddedPropertyMetaValidationRules) .Return(new IAddingComponentPropertyMetaValidationRule[0]); _validationCollectorInfo1 = new ValidationCollectorInfo( _componenValidationCollectorStub1, typeof(ApiBasedComponentValidationCollectorProvider)); _validationCollectorInfo2 = new ValidationCollectorInfo( _componenValidationCollectorStub2, typeof(ApiBasedComponentValidationCollectorProvider)); _validationCollectorInfo3 = new ValidationCollectorInfo( _componenValidationCollectorStub3, typeof(ApiBasedComponentValidationCollectorProvider)); _validationRuleStub1 = MockRepository.GenerateStub <IValidationRule>(); _validationRuleStub2 = MockRepository.GenerateStub <IValidationRule>(); _validationRuleStub3 = PropertyRule.Create(ExpressionHelper.GetTypedMemberExpression <Customer, string> (c => c.FirstName)); _validationRuleStub4 = PropertyRule.Create(ExpressionHelper.GetTypedMemberExpression <Customer, string> (c => c.LastName)); _fakeValidationRuleResult = new[] { _validationRuleStub1, _validationRuleStub2, _validationRuleStub3, _validationRuleStub4 }; _fakeValidationCollectorMergeResult = new ValidationCollectorMergeResult(_fakeValidationRuleResult, MockRepository.GenerateStub <ILogContext>()); _fluentValidationBuilder = new FluentValidatorBuilder( _validationCollectorProviderMock, _validationCollectorMergerMock, _metaRulesValidatorFactoryStub, _validationRuleGlobalizationServiceMock, _memberInformationNameResolverMock, _collectorValidatorMock); _validMetaValidationResult1 = MetaValidationRuleValidationResult.CreateValidResult(); _validMetaValidationResult2 = MetaValidationRuleValidationResult.CreateValidResult(); _invalidMetaValidationResult1 = MetaValidationRuleValidationResult.CreateInvalidResult("Error1"); _invalidMetaValidationResult2 = MetaValidationRuleValidationResult.CreateInvalidResult("Error2"); }
protected RelationReflectorBase( ClassDefinition classDefinition, IPropertyInformation propertyInfo, IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider) : base(propertyInfo, nameResolver, propertyMetadataProvider) { ArgumentUtility.CheckNotNull("classDefinition", classDefinition); ClassDefinition = classDefinition; BidirectionalRelationAttribute = PropertyInfo.GetCustomAttribute <T> (true); }
public RelationEndPointDefinitionCollectionFactory( IMappingObjectFactory mappingObjectFactory, IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider) { ArgumentUtility.CheckNotNull("mappingObjectFactory", mappingObjectFactory); ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); _mappingObjectFactory = mappingObjectFactory; _nameResolver = nameResolver; _propertyMetadataProvider = propertyMetadataProvider; }
public NameBasedPropertyFinder( string propertyName, Type type, bool includeBaseProperties, bool includeMixinProperties, IMemberInformationNameResolver nameResolver, IPersistentMixinFinder persistentMixinFinder, IPropertyMetadataProvider propertyMetadataProvider) : base(type, includeBaseProperties, includeMixinProperties, nameResolver, persistentMixinFinder, propertyMetadataProvider) { ArgumentUtility.CheckNotNullOrEmpty("propertyName", propertyName); _propertyName = propertyName; }
public PropertyReflector( ClassDefinition classDefinition, IPropertyInformation propertyInfo, IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider) : base(propertyInfo, nameResolver, propertyMetadataProvider) { ArgumentUtility.CheckNotNull("classDefinition", classDefinition); ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); _classDefinition = classDefinition; _domainModelConstraintProvider = domainModelConstraintProvider; }
protected MemberReflectorBase( IPropertyInformation propertyInfo, IMemberInformationNameResolver nameResolver, IPropertyMetadataProvider propertyMetadataProvider) { ArgumentUtility.CheckNotNull("propertyInfo", propertyInfo); ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); _propertyInfo = propertyInfo; _nameResolver = nameResolver; _propertyMetadataProvider = propertyMetadataProvider; _storageClassAttribute = PropertyInfo.GetCustomAttribute <StorageClassAttribute> (true); }
public PropertyFinder( Type type, ClassDefinition classDefinition, bool includeBaseProperties, bool includeMixinProperties, IMemberInformationNameResolver nameResolver, IPersistentMixinFinder persistentMixinFinder, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider) : base(type, includeBaseProperties, includeMixinProperties, nameResolver, persistentMixinFinder, propertyMetadataProvider) { ArgumentUtility.CheckNotNull("classDefinition", classDefinition); _classDefinition = classDefinition; _domainModelConstraintProvider = domainModelConstraintProvider; }
protected override PropertyFinderBase CreateNewFinder( Type type, bool includeBaseProperties, bool includeMixinProperties, IMemberInformationNameResolver nameResolver, IPersistentMixinFinder persistentMixinFinder, IPropertyMetadataProvider propertyMetadataProvider) { return(new StubPropertyFinderBase( type, includeBaseProperties, includeMixinProperties, nameResolver, persistentMixinFinder, propertyMetadataProvider)); }
protected override PropertyFinderBase CreateNewFinder( Type type, bool includeBaseProperties, bool includeMixinProperties, IMemberInformationNameResolver nameResolver, IPersistentMixinFinder persistentMixinFinder, IPropertyMetadataProvider propertyMetadataProvider) { return(new PropertyFinder( type, _classDefinition, includeBaseProperties, includeMixinProperties, nameResolver, persistentMixinFinder, propertyMetadataProvider, _domainModelConstraintProvider)); }
public ReflectionBasedMappingObjectFactory( IMemberInformationNameResolver nameResolver, IClassIDProvider classIDProvider, IPropertyMetadataProvider propertyMetadataProvider, IDomainModelConstraintProvider domainModelConstraintProvider, IDomainObjectCreator instanceCreator) { ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("classIDProvider", classIDProvider); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); ArgumentUtility.CheckNotNull("domainModelConstraintProvider", domainModelConstraintProvider); ArgumentUtility.CheckNotNull("instanceCreator", instanceCreator); _nameResolver = nameResolver; _classIDProvider = classIDProvider; _propertyMetadataProvider = propertyMetadataProvider; _domainModelConstraintProvider = domainModelConstraintProvider; _instanceCreator = instanceCreator; }
protected override PropertyFinderBase CreateNewFinder( Type type, bool includeBaseProperties, bool includeMixinProperties, IMemberInformationNameResolver nameResolver, IPersistentMixinFinder persistentMixinFinder, IPropertyMetadataProvider propertyMetadataProvider) { ArgumentUtility.CheckNotNull("type", type); ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("persistentMixinFinder", persistentMixinFinder); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); return(new AllMappingPropertiesFinder( type, includeBaseProperties, includeMixinProperties, nameResolver, persistentMixinFinder, propertyMetadataProvider)); }
// construction and disposing public MappingConfiguration(IMappingLoader mappingLoader, IPersistenceModelLoader persistenceModelLoader) { ArgumentUtility.CheckNotNull("mappingLoader", mappingLoader); ArgumentUtility.CheckNotNull("persistenceModelLoader", persistenceModelLoader); s_log.Info("Building mapping configuration..."); using (StopwatchScope.CreateScope(s_log, LogLevel.Info, "Time needed to build and validate mapping configuration: {elapsed}.")) { var mappingConfigurationValidationHelper = new MappingConfigurationValidationHelper(mappingLoader, persistenceModelLoader); var typeDefinitions = mappingLoader.GetClassDefinitions(); _typeDefinitions = new ReadOnlyDictionary <Type, ClassDefinition> (typeDefinitions.ToDictionary(td => td.ClassType)); mappingConfigurationValidationHelper.ValidateDuplicateClassIDs(typeDefinitions.OfType <ClassDefinition>()); _classDefinitions = new ReadOnlyDictionary <string, ClassDefinition> (typeDefinitions.ToDictionary(cd => cd.ID)); mappingConfigurationValidationHelper.ValidateClassDefinitions(_typeDefinitions.Values); mappingConfigurationValidationHelper.ValidatePropertyDefinitions(_typeDefinitions.Values); var relationDefinitions = mappingLoader.GetRelationDefinitions(_typeDefinitions); _relationDefinitions = new ReadOnlyDictionary <string, RelationDefinition> (relationDefinitions.ToDictionary(rd => rd.ID)); mappingConfigurationValidationHelper.ValidateRelationDefinitions(_relationDefinitions.Values); foreach (var rootClass in GetInheritanceRootClasses(_typeDefinitions.Values)) { persistenceModelLoader.ApplyPersistenceModelToHierarchy(rootClass); mappingConfigurationValidationHelper.VerifyPersistenceModelApplied(rootClass); mappingConfigurationValidationHelper.ValidatePersistenceMapping(rootClass); } _resolveTypes = mappingLoader.ResolveTypes; _nameResolver = mappingLoader.NameResolver; SetMappingReadOnly(); mappingConfigurationValidationHelper.ValidateSortExpression(_relationDefinitions.Values); } }
public FluentValidatorBuilder( IValidationCollectorProvider validationCollectorProvider, IValidationCollectorMerger validationCollectorMerger, IMetaRulesValidatorFactory metaRuleValidatorFactory, IValidationRuleMetadataService validationRuleGlobalizationService, IMemberInformationNameResolver memberInformationNameResolver, ICollectorValidator collectorValidator) { ArgumentUtility.CheckNotNull("validationCollectorProvider", validationCollectorProvider); ArgumentUtility.CheckNotNull("validationCollectorMerger", validationCollectorMerger); ArgumentUtility.CheckNotNull("metaRuleValidatorFactory", metaRuleValidatorFactory); ArgumentUtility.CheckNotNull("validationRuleGlobalizationService", validationRuleGlobalizationService); ArgumentUtility.CheckNotNull("memberInformationNameResolver", memberInformationNameResolver); ArgumentUtility.CheckNotNull("collectorValidator", collectorValidator); _validationCollectorProvider = validationCollectorProvider; _validationCollectorMerger = validationCollectorMerger; _metaRulesValidatorFactory = metaRuleValidatorFactory; _validationRuleGlobalizationService = validationRuleGlobalizationService; _memberInformationNameResolver = memberInformationNameResolver; _collectorValidator = collectorValidator; }
protected PropertyFinderBase( Type type, bool includeBaseProperties, bool includeMixinProperties, IMemberInformationNameResolver nameResolver, IPersistentMixinFinder persistentMixinFinder, IPropertyMetadataProvider propertyMetadataProvider) { ArgumentUtility.CheckNotNull("type", type); ArgumentUtility.CheckNotNull("nameResolver", nameResolver); ArgumentUtility.CheckNotNull("persistentMixinFinder", persistentMixinFinder); ArgumentUtility.CheckNotNull("propertyMetadataProvider", propertyMetadataProvider); _type = type; _includeBaseProperties = includeBaseProperties; _includeMixinProperties = includeMixinProperties; _nameResolver = nameResolver; _persistentMixinFinder = persistentMixinFinder; _propertyMetadataProvider = propertyMetadataProvider; _explicitInterfaceImplementations = new Lazy <HashSet <IMethodInformation> > ( () => new HashSet <IMethodInformation> ( s_explicitInterfaceImplementations.GetOrCreateValue(_type, GetExplicitInterfaceImplementations) .Select(MethodInfoAdapter.Create))); }
public void SetUp() { _globalizationServiceStub = MockRepository.GenerateStub <IGlobalizationService>(); _memberInformationNameResolverStub = MockRepository.GenerateStub <IMemberInformationNameResolver>(); _service = new ResourceManagerBasedEnumerationGlobalizationService(_globalizationServiceStub, _memberInformationNameResolverStub); }