Skip to content

Commit 857f31f

Browse files
Comprehensive detection static "factory" methods.
1 parent 6474e80 commit 857f31f

File tree

138 files changed

+152
-144
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+152
-144
lines changed

Modules/Intent.Modules.Application.DomainInteractions/Intent.Application.DomainInteractions.imodspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<package>
33
<id>Intent.Application.DomainInteractions</id>
4-
<version>1.1.6-pre.1</version>
4+
<version>1.1.6-pre.2</version>
55
<supportedClientVersions>[4.5.15-a,5.0.0)</supportedClientVersions>
66
<summary>Provides interaction strategies to generate domain interaction implementations.</summary>
77
<description>Provides interaction strategies to generate domain interaction implementations.</description>

Modules/Intent.Modules.Application.DomainInteractions/Intent.Modules.Application.DomainInteractions.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFramework>net8.0</TargetFramework>
5-
<Version>1.1.6-pre.0</Version>
5+
<Version>1.1.6-pre.2</Version>
66
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
77
<Nullable>enable</Nullable>
88
</PropertyGroup>

Modules/Intent.Modules.Application.DomainInteractions/Mapping/Resolvers/EntityCreationMappingTypeResolver.cs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
using System.Linq;
2-
using Intent.Metadata.Models;
1+
using Intent.Metadata.Models;
32
using Intent.Modelers.Domain.Api;
43
using Intent.Modules.Common.CSharp.Mapping;
54
using Intent.Modules.Common.CSharp.Templates;
6-
using Intent.Modelers.Services.DomainInteractions.Api;
7-
using Intent.Templates;
85

96
namespace Intent.Modules.Application.DomainInteractions.Mapping.Resolvers;
107

@@ -20,9 +17,20 @@ public EntityCreationMappingTypeResolver(ICSharpFileBuilderTemplate sourceTempla
2017
public ICSharpMapping? ResolveMappings(MappingModel mappingModel, MappingTypeResolverDelegate next)
2118
{
2219
var model = mappingModel.Model;
23-
if (mappingModel.MappingTypeId != "5f172141-fdba-426b-980e-163e782ff53e") // Command to Class Creation Mapping
20+
21+
// Static "factory" methods:
22+
const string invocationMappingTypeId = "a4c4c5cc-76df-48ed-9d4e-c35caf44b567";
23+
if (mappingModel.MappingTypeId is invocationMappingTypeId &&
24+
model.AsOperationModel()?.IsStatic == true &&
25+
model.TypeReference.ElementId != null)
26+
{
27+
return new StaticMethodInvocationMapping(mappingModel, _sourceTemplate);
28+
}
29+
30+
const string creationMappingTypeId = "5f172141-fdba-426b-980e-163e782ff53e";
31+
if (mappingModel.MappingTypeId is not creationMappingTypeId)
2432
{
25-
return next != null ? next(mappingModel) : null;
33+
return next?.Invoke(mappingModel);
2634
}
2735

2836
if (model.IsGeneralizationTargetEndModel())
@@ -51,6 +59,6 @@ public EntityCreationMappingTypeResolver(ICSharpFileBuilderTemplate sourceTempla
5159
return new SelectToListMapping(mappingModel, _sourceTemplate);
5260
}
5361

54-
return next != null ? next(mappingModel) : null;
62+
return next?.Invoke(mappingModel);
5563
}
5664
}

Tests/AdvancedMapping.Repositories.Mapperly.Tests/modules.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<module moduleId="Intent.Application.Contracts" version="5.1.1" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
44
<module moduleId="Intent.Application.DependencyInjection" version="4.1.10" supportedClientVersions="[4.5.15-a, 5.0.0-a)" />
55
<module moduleId="Intent.Application.DependencyInjection.MediatR" version="3.6.0" supportedClientVersions="[4.0.3-pre.6, 5.0.0-a)" />
6-
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.1" supportedClientVersions="[4.5.15-a,5.0.0)" />
6+
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.2" supportedClientVersions="[4.5.15-a,5.0.0)" />
77
<module moduleId="Intent.Application.Dtos" version="4.4.6" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
88
<module moduleId="Intent.Application.Dtos.Mapperly" version="1.0.0-pre.0" supportedClientVersions="[4.5.15-a,5.0.0)" />
99
<module moduleId="Intent.Application.Dtos.Pagination" version="4.1.2" supportedClientVersions="[4.3.0-a, 5.0.0-a)" />

Tests/AdvancedMappingCrud.Cosmos.Tests/modules.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<module moduleId="Intent.Application.DependencyInjection" version="4.1.10" supportedClientVersions="[4.5.15-a, 5.0.0-a)" />
66
<module moduleId="Intent.Application.DependencyInjection.AutoMapper" version="4.0.3" supportedClientVersions="[4.1.0-pre.0, 5.0.0-a)" />
77
<module moduleId="Intent.Application.DependencyInjection.MediatR" version="3.6.0" supportedClientVersions="[4.0.3-pre.6, 5.0.0-a)" />
8-
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.1" supportedClientVersions="[4.5.15-a,5.0.0)" />
8+
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.2" supportedClientVersions="[4.5.15-a,5.0.0)" />
99
<module moduleId="Intent.Application.Dtos" version="4.4.6" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1010
<module moduleId="Intent.Application.Dtos.AutoMapper" version="4.0.18" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1111
<module moduleId="Intent.Application.Dtos.Pagination" version="4.1.2" supportedClientVersions="[4.3.0-a, 5.0.0-a)" />

