From 63db2cb06e53c6873303abe316619eb955f5af5d Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Thu, 19 Dec 2024 17:12:52 +0000 Subject: [PATCH] add ServerObjectManagerFactory --- .../Serialisation/V2/SerializeProcessFactory.cs | 11 ++++------- .../Serialisation/V2/ServerObjectManagerFactory.cs | 13 +++++++++++++ 2 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 src/Speckle.Sdk/Serialisation/V2/ServerObjectManagerFactory.cs diff --git a/src/Speckle.Sdk/Serialisation/V2/SerializeProcessFactory.cs b/src/Speckle.Sdk/Serialisation/V2/SerializeProcessFactory.cs index 36cc08af..119e1a18 100644 --- a/src/Speckle.Sdk/Serialisation/V2/SerializeProcessFactory.cs +++ b/src/Speckle.Sdk/Serialisation/V2/SerializeProcessFactory.cs @@ -1,5 +1,3 @@ -using Speckle.Sdk.Helpers; -using Speckle.Sdk.Logging; using Speckle.Sdk.Serialisation.V2.Receive; using Speckle.Sdk.Serialisation.V2.Send; using Speckle.Sdk.SQLite; @@ -31,12 +29,11 @@ public interface ISerializeProcessFactory } public class SerializeProcessFactory( - ISpeckleHttp speckleHttp, - ISdkActivityFactory activityFactory, IBaseChildFinder baseChildFinder, IObjectSerializerFactory objectSerializerFactory, IObjectDeserializerFactory objectDeserializerFactory, - ISqLiteJsonCacheManagerFactory sqLiteJsonCacheManagerFactory + ISqLiteJsonCacheManagerFactory sqLiteJsonCacheManagerFactory, + IServerObjectManagerFactory serverObjectManagerFactory ) : ISerializeProcessFactory { public ISerializeProcess CreateSerializeProcess( @@ -48,7 +45,7 @@ public class SerializeProcessFactory( ) { var sqLiteJsonCacheManager = sqLiteJsonCacheManagerFactory.CreateFromStream(streamId); - var serverObjectManager = new ServerObjectManager(speckleHttp, activityFactory, url, streamId, authorizationToken); + var serverObjectManager = serverObjectManagerFactory.Create(url, streamId, authorizationToken); return new SerializeProcess( progress, sqLiteJsonCacheManager, @@ -85,7 +82,7 @@ public class SerializeProcessFactory( ) { var sqLiteJsonCacheManager = sqLiteJsonCacheManagerFactory.CreateFromStream(streamId); - var serverObjectManager = new ServerObjectManager(speckleHttp, activityFactory, url, streamId, authorizationToken); + var serverObjectManager = serverObjectManagerFactory.Create(url, streamId, authorizationToken); var objectLoader = new ObjectLoader(sqLiteJsonCacheManager, serverObjectManager, progress); return new DeserializeProcess(progress, objectLoader, objectDeserializerFactory, options); diff --git a/src/Speckle.Sdk/Serialisation/V2/ServerObjectManagerFactory.cs b/src/Speckle.Sdk/Serialisation/V2/ServerObjectManagerFactory.cs new file mode 100644 index 00000000..071a62b5 --- /dev/null +++ b/src/Speckle.Sdk/Serialisation/V2/ServerObjectManagerFactory.cs @@ -0,0 +1,13 @@ +using Speckle.InterfaceGenerator; +using Speckle.Sdk.Helpers; +using Speckle.Sdk.Logging; + +namespace Speckle.Sdk.Serialisation.V2; + +[GenerateAutoInterface] +public class ServerObjectManagerFactory(ISpeckleHttp speckleHttp, ISdkActivityFactory activityFactory) + : IServerObjectManagerFactory +{ + public IServerObjectManager Create(Uri url, string streamId, string? authorizationToken, int timeoutSeconds = 120) => + new ServerObjectManager(speckleHttp, activityFactory, url, streamId, authorizationToken, timeoutSeconds); +}