Skip to content

Commit 4ad0a5b

Browse files
authored
Add missing json converters to the services (#2209)
* Use new AddDefaultJsonConverters extension method in the AddPlatformIndependentServices. * Fix tests.
1 parent a521f52 commit 4ad0a5b

File tree

5 files changed

+13
-2
lines changed

5 files changed

+13
-2
lines changed

src/ContentRepository/SnMessageFormatterExtensions.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.Extensions.DependencyInjection;
2+
using Newtonsoft.Json;
23
using SenseNet.ApplicationModel;
34
using SenseNet.Communication.Messaging;
45
using SenseNet.ContentRepository;
@@ -8,12 +9,19 @@
89
using SenseNet.ContentRepository.Storage;
910
using SenseNet.ContentRepository.Storage.Caching.Dependency;
1011
using SenseNet.ContentRepository.Storage.Caching.DistributedActions;
12+
using SenseNet.Search.Indexing;
1113

1214
// ReSharper disable once CheckNamespace
1315
namespace SenseNet.Extensions.DependencyInjection
1416
{
1517
public static class SnMessageFormatterExtensions
1618
{
19+
public static IServiceCollection AddDefaultJsonConverters(this IServiceCollection services)
20+
{
21+
return services
22+
.AddSingleton<JsonConverter, IndexFieldJsonConverter>()
23+
;
24+
}
1725
public static IServiceCollection AddDefaultClusterMessageTypes(this IServiceCollection services)
1826
{
1927
return services

src/Search/Indexing/IndexFieldJsonConverter.cs

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

66
namespace SenseNet.Search.Indexing
77
{
8-
internal class IndexFieldJsonConverter : JsonConverter<IndexField>
8+
public class IndexFieldJsonConverter : JsonConverter<IndexField>
99
{
1010
public override void WriteJson(JsonWriter writer, IndexField value, JsonSerializer serializer)
1111
{

src/Services.Core/ServicesExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ public static IServiceCollection AddPlatformIndependentServices(this IServiceCol
167167

168168
.AddSingleton(ClusterMemberInfo.Current)
169169
.AddDefaultClusterMessageTypes()
170+
.AddDefaultJsonConverters()
170171
.AddSingleton<IClusterMessageFormatter, SnMessageFormatter>()
171172
.AddSingleton<IClusterChannel, VoidChannel>()
172173

src/Tests/SenseNet.ContentRepository.Tests/ClusterMessageTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ protected internal override void OnMessageReceived(Stream messageBody)
8484
private async STT.Task SerializationTest<T>(T message, Action<T> assertion) where T : ClusterMessage
8585
{
8686
var services = new ServiceCollection()
87-
.AddSingleton<IEnumerable<JsonConverter>>(new JsonConverter[] {new IndexFieldJsonConverter()})
8887
.AddSingleton(ClusterMemberInfo.Current)
8988
.AddDefaultClusterMessageTypes()
89+
.AddDefaultJsonConverters()
9090
.AddSingleton<IClusterMessageFormatter, SnMessageFormatter>()
9191
.AddSingleton<IClusterChannel, TestClusterChannel>()
9292
.AddSingleton<IIndexManager, TestIndexManager>()

src/Tests/WebAppTests/ServicesTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using Microsoft.Extensions.Logging;
1212
using Microsoft.Extensions.Options;
1313
using Microsoft.VisualStudio.TestTools.UnitTesting;
14+
using Newtonsoft.Json;
1415
using SenseNet.AI.Text;
1516
using SenseNet.AI.Text.SemanticKernel;
1617
using SenseNet.AI.Vision;
@@ -423,6 +424,7 @@ private IDictionary<Type, object> GetGeneralizedExpectations()
423424
}},
424425
{typeof(TextExtractorRegistration), typeof(TextExtractorRegistration) },
425426

427+
{typeof(JsonConverter), typeof(IndexFieldJsonConverter)},
426428
{typeof(IClusterMessageFormatter), typeof(SnMessageFormatter)},
427429
{typeof(ClusterMemberInfo), typeof(ClusterMemberInfo)},
428430
{typeof(IClusterChannel), typeof(VoidChannel)},

0 commit comments

Comments
 (0)