Tests/AdvancedMappingCrud.DbContext.ProjectTo.Tests/modules.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<module moduleId="Intent.Application.DependencyInjection" version="4.1.10" supportedClientVersions="[4.5.15-a, 5.0.0-a)" />
66
<module moduleId="Intent.Application.DependencyInjection.AutoMapper" version="4.0.3" supportedClientVersions="[4.1.0-pre.0, 5.0.0-a)" />
77
<module moduleId="Intent.Application.DependencyInjection.MediatR" version="3.6.0" supportedClientVersions="[4.0.3-pre.6, 5.0.0-a)" />
8-
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.1" supportedClientVersions="[4.5.15-a,5.0.0)" />
8+
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.2" supportedClientVersions="[4.5.15-a,5.0.0)" />
99
<module moduleId="Intent.Application.Dtos" version="4.4.6" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1010
<module moduleId="Intent.Application.Dtos.AutoMapper" version="4.0.18" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1111
<module moduleId="Intent.Application.Dtos.Pagination" version="4.1.2" supportedClientVersions="[4.3.0-a, 5.0.0-a)" />

Tests/AdvancedMappingCrud.DbContext.Tests/modules.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<module moduleId="Intent.Application.DependencyInjection" version="4.1.10" supportedClientVersions="[4.5.15-a, 5.0.0-a)" />
66
<module moduleId="Intent.Application.DependencyInjection.AutoMapper" version="4.0.3" supportedClientVersions="[4.1.0-pre.0, 5.0.0-a)" />
77
<module moduleId="Intent.Application.DependencyInjection.MediatR" version="3.6.0" supportedClientVersions="[4.0.3-pre.6, 5.0.0-a)" />
8-
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.1" supportedClientVersions="[4.5.15-a,5.0.0)" />
8+
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.2" supportedClientVersions="[4.5.15-a,5.0.0)" />
99
<module moduleId="Intent.Application.Dtos" version="4.4.6" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1010
<module moduleId="Intent.Application.Dtos.AutoMapper" version="4.0.18" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1111
<module moduleId="Intent.Application.Dtos.Pagination" version="4.1.2" supportedClientVersions="[4.3.0-a, 5.0.0-a)" />

Tests/AdvancedMappingCrud.Mongo.Tests/modules.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<module moduleId="Intent.Application.DependencyInjection" version="4.1.10" supportedClientVersions="[4.5.15-a, 5.0.0-a)" />
66
<module moduleId="Intent.Application.DependencyInjection.AutoMapper" version="4.0.3" supportedClientVersions="[4.1.0-pre.0, 5.0.0-a)" />
77
<module moduleId="Intent.Application.DependencyInjection.MediatR" version="3.6.0" supportedClientVersions="[4.0.3-pre.6, 5.0.0-a)" />
8-
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.1" supportedClientVersions="[4.5.15-a,5.0.0)" />
8+
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.2" supportedClientVersions="[4.5.15-a,5.0.0)" />
99
<module moduleId="Intent.Application.Dtos" version="4.4.6" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1010
<module moduleId="Intent.Application.Dtos.AutoMapper" version="4.0.18" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1111
<module moduleId="Intent.Application.Dtos.Pagination" version="4.1.2" supportedClientVersions="[4.3.0-a, 5.0.0-a)" />

Tests/AdvancedMappingCrud.Repositories.ProjectTo.Tests/modules.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<module moduleId="Intent.Application.DependencyInjection" version="4.1.10" supportedClientVersions="[4.5.15-a, 5.0.0-a)" />
66
<module moduleId="Intent.Application.DependencyInjection.AutoMapper" version="4.0.3" supportedClientVersions="[4.1.0-pre.0, 5.0.0-a)" />
77
<module moduleId="Intent.Application.DependencyInjection.MediatR" version="3.6.0" supportedClientVersions="[4.0.3-pre.6, 5.0.0-a)" />
8-
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.1" supportedClientVersions="[4.5.15-a,5.0.0)" />
8+
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.2" supportedClientVersions="[4.5.15-a,5.0.0)" />
99
<module moduleId="Intent.Application.Dtos" version="4.4.6" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1010
<module moduleId="Intent.Application.Dtos.AutoMapper" version="4.0.18" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1111
<module moduleId="Intent.Application.Dtos.Pagination" version="4.1.2" supportedClientVersions="[4.3.0-a, 5.0.0-a)" />

Tests/AdvancedMappingCrud.Repositories.Tests/modules.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<module moduleId="Intent.Application.DependencyInjection" version="4.1.10" supportedClientVersions="[4.5.15-a, 5.0.0-a)" />
77
<module moduleId="Intent.Application.DependencyInjection.AutoMapper" version="4.0.3" supportedClientVersions="[4.1.0-pre.0, 5.0.0-a)" />
88
<module moduleId="Intent.Application.DependencyInjection.MediatR" version="3.6.0" supportedClientVersions="[4.0.3-pre.6, 5.0.0-a)" />
9-
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.1" supportedClientVersions="[4.5.15-a,5.0.0)" />
9+
<module moduleId="Intent.Application.DomainInteractions" version="1.1.6-pre.2" supportedClientVersions="[4.5.15-a,5.0.0)" />
1010
<module moduleId="Intent.Application.Dtos" version="4.4.6" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1111
<module moduleId="Intent.Application.Dtos.AutoMapper" version="4.0.18" supportedClientVersions="[4.5.0-a, 5.0.0-a)" />
1212
<module moduleId="Intent.Application.Dtos.Pagination" version="4.1.2" supportedClientVersions="[4.3.0-a, 5.0.0-a)" />

0 commit comments

Comments
 (0)