mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-02-25 20:05:52 +01:00
Fixed bug in filtering by team. If a team has assigned a project with all subprojects and the project has more than one subproject, only one subproject used to be shown when filtering by team.
This is a trivial fix (two/three lines changed), but other additions are in tests.
This commit is contained in:
@@ -20,7 +20,7 @@ sealed trait Filter{
|
||||
def descriptionHtml: Html
|
||||
def descriptionText: String
|
||||
}
|
||||
private final case class ProjectFilter(project: ReportInfo) extends Filter{
|
||||
final case class ProjectFilter(project: ReportInfo) extends Filter{
|
||||
override def filters: Boolean = true
|
||||
override def descriptionHtml: Html = views.html.filters.project(project)
|
||||
override def descriptionText: String = s"project ${friendlyProjectNameString(project)}"
|
||||
@@ -43,7 +43,7 @@ private final case class ProjectFilter(project: ReportInfo) extends Filter{
|
||||
}
|
||||
override def selector = Some(s"project:${project.fullId}")
|
||||
}
|
||||
private final case class TeamFilter(team: Team) extends Filter{
|
||||
final case class TeamFilter(team: Team) extends Filter{
|
||||
override def filters: Boolean = true
|
||||
|
||||
private def splitSuccessesAndFailures[T, U](set: Set[Either[T, U]]) = {
|
||||
@@ -64,10 +64,10 @@ private final case class TeamFilter(team: Team) extends Filter{
|
||||
val ProjectName = """^(.*): (.*)$""".r
|
||||
val failedProjectsFriendlyNames = r.failedProjects.failedProjectsSet.map(_.projectName)
|
||||
Logger.error("failedProjectsFriendlyNames: "+failedProjectsFriendlyNames)
|
||||
val rootProjectReports = reportInfoByFriendlyProjectNameMap.map{
|
||||
val rootProjectReports = reportInfoByFriendlyProjectNameMap.toSeq.map{
|
||||
case (ProjectName(rootProject, _subproject), v) => (rootProject, v)
|
||||
case value @ (rootProject, v) => value
|
||||
}.groupBy(_._1).mapValues(_.values).withDefault(name =>
|
||||
}.groupBy(_._1).mapValues(_.map(_._2)).withDefault(name =>
|
||||
if(failedProjectsFriendlyNames contains name) Seq()
|
||||
else sys.error("Unknown project: "+name)
|
||||
)
|
||||
|
||||
@@ -59,7 +59,7 @@ class ProjectsWithReports (val projects: Projects, val reports: Set[String]) {
|
||||
|
||||
private def parseUnfriendlyName(unfriendlyName: String, missingProject: String => String): ReportInfo = {
|
||||
val (baseName, theRest) = unfriendlyName.span(_ != '/')
|
||||
val removeLeadingMess = RestMessBeginRegexp.replaceAllIn(_: String, "")
|
||||
val removeLeadingMess = RestMessBeginRegexp.replaceAllIn(_: String, "").dropWhile(_=='/')
|
||||
val removeTrailingMess = RestMessEndRegexp.replaceAllIn(_: String, "")
|
||||
val removeMess = removeLeadingMess andThen removeTrailingMess
|
||||
val subProjectOption = Some(removeMess(theRest)).filter(_ != "")
|
||||
|
||||
Reference in New Issue
Block a user