mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-03-30 14:01:57 +02:00
Initial commit
This commit is contained in:
33
app/com/ysoft/odc/Checks.scala
Normal file
33
app/com/ysoft/odc/Checks.scala
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.ysoft.odc
|
||||
|
||||
import controllers.WarningSeverity.WarningSeverity
|
||||
import controllers.{IdentifiedWarning, ReportInfo, Warning}
|
||||
import play.twirl.api.{Html, HtmlFormat}
|
||||
|
||||
object Checks {
|
||||
|
||||
def differentValues(id: String, name: String, severity: WarningSeverity)(f: Map[ReportInfo, Analysis] => Traversable[_]) = { (data: Map[ReportInfo, Analysis]) =>
|
||||
val variants = f(data)
|
||||
if(variants.size > 1){
|
||||
Some(IdentifiedWarning(id, HtmlFormat.escape(s"different $name!"), severity))
|
||||
}else{
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
def badValues(id: String, name: String, severity: WarningSeverity)(f: (ReportInfo, Analysis) => Option[Html]): Map[ReportInfo, Analysis] => Option[Warning] = { (data: Map[ReportInfo, Analysis]) =>
|
||||
val badValues = data.collect(Function.unlift{case (analysisName, analysis) => f(analysisName, analysis).map(analysisName -> _)}).toSeq
|
||||
if(badValues.size > 0) Some(IdentifiedWarning(id, views.html.warnings.badValues(name, badValues), severity))
|
||||
else None
|
||||
}
|
||||
|
||||
def badGroupedDependencies[C <: Traversable[_]](id: String, name: String, severity: WarningSeverity)(f: Seq[GroupedDependency] => C)(show: C => Traversable[_] = {(x: C) => x}, exclusions: Set[Exclusion] = Set()): (Seq[GroupedDependency] => Option[Warning]) = { (data: Seq[GroupedDependency]) =>
|
||||
val badItems = f(data.filterNot(ds => exclusions.exists(_.matches(ds))))
|
||||
if(badItems.size > 0){
|
||||
Some(IdentifiedWarning(id, views.html.warnings.badGroupedDependencies(name, badItems.size, show(badItems)), severity))
|
||||
}else{
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user