mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-04-01 14:53:18 +02:00
Added notice when there are some failed projects. This required some refactorings and fixes, that are also included in this commit.
This commit is contained in:
@@ -2,22 +2,27 @@ package com.ysoft.odc.statistics
|
||||
|
||||
import controllers.ReportInfo
|
||||
|
||||
final class FailedProjects(val failedProjectsSet: Set[String]){
|
||||
final class FailedProjects(val failedProjectsSet: Set[ReportInfo]){
|
||||
|
||||
val failedProjectIdsSet = failedProjectsSet.map(_.projectId)
|
||||
|
||||
def nonEmpty: Boolean = failedProjectsSet.nonEmpty
|
||||
|
||||
def isFailed(projectFullId: String): Boolean = {
|
||||
val projectBareId = projectFullId.takeWhile(_ != '/')
|
||||
failedProjectsSet contains projectBareId
|
||||
failedProjectIdsSet contains projectBareId
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
object FailedProjects {
|
||||
def combineFails(failedReportDownloads: Map[String, Throwable], parsingFailures: Map[ReportInfo, Throwable]): FailedProjects = {
|
||||
def combineFails(failedReportDownloads: Map[ReportInfo, Throwable], parsingFailures: Map[ReportInfo, Throwable]): FailedProjects = {
|
||||
/*
|
||||
Fail can happen at multiple places:
|
||||
1. Build cannot be downloaded (auth error, connection error, …) or is failed (failedReportDownloads)
|
||||
2. Build is successful and can be downloaded, but it cannot be parsed (parsingFailures)
|
||||
*/
|
||||
val failedProjectsSet = failedReportDownloads.keySet ++ parsingFailures.keySet.map(_.projectId)
|
||||
val failedProjectsSet = failedReportDownloads.keySet ++ parsingFailures.keySet
|
||||
new FailedProjects(failedProjectsSet)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user