From 3f268f3a1a2273bda0d8946a5ffe73e631010148 Mon Sep 17 00:00:00 2001 From: "jacek.wolniewicz" Date: Sat, 29 Jun 2024 23:12:24 +0200 Subject: [PATCH] Introduce dependecy injection container - TikTokLiveClientBuilder this class has been higly modify to support DI container --- .../jwdeveloper/tiktok/TikTokLiveClientBuilder.java | 9 +++------ .../jwdeveloper/tiktok/TikTokLiveMessageHandler.java | 5 +++-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClientBuilder.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClientBuilder.java index b8c003d..68bacae 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClientBuilder.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveClientBuilder.java @@ -115,18 +115,18 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder { //config dependance.registerSingleton(LiveClientSettings.class, clientSettings); + dependance.registerSingleton(Logger.class, LoggerFactory.create(clientSettings.getHostName(), clientSettings)); dependance.registerSingleton(TikTokRoomInfo.class, container -> { var roomInfo = new TikTokRoomInfo(); roomInfo.setHostName(clientSettings.getHostName()); return roomInfo; }); - dependance.registerSingleton(Logger.class, LoggerFactory.create(clientSettings.getHostName(), clientSettings)); //messages dependance.registerSingleton(TikTokLiveEventHandler.class, eventHandler); dependance.registerSingleton(TikTokLiveMessageHandler.class); - dependance.registerSingleton(TikTokLiveMapper.class, (container) -> + dependance.registerSingleton(TikTokMapper.class, (container) -> { var dependace = (DependanceContainer) container.find(DependanceContainer.class); var mapper = MessagesMapperFactory.create(dependace); @@ -165,7 +165,7 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder { //mapper dependance.registerSingleton(TikTokGenericEventMapper.class); dependance.registerSingleton(TikTokMapperHelper.class, TikTokLiveMapperHelper.class); - dependance.registerSingleton(TikTokLiveMapper.class); + dependance.registerSingleton(TikTokMapper.class, TikTokLiveMapper.class); //mapper handlers dependance.registerSingleton(TikTokCommonEventHandler.class); @@ -173,9 +173,6 @@ public class TikTokLiveClientBuilder implements LiveClientBuilder { dependance.registerSingleton(TikTokRoomInfoEventHandler.class); dependance.registerSingleton(TikTokSocialMediaEventHandler.class); - - - //client dependance.registerSingleton(LiveClient.class, TikTokLiveClient.class); diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveMessageHandler.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveMessageHandler.java index 893f3d8..8ebb6fc 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveMessageHandler.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/TikTokLiveMessageHandler.java @@ -31,6 +31,7 @@ import io.github.jwdeveloper.tiktok.data.events.websocket.TikTokWebsocketUnhandl import io.github.jwdeveloper.tiktok.exceptions.TikTokLiveMessageException; import io.github.jwdeveloper.tiktok.live.LiveClient; import io.github.jwdeveloper.tiktok.mappers.TikTokLiveMapper; +import io.github.jwdeveloper.tiktok.mappers.TikTokMapper; import io.github.jwdeveloper.tiktok.messages.webcast.WebcastResponse; import io.github.jwdeveloper.tiktok.utils.Stopwatch; @@ -41,9 +42,9 @@ public class TikTokLiveMessageHandler { private final TikTokLiveEventHandler tikTokEventHandler; private final TikTokLiveMapper mapper; - public TikTokLiveMessageHandler(TikTokLiveEventHandler tikTokEventHandler, TikTokLiveMapper mapper) { + public TikTokLiveMessageHandler(TikTokLiveEventHandler tikTokEventHandler, TikTokMapper mapper) { this.tikTokEventHandler = tikTokEventHandler; - this.mapper = mapper; + this.mapper = (TikTokLiveMapper)mapper; } public void handle(LiveClient client, WebcastResponse webcastResponse) {