From 2152010e96b229d6612920ba787eaa7896b533b7 Mon Sep 17 00:00:00 2001 From: Jan-Niclas Struewer <j.n.struewer@gmail.com> Date: Mon, 30 Oct 2023 14:16:23 +0100 Subject: [PATCH] consistent naming for projectId --- .../gitlab/service/OpenCodeGitlabApi.kt | 28 +++++++++---------- .../repository/dto/RepositoryDetailsDto.kt | 2 +- .../dataprovider/toolRun/dto/ToolRunDto.kt | 4 +-- .../toolRun/service/ToolRunService.kt | 2 +- .../service/RepositoryDetailsService.kt | 4 +-- .../tools/occmd/service/OccmdService.kt | 10 +++---- .../tools/ort/service/OrtService.kt | 18 ++++++------ 7 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/gitlab/service/OpenCodeGitlabApi.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/gitlab/service/OpenCodeGitlabApi.kt index 8f761ee8..4e9566eb 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/gitlab/service/OpenCodeGitlabApi.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/gitlab/service/OpenCodeGitlabApi.kt @@ -23,12 +23,12 @@ class OpenCodeGitlabApi(openCodeGitlabConfiguration: OpenCodeGitlabApiProperties /** * Queries the gitlab project API at ${gitlabConfiguration.host} and returns a RepositoryCreateDto */ - fun getRepositoryInfo(repoId: Long): RepositoryCreateDto { - logger.info("Get repository info for repository id $repoId started") + fun getRepositoryInfo(projectId: Long): RepositoryCreateDto { + logger.info("Get repository info for repository id $projectId started") - val project = gitlabApi.projectApi.getProject(repoId) + val project = gitlabApi.projectApi.getProject(projectId) val projectUri = project.httpUrlToRepo - val repoCreateDto = RepositoryCreateDto(project.path, projectUri, repoId) + val repoCreateDto = RepositoryCreateDto(project.path, projectUri, projectId) logger.info("Get repository info $repoCreateDto finished successfully.") return repoCreateDto @@ -37,18 +37,18 @@ class OpenCodeGitlabApi(openCodeGitlabConfiguration: OpenCodeGitlabApiProperties /** * Queries gitlab project, commit, and repository API to create a RepositoryDetailsDto */ - suspend fun getRepositoryDetails(repoId: Long): RepositoryDetailsDto { - logger.info("Get repository details for repository id $repoId started") + suspend fun getRepositoryDetails(projectId: Long): RepositoryDetailsDto { + logger.info("Get repository details for repository id $projectId started") - val project = gitlabApi.projectApi.getProject(repoId) + val project = gitlabApi.projectApi.getProject(projectId) // Note: We only take commits from the default branch val commits = gitlabApi.commitsApi.getCommits(project.id, project.defaultBranch, ".") val numberOfCommits = commits.count() - val numberOfSignedCommits = getNumberOfSignedCommits(repoId, commits) - val isDefaultBranchProtected = isDefaultBranchProtected(repoId, project) + val numberOfSignedCommits = getNumberOfSignedCommits(projectId, commits) + val isDefaultBranchProtected = isDefaultBranchProtected(projectId, project) val repoDetailsDto = RepositoryDetailsDto( - repoId, + projectId, numberOfCommits, numberOfSignedCommits, isDefaultBranchProtected @@ -59,24 +59,24 @@ class OpenCodeGitlabApi(openCodeGitlabConfiguration: OpenCodeGitlabApiProperties } private suspend fun getNumberOfSignedCommits( - repoId: Long, + projectId: Long, commits: List<Commit>, ioDispatcher: CoroutineDispatcher = Dispatchers.IO ): Int = coroutineScope { val deferreds = commits.map { async(ioDispatcher) { - gitlabApi.commitsApi.getOptionalGpgSignature(repoId, it.id) + gitlabApi.commitsApi.getOptionalGpgSignature(projectId, it.id) } } deferreds.awaitAll().count { !it.isEmpty } } - private fun isDefaultBranchProtected(repoId: Long, project: Project): Boolean { + private fun isDefaultBranchProtected(projectId: Long, project: Project): Boolean { return try { val defaultBranchName = project.defaultBranch - val branch = gitlabApi.repositoryApi.getBranch(repoId, defaultBranchName) + val branch = gitlabApi.repositoryApi.getBranch(projectId, defaultBranchName) branch.protected } catch (e: Exception) { // in theory, error probably happens if branch can't be found. In this case we default to false diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/dto/RepositoryDetailsDto.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/dto/RepositoryDetailsDto.kt index 0b876c99..1eb7e8e4 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/dto/RepositoryDetailsDto.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/repository/dto/RepositoryDetailsDto.kt @@ -1,7 +1,7 @@ package de.fraunhofer.iem.dataprovider.repository.dto data class RepositoryDetailsDto( - val repoId: Long, + val projectId: Long, val numberOfCommits: Int, val numberOfSignedCommits: Int, val isDefaultBranchProtected: Boolean diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/toolRun/dto/ToolRunDto.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/toolRun/dto/ToolRunDto.kt index a3a3614d..51e1277a 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/toolRun/dto/ToolRunDto.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/toolRun/dto/ToolRunDto.kt @@ -4,14 +4,14 @@ import de.fraunhofer.iem.dataprovider.tool.dto.ToolResponseDto import de.fraunhofer.iem.dataprovider.toolRun.entity.ToolRunEntity import java.util.* -data class ToolRunDto(val id: UUID, val createdAt: String, val repoId: Long, val tools: List<ToolResponseDto>) { +data class ToolRunDto(val id: UUID, val createdAt: String, val projectId: Long, val tools: List<ToolResponseDto>) { companion object { fun getDtoFromEntityWithToolFindings(toolRunEntity: ToolRunEntity, tools: List<ToolResponseDto>): ToolRunDto { if (toolRunEntity.id != null) { return ToolRunDto( id = toolRunEntity.id!!, createdAt = toolRunEntity.createdAt.toString(), - repoId = toolRunEntity.repository.projectId, + projectId = toolRunEntity.repository.projectId, tools = tools ) } diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/toolRun/service/ToolRunService.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/toolRun/service/ToolRunService.kt index b72cf8ba..e20d0873 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/toolRun/service/ToolRunService.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/toolRun/service/ToolRunService.kt @@ -150,7 +150,7 @@ class ToolRunService( apiJobs.add( defaultScope.async { // TODO: this will be replaced by an API call - val rawOrtResult = ortService.getOrtResults(repoId = repo.projectId) + val rawOrtResult = ortService.getOrtResults(projectId = repo.projectId) val findings = ortService.getFindings(rawOrtResult) tool.toolType.toViewModel(findings = findings) } diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/gitlab/service/RepositoryDetailsService.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/gitlab/service/RepositoryDetailsService.kt index 271347ea..4fcff49b 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/gitlab/service/RepositoryDetailsService.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/gitlab/service/RepositoryDetailsService.kt @@ -11,8 +11,8 @@ import org.springframework.stereotype.Service @Service class RepositoryDetailsService(private val openCodeGitlabApi: OpenCodeGitlabApi, private val toolService: ToolService) { - suspend fun getRepositoryDetails(repoId: Long): RepositoryDetailsDto { - return openCodeGitlabApi.getRepositoryDetails(repoId) + suspend fun getRepositoryDetails(projectId: Long): RepositoryDetailsDto { + return openCodeGitlabApi.getRepositoryDetails(projectId) } val toolEntity: ToolEntity = getOrCreateToolEntity() diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/occmd/service/OccmdService.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/occmd/service/OccmdService.kt index 1dfeeb6e..61322382 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/occmd/service/OccmdService.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/occmd/service/OccmdService.kt @@ -49,11 +49,11 @@ class OccmdService( * the DTOs. */ @OptIn(ExperimentalPathApi::class) - suspend fun runOccmd(repoId: Long, repoUrl: String): List<RawResultJson> { - logger.info("runOccmd for repo $repoId") + suspend fun runOccmd(projectId: Long, repoUrl: String): List<RawResultJson> { + logger.info("runOccmd for repo $projectId") val rawOccmdResults = try { // clone repo - val outDir = Paths.get(dirProperties.gitCloneTargetDirectory, "$repoId-${Date().time}") + val outDir = Paths.get(dirProperties.gitCloneTargetDirectory, "$projectId-${Date().time}") logger.info("Cloning git to $outDir") cloneGit(repoUrl, outDir.toFile()) @@ -64,7 +64,7 @@ class OccmdService( dirProperties.occmdPath, arrayOf( outDir.toString(), - "$repoId", + "$projectId", gitlabApiProperties.accessToken ) ) @@ -80,7 +80,7 @@ class OccmdService( logger.error("OCCMD tool run failed with $e") emptyList() } - logger.info("OCCMD tool run for repo $repoId finished") + logger.info("OCCMD tool run for repo $projectId finished") // TODO: right now we fire and forget, in a sense that we run the tool calculate the // KPIs and forget the tool results. For this tool we want to manually store the results // until it is included into the official CI/CD pipeline. diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/ort/service/OrtService.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/ort/service/OrtService.kt index 2dd57baa..e86132e6 100644 --- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/ort/service/OrtService.kt +++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tools/ort/service/OrtService.kt @@ -36,9 +36,9 @@ class OrtService( * When the API call fails, or contains malformed/incomplete * elements this function returns an empty list. */ - suspend fun getOrtResults(repoId: Long): List<VulnerabilityDto> { - val ortResults = queryOrtApi(repoId) - logger.info("Got ${ortResults.size} ORT results for $repoId.") + suspend fun getOrtResults(projectId: Long): List<VulnerabilityDto> { + val ortResults = queryOrtApi(projectId) + logger.info("Got ${ortResults.size} ORT results for $projectId.") return ortResults.mapNotNull { if (it.cveId != null && it.packageName != null && it.severity != null) { VulnerabilityDto(it.cveId, it.packageName, it.severity) @@ -62,16 +62,16 @@ class OrtService( return toolService.findOrCreateTool(createToolDto) } - private suspend fun queryOrtApi(repoId: Long): List<ResultJson> { + private suspend fun queryOrtApi(projectId: Long): List<ResultJson> { return try { - logger.info("Query ORT API for repo with id $repoId") - val response: HttpResponse = httpClient.get(getToolApiPath(repoId)) + logger.info("Query ORT API for repo with id $projectId") + val response: HttpResponse = httpClient.get(getToolApiPath(projectId)) val ortJson = response.body<OrtJson>() if (ortJson.code != HttpStatusCode.OK.value) { throw Exception("ORT API returned with code ${ortJson.code}") } - logger.info("Query ORT API for repo with id $repoId returned with ${ortJson.code}") + logger.info("Query ORT API for repo with id $projectId returned with ${ortJson.code}") ortJson.result } catch (exception: Exception) { logger.error("Query to ORT API failed with exception $exception") @@ -79,7 +79,7 @@ class OrtService( } } - private fun getToolApiPath(repoId: Long): String { - return "${openCodeApiProperties.basePath}$repoId${openCodeApiProperties.ort}" + private fun getToolApiPath(projectId: Long): String { + return "${openCodeApiProperties.basePath}$projectId${openCodeApiProperties.ort}" } } -- GitLab