From bf611faa3860aee1f8d11d904f7e85e2d677fff7 Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Sat, 10 Apr 2021 12:19:44 +0400 Subject: [PATCH] #12 -- Fix code --- .../service/StructuralUnitService.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/ru/ulstu/extractor/heuristic/service/StructuralUnitService.java b/src/main/java/ru/ulstu/extractor/heuristic/service/StructuralUnitService.java index 84b0e6a..389ec81 100644 --- a/src/main/java/ru/ulstu/extractor/heuristic/service/StructuralUnitService.java +++ b/src/main/java/ru/ulstu/extractor/heuristic/service/StructuralUnitService.java @@ -13,6 +13,7 @@ import ru.ulstu.extractor.service.GitRepositoryService; import java.io.File; import java.io.IOException; import java.util.List; +import java.util.function.Predicate; @Service public class StructuralUnitService { @@ -32,18 +33,24 @@ public class StructuralUnitService { File rootPath = gitRepositoryService.getProjectDirectoryFile(repositoryUrl); List projectFiles = directoryService.getFilesRecursively(rootPath); List rootProjectFiles = directoryService.getDirectoryFiles(rootPath.toPath()); - StructuralUnitIdentifier selectedIdentifier = structuralUnitIdentifiers.stream() - .filter(structuralUnitIdentifier -> structuralUnitIdentifier.canAppliedToProject(rootPath.getPath(), projectFiles, rootProjectFiles)) - .findAny() - .orElseThrow(() -> new RuntimeException("Identifier not found")); - return selectedIdentifier.getEntityClasses(rootPath.getPath(), projectFiles, rootProjectFiles); + return getStructuralUnitIdentifier( + structuralUnitIdentifier -> structuralUnitIdentifier.canAppliedToProject( + rootPath.getPath(), + projectFiles, + rootProjectFiles) + ).getEntityClasses(rootPath.getPath(), projectFiles, rootProjectFiles); } public boolean containsEntity(File projectFile) { - StructuralUnitIdentifier selectedIdentifier = structuralUnitIdentifiers.stream() - .filter(structuralUnitIdentifier -> structuralUnitIdentifier.canAppliedToFile(projectFile)) + return getStructuralUnitIdentifier( + structuralUnitIdentifier -> structuralUnitIdentifier.canAppliedToFile(projectFile) + ).isEntityClass(projectFile); + } + + private StructuralUnitIdentifier getStructuralUnitIdentifier(Predicate predicate) { + return structuralUnitIdentifiers.stream() + .filter(predicate) .findAny() .orElseThrow(() -> new RuntimeException("Identifier not found")); - return selectedIdentifier.isEntityClass(projectFile); } }