From de946d6b72d20360fc0cdc5b711da493a681e88a Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 10 Jul 2025 14:03:05 +0800 Subject: [PATCH] feat: Refactor mapping interfaces and classes for improved consistency and functionality --- .../AbpMapperlyConventionalRegistrar.cs | 6 ++--- ...pperlyBase.cs => AbpMapperlyMapperBase.cs} | 4 ++-- ...{IAbpMapperly.cs => IAbpMapperlyMapper.cs} | 4 ++-- .../MapperlyAutoObjectMappingProvider.cs | 22 +++++++++---------- .../AbpMapperlyBeforeAndAfterMethod_Tests.cs | 2 +- .../Mapperly/AbpMapperlyModule_Basic_Tests.cs | 4 ++-- .../AbpMapperly_Dependency_Injection_Tests.cs | 2 +- .../Abp/Mapperly/AbpReverseMapperly_Tests.cs | 2 +- .../Mapperly/SampleClasses/MapperlyMappers.cs | 8 +++---- 9 files changed, 27 insertions(+), 27 deletions(-) rename framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/{AbpMapperlyBase.cs => AbpMapperlyMapperBase.cs} (68%) rename framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/{IAbpMapperly.cs => IAbpMapperlyMapper.cs} (73%) diff --git a/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyConventionalRegistrar.cs b/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyConventionalRegistrar.cs index 5c1627b0a2..028a72bb67 100644 --- a/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyConventionalRegistrar.cs +++ b/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyConventionalRegistrar.cs @@ -9,7 +9,7 @@ public class AbpMapperlyConventionalRegistrar : DefaultConventionalRegistrar { protected override bool IsConventionalRegistrationDisabled(Type type) { - return !type.GetInterfaces().Any(x => x.IsGenericType && typeof(IAbpMapperly<,>) == x.GetGenericTypeDefinition()) || + return !type.GetInterfaces().Any(x => x.IsGenericType && typeof(IAbpMapperlyMapper<,>) == x.GetGenericTypeDefinition()) || base.IsConventionalRegistrationDisabled(type); } @@ -17,8 +17,8 @@ public class AbpMapperlyConventionalRegistrar : DefaultConventionalRegistrar { var exposedServiceTypes = base.GetExposedServiceTypes(type); var mapperlyInterfaces = type.GetInterfaces().Where(x => - x.IsGenericType && (typeof(IAbpMapperly<,>) == x.GetGenericTypeDefinition() || - typeof(IAbpReverseMapperly<,>) == x.GetGenericTypeDefinition())); + x.IsGenericType && (typeof(IAbpMapperlyMapper<,>) == x.GetGenericTypeDefinition() || + typeof(IAbpReverseMapperlyMapper<,>) == x.GetGenericTypeDefinition())); return exposedServiceTypes .Union(mapperlyInterfaces) .Distinct() diff --git a/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyBase.cs b/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyMapperBase.cs similarity index 68% rename from framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyBase.cs rename to framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyMapperBase.cs index cc86dd8be8..008c3635ea 100644 --- a/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyBase.cs +++ b/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/AbpMapperlyMapperBase.cs @@ -2,7 +2,7 @@ using Volo.Abp.DependencyInjection; namespace Volo.Abp.Mapperly; -public abstract class AbpMapperlyBase : IAbpMapperly, ITransientDependency +public abstract class AbpMapperlyMapperBase : IAbpMapperlyMapper, ITransientDependency { public abstract TDestination Map(TSource source); @@ -16,7 +16,7 @@ public abstract class AbpMapperlyBase : IAbpMapperly : AbpMapperlyBase, IAbpReverseMapperly +public abstract class AbpReverseMapperlyMapperBase : AbpMapperlyMapperBase, IAbpReverseMapperlyMapper { public abstract TSource ReverseMap(TDestination destination); diff --git a/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/IAbpMapperly.cs b/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/IAbpMapperlyMapper.cs similarity index 73% rename from framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/IAbpMapperly.cs rename to framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/IAbpMapperlyMapper.cs index 5132fc980e..3d391cfe1f 100644 --- a/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/IAbpMapperly.cs +++ b/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/IAbpMapperlyMapper.cs @@ -1,6 +1,6 @@ namespace Volo.Abp.Mapperly; -public interface IAbpMapperly +public interface IAbpMapperlyMapper { TDestination Map(TSource source); @@ -11,7 +11,7 @@ public interface IAbpMapperly void AfterMap(TSource source, TDestination destination); } -public interface IAbpReverseMapperly : IAbpMapperly +public interface IAbpReverseMapperlyMapper : IAbpMapperlyMapper { TSource ReverseMap(TDestination destination); diff --git a/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/MapperlyAutoObjectMappingProvider.cs b/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/MapperlyAutoObjectMappingProvider.cs index 28385da5f5..6e0e36d071 100644 --- a/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/MapperlyAutoObjectMappingProvider.cs +++ b/framework/src/Volo.Abp.Mapperly/Volo/Abp/Mapperly/MapperlyAutoObjectMappingProvider.cs @@ -28,7 +28,7 @@ public class MapperlyAutoObjectMappingProvider : IAutoObjectMappingProvider public virtual TDestination Map(object source) { - var mapper = ServiceProvider.GetService>(); + var mapper = ServiceProvider.GetService>(); if (mapper != null) { mapper.BeforeMap((TSource)source); @@ -38,23 +38,23 @@ public class MapperlyAutoObjectMappingProvider : IAutoObjectMappingProvider return destination; } - var reverseMapper = ServiceProvider.GetService>(); + var reverseMapper = ServiceProvider.GetService>(); if (reverseMapper != null) { reverseMapper.BeforeReverseMap((TSource)source); var destination = reverseMapper.ReverseMap((TSource)source); - TryMapExtraProperties(reverseMapper.As>(), destination, (TSource)source, GetExtraProperties(destination)); + TryMapExtraProperties(reverseMapper.As>(), destination, (TSource)source, GetExtraProperties(destination)); reverseMapper.AfterReverseMap((TSource)source, destination); return destination; } - throw new AbpException($"No {TypeHelper.GetFullNameHandlingNullableAndGenerics(typeof(IAbpMapperly))} or" + - $" {TypeHelper.GetFullNameHandlingNullableAndGenerics(typeof(IAbpReverseMapperly))} was found"); + throw new AbpException($"No {TypeHelper.GetFullNameHandlingNullableAndGenerics(typeof(IAbpMapperlyMapper))} or" + + $" {TypeHelper.GetFullNameHandlingNullableAndGenerics(typeof(IAbpReverseMapperlyMapper))} was found"); } public virtual TDestination Map(TSource source, TDestination destination) { - var mapper = ServiceProvider.GetService>(); + var mapper = ServiceProvider.GetService>(); if (mapper != null) { mapper.BeforeMap(source); @@ -65,19 +65,19 @@ public class MapperlyAutoObjectMappingProvider : IAutoObjectMappingProvider return destination; } - var reverseMapper = ServiceProvider.GetService>(); + var reverseMapper = ServiceProvider.GetService>(); if (reverseMapper != null) { reverseMapper.BeforeReverseMap(source); var destinationExtraProperties = GetExtraProperties(destination); reverseMapper.ReverseMap(source, destination); - TryMapExtraProperties(reverseMapper.As>(), source, destination, destinationExtraProperties); + TryMapExtraProperties(reverseMapper.As>(), source, destination, destinationExtraProperties); reverseMapper.AfterReverseMap(source, destination); return destination; } - throw new AbpException($"No {TypeHelper.GetFullNameHandlingNullableAndGenerics(typeof(IAbpMapperly))} or" + - $" {TypeHelper.GetFullNameHandlingNullableAndGenerics(typeof(IAbpReverseMapperly))} was found"); + throw new AbpException($"No {TypeHelper.GetFullNameHandlingNullableAndGenerics(typeof(IAbpMapperlyMapper))} or" + + $" {TypeHelper.GetFullNameHandlingNullableAndGenerics(typeof(IAbpReverseMapperlyMapper))} was found"); } protected virtual ExtraPropertyDictionary GetExtraProperties(TDestination destination) @@ -95,7 +95,7 @@ public class MapperlyAutoObjectMappingProvider : IAutoObjectMappingProvider return extraProperties; } - protected virtual void TryMapExtraProperties(IAbpMapperly mapper, TSource source, TDestination destination, ExtraPropertyDictionary destinationExtraProperty) + protected virtual void TryMapExtraProperties(IAbpMapperlyMapper mapper, TSource source, TDestination destination, ExtraPropertyDictionary destinationExtraProperty) { var mapToRegularPropertiesAttribute = mapper.GetType().GetSingleAttributeOrNull(); if (mapToRegularPropertiesAttribute != null && diff --git a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperlyBeforeAndAfterMethod_Tests.cs b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperlyBeforeAndAfterMethod_Tests.cs index f8d39985d8..94e2b4ef7e 100644 --- a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperlyBeforeAndAfterMethod_Tests.cs +++ b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperlyBeforeAndAfterMethod_Tests.cs @@ -22,7 +22,7 @@ public class MyClassDto } [Mapper] -public partial class MyClassMapper : AbpMapperlyBase +public partial class MyClassMapper : AbpMapperlyMapperBase { public override partial MyClassDto Map(MyClass source); diff --git a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperlyModule_Basic_Tests.cs b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperlyModule_Basic_Tests.cs index 96573fca52..89861f6947 100644 --- a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperlyModule_Basic_Tests.cs +++ b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperlyModule_Basic_Tests.cs @@ -53,8 +53,8 @@ public class AbpMapperlyModule_Basic_Tests : AbpIntegratedTest(() =>_objectMapper.Map(new MyEntity())); exception.Message.ShouldBe("No " + - "Volo.Abp.Mapperly.IAbpMapperly or " + - "Volo.Abp.Mapperly.IAbpReverseMapperly" + + "Volo.Abp.Mapperly.IAbpMapperlyMapper or " + + "Volo.Abp.Mapperly.IAbpReverseMapperlyMapper" + " was found"); } } diff --git a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperly_Dependency_Injection_Tests.cs b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperly_Dependency_Injection_Tests.cs index cecd4d5272..ecc0f7ecde 100644 --- a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperly_Dependency_Injection_Tests.cs +++ b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpMapperly_Dependency_Injection_Tests.cs @@ -28,7 +28,7 @@ public class BirthdayCalculatorService : ITransientDependency } [Mapper] -public partial class MyDIClassMapper : AbpMapperlyBase +public partial class MyDIClassMapper : AbpMapperlyMapperBase { private readonly BirthdayCalculatorService _birthdayCalculatorService; diff --git a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpReverseMapperly_Tests.cs b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpReverseMapperly_Tests.cs index c0604f726b..cb0b493f5a 100644 --- a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpReverseMapperly_Tests.cs +++ b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/AbpReverseMapperly_Tests.cs @@ -22,7 +22,7 @@ public class MyReverseClassDto } [Mapper] -public partial class MyReverseClassMapper : AbpReverseMapperlyBase +public partial class MyReverseClassMapper : AbpReverseMapperlyMapperBase { public override partial MyReverseClassDto Map(MyReverseClass source); diff --git a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/SampleClasses/MapperlyMappers.cs b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/SampleClasses/MapperlyMappers.cs index 8d4666a184..22ba9be77e 100644 --- a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/SampleClasses/MapperlyMappers.cs +++ b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/SampleClasses/MapperlyMappers.cs @@ -4,7 +4,7 @@ using Volo.Abp.Mapperly.SampleClasses; using Volo.Abp.ObjectExtending.TestObjects; [Mapper] -public partial class MyEntityMapper : AbpMapperlyBase +public partial class MyEntityMapper : AbpMapperlyMapperBase { public override partial MyEntityDto Map(MyEntity source); @@ -12,7 +12,7 @@ public partial class MyEntityMapper : AbpMapperlyBase } [Mapper] -public partial class MyEnumMapper : AbpMapperlyBase +public partial class MyEnumMapper : AbpMapperlyMapperBase { public override partial MyEnumDto Map(MyEnum source); @@ -24,7 +24,7 @@ public partial class MyEnumMapper : AbpMapperlyBase [Mapper] [MapExtraProperties(IgnoredProperties = ["CityName"])] -public partial class ExtensibleTestPersonMapper : AbpMapperlyBase +public partial class ExtensibleTestPersonMapper : AbpMapperlyMapperBase { public override partial ExtensibleTestPersonDto Map(ExtensibleTestPerson source); @@ -33,7 +33,7 @@ public partial class ExtensibleTestPersonMapper : AbpMapperlyBase +public partial class ExtensibleTestPersonWithRegularPropertiesDtoMapper : AbpMapperlyMapperBase { [MapperIgnoreTarget(nameof(ExtensibleTestPersonWithRegularPropertiesDto.Name))] [MapperIgnoreTarget(nameof(ExtensibleTestPersonWithRegularPropertiesDto.Age))]