From 3d1e0980186f63505beb8a2e5cf1039e0b2a6575 Mon Sep 17 00:00:00 2001 From: Hylston Barbosa Date: Fri, 28 Jul 2023 17:18:13 -0300 Subject: [PATCH] fixing circular dependencies --- .../boxsdk/BoxSDKServiceConfigProvider.java | 20 ++++++--- .../mojito/service/branch/BranchService.java | 17 ------- .../service/branch/DeleteBranchJob.java | 12 +++-- .../service/branch/DeleteBranchService.java | 44 +++++++++++++++++++ 4 files changed, 67 insertions(+), 26 deletions(-) create mode 100644 webapp/src/main/java/com/box/l10n/mojito/service/branch/DeleteBranchService.java diff --git a/webapp/src/main/java/com/box/l10n/mojito/boxsdk/BoxSDKServiceConfigProvider.java b/webapp/src/main/java/com/box/l10n/mojito/boxsdk/BoxSDKServiceConfigProvider.java index 0ff96a05d3..3b3268dafb 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/boxsdk/BoxSDKServiceConfigProvider.java +++ b/webapp/src/main/java/com/box/l10n/mojito/boxsdk/BoxSDKServiceConfigProvider.java @@ -1,16 +1,24 @@ package com.box.l10n.mojito.boxsdk; -import com.box.l10n.mojito.service.boxsdk.BoxSDKServiceConfigEntityService; -import org.springframework.beans.factory.annotation.Autowired; +import com.box.l10n.mojito.service.boxsdk.BoxSDKServiceConfigEntityRepository; import org.springframework.stereotype.Component; -/** @author wyau */ +/** + * @author wyau + */ @Component public class BoxSDKServiceConfigProvider { - @Autowired BoxSDKServiceConfigFromProperties boxSDKServiceConfigFromProperties; + private final BoxSDKServiceConfigFromProperties boxSDKServiceConfigFromProperties; - @Autowired BoxSDKServiceConfigEntityService boxSDKServiceConfigEntityService; + private final BoxSDKServiceConfigEntityRepository boxSDKServiceConfigEntityRepository; + + public BoxSDKServiceConfigProvider( + BoxSDKServiceConfigFromProperties boxSDKServiceConfigFromProperties, + BoxSDKServiceConfigEntityRepository boxSDKServiceConfigEntityRepository) { + this.boxSDKServiceConfigFromProperties = boxSDKServiceConfigFromProperties; + this.boxSDKServiceConfigEntityRepository = boxSDKServiceConfigEntityRepository; + } /** * @return The config to be used @@ -22,7 +30,7 @@ public BoxSDKServiceConfig getConfig() throws BoxSDKServiceException { if (boxSDKServiceConfigFromProperties.isUseConfigsFromProperties()) { result = boxSDKServiceConfigFromProperties; } else { - result = boxSDKServiceConfigEntityService.getBoxSDKServiceConfigEntity(); + result = boxSDKServiceConfigEntityRepository.findFirstByOrderByIdAsc(); if (result == null) { throw new BoxSDKServiceException( diff --git a/webapp/src/main/java/com/box/l10n/mojito/service/branch/BranchService.java b/webapp/src/main/java/com/box/l10n/mojito/service/branch/BranchService.java index 99e83ac025..6fcd388b08 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/service/branch/BranchService.java +++ b/webapp/src/main/java/com/box/l10n/mojito/service/branch/BranchService.java @@ -7,7 +7,6 @@ import com.box.l10n.mojito.entity.security.user.User; import com.box.l10n.mojito.quartz.QuartzJobInfo; import com.box.l10n.mojito.quartz.QuartzPollableTaskScheduler; -import com.box.l10n.mojito.service.asset.AssetService; import com.box.l10n.mojito.service.pollableTask.PollableFuture; import java.text.MessageFormat; import java.util.Set; @@ -30,8 +29,6 @@ public class BranchService { @Autowired BranchRepository branchRepository; - @Autowired AssetService assetService; - @Autowired QuartzPollableTaskScheduler quartzPollableTaskScheduler; public Branch createBranch( @@ -84,18 +81,4 @@ public PollableFuture asyncDeleteBranch(Long repositoryId, Long branchId) .build(); return quartzPollableTaskScheduler.scheduleJob(quartzJobInfo); } - - public void deleteBranch(Long repositoryId, Long branchId) { - deleteBranchAsset(branchId, repositoryId); - - Branch branch = branchRepository.findById(branchId).orElse(null); - logger.debug("Mark branch {} as deleted", branch.getName()); - branch.setDeleted(true); - branchRepository.save(branch); - } - - public void deleteBranchAsset(Long branchId, Long repositoryId) { - Set assetIds = assetService.findAllAssetIds(repositoryId, null, false, false, branchId); - assetService.deleteAssetsOfBranch(assetIds, branchId); - } } diff --git a/webapp/src/main/java/com/box/l10n/mojito/service/branch/DeleteBranchJob.java b/webapp/src/main/java/com/box/l10n/mojito/service/branch/DeleteBranchJob.java index 4d277f8ff2..77b5be839e 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/service/branch/DeleteBranchJob.java +++ b/webapp/src/main/java/com/box/l10n/mojito/service/branch/DeleteBranchJob.java @@ -6,19 +6,25 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -/** @author jaurambault */ +/** + * @author jaurambault + */ @Component public class DeleteBranchJob extends QuartzPollableJob { /** logger */ static Logger logger = LoggerFactory.getLogger(DeleteBranchJob.class); - @Autowired BranchService branchService; + private final DeleteBranchService deleteBranchService; + + public DeleteBranchJob(DeleteBranchService deleteBranchService) { + this.deleteBranchService = deleteBranchService; + } @Override public Void call(DeleteBranchJobInput input) throws Exception { logger.debug("DeleteAssetsOfBranchJob"); - branchService.deleteBranch(input.getRepositoryId(), input.getBranchId()); + deleteBranchService.deleteBranch(input.getRepositoryId(), input.getBranchId()); return null; } } diff --git a/webapp/src/main/java/com/box/l10n/mojito/service/branch/DeleteBranchService.java b/webapp/src/main/java/com/box/l10n/mojito/service/branch/DeleteBranchService.java new file mode 100644 index 0000000000..f6810e2b46 --- /dev/null +++ b/webapp/src/main/java/com/box/l10n/mojito/service/branch/DeleteBranchService.java @@ -0,0 +1,44 @@ +package com.box.l10n.mojito.service.branch; + +import static org.slf4j.LoggerFactory.getLogger; + +import com.box.l10n.mojito.entity.Branch; +import com.box.l10n.mojito.service.asset.AssetService; +import java.util.Set; +import org.slf4j.Logger; +import org.springframework.stereotype.Service; + +/** + * Service to manage deletion of {@link Branch}es. + * + * @author jeanaurambault + */ +@Service +public class DeleteBranchService { + + /** logger */ + static Logger logger = getLogger(DeleteBranchService.class); + + private final BranchRepository branchRepository; + + private final AssetService assetService; + + public DeleteBranchService(BranchRepository branchRepository, AssetService assetService) { + this.branchRepository = branchRepository; + this.assetService = assetService; + } + + public void deleteBranch(Long repositoryId, Long branchId) { + deleteBranchAsset(branchId, repositoryId); + + Branch branch = branchRepository.findById(branchId).orElse(null); + logger.debug("Mark branch {} as deleted", branch.getName()); + branch.setDeleted(true); + branchRepository.save(branch); + } + + public void deleteBranchAsset(Long branchId, Long repositoryId) { + Set assetIds = assetService.findAllAssetIds(repositoryId, null, false, false, branchId); + assetService.deleteAssetsOfBranch(assetIds, branchId); + } +}