From 764c2d69ea4a356c6fabc469f9e9fa9879044c5a Mon Sep 17 00:00:00 2001 From: Bart Koelman Date: Wed, 23 Jun 2021 16:06:31 +0200 Subject: [PATCH 1/4] Package updates --- .config/dotnet-tools.json | 8 ++++---- Directory.Build.props | 9 +++++---- .../JsonApiDotNetCore.MongoDb.csproj | 2 +- .../QueryableBuilding/MongoQueryableBuilder.cs | 7 +++---- .../QueryableBuilding/MongoWhereClauseBuilder.cs | 4 ++-- ...noreRelationshipsResponseResourceObjectBuilder.cs | 9 ++++++--- .../JsonApiDotNetCoreMongoDbExampleTests.csproj | 12 +++++------- .../HttpResponseMessageExtensions.cs | 7 ++++++- 8 files changed, 32 insertions(+), 26 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index fa75ada..191e32f 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,13 +3,13 @@ "isRoot": true, "tools": { "jetbrains.resharper.globaltools": { - "version": "2020.3.3", + "version": "2021.1.3", "commands": [ "jb" ] }, "regitlint": { - "version": "2.1.3", + "version": "2.1.4", "commands": [ "regitlint" ] @@ -21,10 +21,10 @@ ] }, "dotnet-reportgenerator-globaltool": { - "version": "4.8.7", + "version": "4.8.11", "commands": [ "reportgenerator" ] } } -} +} \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index c2d2eee..b7265fa 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,13 +2,13 @@ netcoreapp3.1 3.1.* - 4.1.* - 2.11.* + 4.2.* + 2.12.* $(SolutionDir)CodingGuidelines.ruleset - + @@ -25,6 +25,7 @@ 3.0.3 5.10.3 4.16.1 - 2.4.1 + 2.4.* + 16.10.0 diff --git a/src/JsonApiDotNetCore.MongoDb/JsonApiDotNetCore.MongoDb.csproj b/src/JsonApiDotNetCore.MongoDb/JsonApiDotNetCore.MongoDb.csproj index 6f778c9..166acc8 100644 --- a/src/JsonApiDotNetCore.MongoDb/JsonApiDotNetCore.MongoDb.csproj +++ b/src/JsonApiDotNetCore.MongoDb/JsonApiDotNetCore.MongoDb.csproj @@ -23,6 +23,6 @@ - + diff --git a/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoQueryableBuilder.cs b/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoQueryableBuilder.cs index f38cbb8..6660e26 100644 --- a/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoQueryableBuilder.cs +++ b/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoQueryableBuilder.cs @@ -18,6 +18,7 @@ public sealed class MongoQueryableBuilder : QueryableBuilder { private readonly Type _elementType; private readonly Type _extensionType; + private readonly LambdaParameterNameFactory _nameFactory; private readonly LambdaScopeFactory _lambdaScopeFactory; public MongoQueryableBuilder(Expression source, Type elementType, Type extensionType, LambdaParameterNameFactory nameFactory, @@ -25,11 +26,9 @@ public MongoQueryableBuilder(Expression source, Type elementType, Type extension LambdaScopeFactory lambdaScopeFactory = null) : base(source, elementType, extensionType, nameFactory, resourceFactory, resourceContextProvider, entityModel, lambdaScopeFactory) { - ArgumentGuard.NotNull(elementType, nameof(elementType)); - ArgumentGuard.NotNull(extensionType, nameof(extensionType)); - _elementType = elementType; _extensionType = extensionType; + _nameFactory = nameFactory; _lambdaScopeFactory = lambdaScopeFactory ?? new LambdaScopeFactory(nameFactory); } @@ -37,7 +36,7 @@ protected override Expression ApplyFilter(Expression source, FilterExpression fi { using LambdaScope lambdaScope = _lambdaScopeFactory.CreateScope(_elementType); - var builder = new MongoWhereClauseBuilder(source, lambdaScope, _extensionType); + var builder = new MongoWhereClauseBuilder(source, lambdaScope, _extensionType, _nameFactory); return builder.ApplyWhere(filter); } } diff --git a/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoWhereClauseBuilder.cs b/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoWhereClauseBuilder.cs index ed84754..da560be 100644 --- a/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoWhereClauseBuilder.cs +++ b/src/JsonApiDotNetCore.MongoDb/Queries/Internal/QueryableBuilding/MongoWhereClauseBuilder.cs @@ -10,8 +10,8 @@ namespace JsonApiDotNetCore.MongoDb.Queries.Internal.QueryableBuilding [PublicAPI] public class MongoWhereClauseBuilder : WhereClauseBuilder { - public MongoWhereClauseBuilder(Expression source, LambdaScope lambdaScope, Type extensionType) - : base(source, lambdaScope, extensionType) + public MongoWhereClauseBuilder(Expression source, LambdaScope lambdaScope, Type extensionType, LambdaParameterNameFactory nameFactory) + : base(source, lambdaScope, extensionType, nameFactory) { } diff --git a/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs b/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs index 87171e0..62cbc5c 100644 --- a/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs +++ b/src/JsonApiDotNetCore.MongoDb/Serialization/Building/IgnoreRelationshipsResponseResourceObjectBuilder.cs @@ -1,7 +1,8 @@ -using System.Collections.Generic; +using System.Collections.Generic; using JsonApiDotNetCore.Configuration; using JsonApiDotNetCore.MongoDb.Resources; using JsonApiDotNetCore.Queries; +using JsonApiDotNetCore.Queries.Internal; using JsonApiDotNetCore.Resources; using JsonApiDotNetCore.Resources.Annotations; using JsonApiDotNetCore.Serialization.Building; @@ -14,8 +15,10 @@ public sealed class IgnoreRelationshipsResponseResourceObjectBuilder : ResponseR { public IgnoreRelationshipsResponseResourceObjectBuilder(ILinkBuilder linkBuilder, IIncludedResourceObjectBuilder includedBuilder, IEnumerable constraintProviders, IResourceContextProvider resourceContextProvider, - IResourceDefinitionAccessor resourceDefinitionAccessor, IResourceObjectBuilderSettingsProvider settingsProvider) - : base(linkBuilder, includedBuilder, constraintProviders, resourceContextProvider, resourceDefinitionAccessor, settingsProvider) + IResourceDefinitionAccessor resourceDefinitionAccessor, IResourceObjectBuilderSettingsProvider settingsProvider, + IEvaluatedIncludeCache evaluatedIncludeCache) + : base(linkBuilder, includedBuilder, constraintProviders, resourceContextProvider, resourceDefinitionAccessor, settingsProvider, + evaluatedIncludeCache) { } diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj b/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj index 5afb727..8468ece 100644 --- a/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj +++ b/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj @@ -14,16 +14,14 @@ - + + - - + + - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/HttpResponseMessageExtensions.cs b/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/HttpResponseMessageExtensions.cs index 588f84c..aa0aa17 100644 --- a/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/HttpResponseMessageExtensions.cs +++ b/test/JsonApiDotNetCoreMongoDbExampleTests/TestBuildingBlocks/HttpResponseMessageExtensions.cs @@ -47,7 +47,12 @@ private static async Task GetFormattedContentAsync(HttpResponseMessage r { if (text.Length > 0) { - return JsonConvert.DeserializeObject(text).ToString(); + var json = JsonConvert.DeserializeObject(text); + + if (json != null) + { + return json.ToString(); + } } } #pragma warning disable AV1210 // Catch a specific exception instead of Exception, SystemException or ApplicationException From a0247daf5198c7d78d518d691c64c234a75d4d86 Mon Sep 17 00:00:00 2001 From: Bart Koelman Date: Wed, 23 Jun 2021 17:21:31 +0200 Subject: [PATCH 2/4] Revert Mongo version update to fix cibuild --- Directory.Build.props | 2 +- .../JsonApiDotNetCoreMongoDbExampleTests.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index b7265fa..dcd1c8e 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -3,7 +3,7 @@ netcoreapp3.1 3.1.* 4.2.* - 2.12.* + 2.11.* $(SolutionDir)CodingGuidelines.ruleset diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj b/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj index 8468ece..bb63ef9 100644 --- a/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj +++ b/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj @@ -19,7 +19,7 @@ - + From 84119fed65ed3449bf256c87bf1c2d707a3b9070 Mon Sep 17 00:00:00 2001 From: Bart Koelman Date: Wed, 23 Jun 2021 17:55:33 +0200 Subject: [PATCH 3/4] Retrying with newer engine --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index dcd1c8e..b7265fa 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -3,7 +3,7 @@ netcoreapp3.1 3.1.* 4.2.* - 2.11.* + 2.12.* $(SolutionDir)CodingGuidelines.ruleset From 15663833b6c1f8287d18b42e05541b467143f4aa Mon Sep 17 00:00:00 2001 From: Bart Koelman Date: Thu, 24 Jun 2021 10:19:40 +0200 Subject: [PATCH 4/4] Trying with latest version of previous major Mongo2Go release --- .../JsonApiDotNetCoreMongoDbExampleTests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj b/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj index bb63ef9..dd43933 100644 --- a/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj +++ b/test/JsonApiDotNetCoreMongoDbExampleTests/JsonApiDotNetCoreMongoDbExampleTests.csproj @@ -19,7 +19,7 @@ - +