@@ -23,71 +23,82 @@ namespace Microsoft.WindowsAzure.Commands.ServiceManagement.PlatformImageReposit
23
23
{
24
24
public class ServiceManagementPlatformImageRepositoryProfile : Profile
25
25
{
26
- private static readonly Lazy < bool > initialize ;
26
+ private static IMapper _mapper = null ;
27
27
28
- static ServiceManagementPlatformImageRepositoryProfile ( )
28
+ private static readonly object _lock = new object ( ) ;
29
+
30
+ public static IMapper Mapper
29
31
{
30
- initialize = new Lazy < bool > ( ( ) =>
32
+ get
31
33
{
32
- Mapper . AddProfile < ServiceManagementPlatformImageRepositoryProfile > ( ) ;
33
- return true ;
34
- } ) ;
35
- }
34
+ lock ( _lock )
35
+ {
36
+ if ( _mapper == null )
37
+ {
38
+ Initialize ( ) ;
39
+ }
36
40
37
- public static bool Initialize ( )
38
- {
39
- return ServiceManagementProfile . Initialize ( ) && initialize . Value ;
41
+ return _mapper ;
42
+ }
43
+ }
40
44
}
41
45
42
- public override string ProfileName
46
+ public static void Initialize ( )
43
47
{
44
- get { return "ServiceManagementPlatformImageRepositoryProfile" ; }
45
- }
48
+ var config = new MapperConfiguration ( cfg =>
49
+ {
50
+ cfg . AddProfile < ServiceManagementPlatformImageRepositoryProfile > ( ) ;
46
51
47
- protected override void Configure ( )
48
- {
49
- Mapper . CreateMap < NewAzurePlatformExtensionCertificateConfigCommand , ExtensionCertificateConfig > ( )
52
+ cfg . CreateMap < NewAzurePlatformExtensionCertificateConfigCommand , ExtensionCertificateConfig > ( )
50
53
. ForMember ( c => c . ThumbprintRequired , o => o . MapFrom ( r => r . ThumbprintRequired . IsPresent ) ) ;
51
54
52
- Mapper . CreateMap < ExtensionCertificateConfig , ExtensionCertificateConfiguration > ( ) ;
53
- Mapper . CreateMap < ExtensionLocalResourceConfig , ExtensionLocalResourceConfiguration > ( ) ;
54
- Mapper . CreateMap < ExtensionInternalEndpoint , ExtensionEndpointConfiguration . InternalEndpoint > ( ) ;
55
- Mapper . CreateMap < ExtensionInputEndpoint , ExtensionEndpointConfiguration . InputEndpoint > ( ) ;
56
- Mapper . CreateMap < ExtensionInstanceInputEndpoint , ExtensionEndpointConfiguration . InstanceInputEndpoint > ( ) ;
57
- Mapper . CreateMap < ExtensionEndpointConfigSet , ExtensionEndpointConfiguration > ( ) ;
55
+ cfg . CreateMap < ExtensionCertificateConfig , ExtensionCertificateConfiguration > ( ) ;
56
+ cfg . CreateMap < ExtensionLocalResourceConfig , ExtensionLocalResourceConfiguration > ( ) ;
57
+ cfg . CreateMap < ExtensionInternalEndpoint , ExtensionEndpointConfiguration . InternalEndpoint > ( ) ;
58
+ cfg . CreateMap < ExtensionInputEndpoint , ExtensionEndpointConfiguration . InputEndpoint > ( ) ;
59
+ cfg . CreateMap < ExtensionInstanceInputEndpoint , ExtensionEndpointConfiguration . InstanceInputEndpoint > ( ) ;
60
+ cfg . CreateMap < ExtensionEndpointConfigSet , ExtensionEndpointConfiguration > ( ) ;
61
+
62
+ cfg . CreateMap < ExtensionImage , ExtensionImageContext > ( )
63
+ . ForMember ( c => c . ThumbprintAlgorithm , o => o . MapFrom ( r => r . Certificate . ThumbprintAlgorithm ) )
64
+ . ForMember ( c => c . ExtensionName , o => o . MapFrom ( r => r . Type ) ) ;
58
65
59
- Mapper . CreateMap < ExtensionImage , ExtensionImageContext > ( )
60
- . ForMember ( c => c . ThumbprintAlgorithm , o => o . MapFrom ( r => r . Certificate . ThumbprintAlgorithm ) )
61
- . ForMember ( c => c . ExtensionName , o => o . MapFrom ( r => r . Type ) ) ;
66
+ cfg . CreateMap < PublishAzurePlatformExtensionCommand , ExtensionImageRegisterParameters > ( )
67
+ . ForMember ( c => c . IsJsonExtension , o => o . MapFrom ( r => ! r . XmlExtension . IsPresent ) )
68
+ . ForMember ( c => c . Type , o => o . MapFrom ( r => r . ExtensionName ) )
69
+ . ForMember ( c => c . ProviderNameSpace , o => o . MapFrom ( r => r . Publisher ) )
70
+ . ForMember ( c => c . BlockRoleUponFailure , o => o . MapFrom ( r => r . BlockRoleUponFailure . IsPresent ) )
71
+ . ForMember ( c => c . DisallowMajorVersionUpgrade , o => o . MapFrom ( r => r . DisallowMajorVersionUpgrade . IsPresent ) )
72
+ . ForMember ( c => c . Certificate , o => o . MapFrom ( r => r . CertificateConfig ) )
73
+ . ForMember ( c => c . ExtensionEndpoints , o => o . MapFrom ( r => r . EndpointConfig ) )
74
+ . ForMember ( c => c . LocalResources , o => o . MapFrom ( r => r . LocalResourceConfig == null ? null : r . LocalResourceConfig . LocalResources ) )
75
+ . ForMember ( c => c . PublisherName , o => o . MapFrom ( r => r != null ? ( string ) null : null ) )
76
+ . ForMember ( c => c . SupportedOS , o => o . MapFrom ( r => r . SupportedOS ?? ExtensionImageSupportedOperatingSystemType . Windows ) ) ;
62
77
63
- Mapper . CreateMap < PublishAzurePlatformExtensionCommand , ExtensionImageRegisterParameters > ( )
64
- . ForMember ( c => c . IsJsonExtension , o => o . MapFrom ( r => ! r . XmlExtension . IsPresent ) )
65
- . ForMember ( c => c . Type , o => o . MapFrom ( r => r . ExtensionName ) )
66
- . ForMember ( c => c . ProviderNameSpace , o => o . MapFrom ( r => r . Publisher ) )
67
- . ForMember ( c => c . BlockRoleUponFailure , o => o . MapFrom ( r => r . BlockRoleUponFailure . IsPresent ) )
68
- . ForMember ( c => c . DisallowMajorVersionUpgrade , o => o . MapFrom ( r => r . DisallowMajorVersionUpgrade . IsPresent ) )
69
- . ForMember ( c => c . Certificate , o => o . MapFrom ( r => r . CertificateConfig ) )
70
- . ForMember ( c => c . ExtensionEndpoints , o => o . MapFrom ( r => r . EndpointConfig ) )
71
- . ForMember ( c => c . LocalResources , o => o . MapFrom ( r => r . LocalResourceConfig == null ? null : r . LocalResourceConfig . LocalResources ) )
72
- . ForMember ( c => c . PublisherName , o => o . MapFrom ( r => r != null ? ( string ) null : null ) )
73
- . ForMember ( c => c . SupportedOS , o => o . MapFrom ( r => r . SupportedOS ?? ExtensionImageSupportedOperatingSystemType . Windows ) ) ;
78
+ cfg . CreateMap < PublishAzurePlatformExtensionCommand , ExtensionImageUpdateParameters > ( )
79
+ . ForMember ( c => c . IsJsonExtension , o => o . MapFrom ( r => ! r . XmlExtension . IsPresent ) )
80
+ . ForMember ( c => c . Type , o => o . MapFrom ( r => r . ExtensionName ) )
81
+ . ForMember ( c => c . ProviderNameSpace , o => o . MapFrom ( r => r . Publisher ) )
82
+ . ForMember ( c => c . BlockRoleUponFailure , o => o . MapFrom ( r => r . BlockRoleUponFailure . IsPresent ) )
83
+ . ForMember ( c => c . DisallowMajorVersionUpgrade , o => o . MapFrom ( r => r . DisallowMajorVersionUpgrade . IsPresent ) )
84
+ . ForMember ( c => c . Certificate , o => o . MapFrom ( r => r . CertificateConfig ) )
85
+ . ForMember ( c => c . ExtensionEndpoints , o => o . MapFrom ( r => r . EndpointConfig ) )
86
+ . ForMember ( c => c . LocalResources , o => o . MapFrom ( r => r . LocalResourceConfig == null ? null : r . LocalResourceConfig . LocalResources ) )
87
+ . ForMember ( c => c . PublisherName , o => o . MapFrom ( r => r != null ? ( string ) null : null ) )
88
+ . ForMember ( c => c . SupportedOS , o => o . MapFrom ( r => r . SupportedOS ?? ExtensionImageSupportedOperatingSystemType . Windows ) ) ;
89
+
90
+ cfg . CreateMap < SetAzurePlatformExtensionCommand , ExtensionImageUpdateParameters > ( )
91
+ . ForMember ( c => c . Type , o => o . MapFrom ( r => r . ExtensionName ) )
92
+ . ForMember ( c => c . ProviderNameSpace , o => o . MapFrom ( r => r . Publisher ) )
93
+ . ForMember ( c => c . PublisherName , o => o . MapFrom ( r => r != null ? ( string ) null : null ) ) ;
94
+ } ) ;
74
95
75
- Mapper . CreateMap < PublishAzurePlatformExtensionCommand , ExtensionImageUpdateParameters > ( )
76
- . ForMember ( c => c . IsJsonExtension , o => o . MapFrom ( r => ! r . XmlExtension . IsPresent ) )
77
- . ForMember ( c => c . Type , o => o . MapFrom ( r => r . ExtensionName ) )
78
- . ForMember ( c => c . ProviderNameSpace , o => o . MapFrom ( r => r . Publisher ) )
79
- . ForMember ( c => c . BlockRoleUponFailure , o => o . MapFrom ( r => r . BlockRoleUponFailure . IsPresent ) )
80
- . ForMember ( c => c . DisallowMajorVersionUpgrade , o => o . MapFrom ( r => r . DisallowMajorVersionUpgrade . IsPresent ) )
81
- . ForMember ( c => c . Certificate , o => o . MapFrom ( r => r . CertificateConfig ) )
82
- . ForMember ( c => c . ExtensionEndpoints , o => o . MapFrom ( r => r . EndpointConfig ) )
83
- . ForMember ( c => c . LocalResources , o => o . MapFrom ( r => r . LocalResourceConfig == null ? null : r . LocalResourceConfig . LocalResources ) )
84
- . ForMember ( c => c . PublisherName , o => o . MapFrom ( r => r != null ? ( string ) null : null ) )
85
- . ForMember ( c => c . SupportedOS , o => o . MapFrom ( r => r . SupportedOS ?? ExtensionImageSupportedOperatingSystemType . Windows ) ) ;
96
+ _mapper = config . CreateMapper ( ) ;
97
+ }
86
98
87
- Mapper . CreateMap < SetAzurePlatformExtensionCommand , ExtensionImageUpdateParameters > ( )
88
- . ForMember ( c => c . Type , o => o . MapFrom ( r => r . ExtensionName ) )
89
- . ForMember ( c => c . ProviderNameSpace , o => o . MapFrom ( r => r . Publisher ) )
90
- . ForMember ( c => c . PublisherName , o => o . MapFrom ( r => r != null ? ( string ) null : null ) ) ;
99
+ public override string ProfileName
100
+ {
101
+ get { return "ServiceManagementPlatformImageRepositoryProfile" ; }
91
102
}
92
103
}
93
104
}
0 commit comments