-
Notifications
You must be signed in to change notification settings - Fork 19
/
CIdroidReadyCsvFileOutput.kt
41 lines (27 loc) · 1.25 KB
/
CIdroidReadyCsvFileOutput.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.societegenerale.githubcrawler.output
import com.societegenerale.githubcrawler.model.Repository
import org.slf4j.Logger
import org.slf4j.LoggerFactory
class CIdroidReadyCsvFileOutput(val indicatorsToOutput: List<String>) : CsvFileOutput(indicatorsToOutput) {
override val log: Logger
get() = LoggerFactory.getLogger(this.javaClass)
override fun getCsvHeaderFrom(initParam: Any): String {
return "repositoryFullName;branchName;" + (initParam as List<*>).joinToString(separator = ";")
}
override fun getPrefix(): String {
return "CIdroidReadyContent_"
}
override fun outputRepository(analyzedRepository: Repository): StringBuilder {
val sb = StringBuilder()
val allIndicators = getAllIndicatorsToOutput(analyzedRepository.indicators, analyzedRepository.miscTasksResults)
for ((branch, actualIndicators) in allIndicators) {
sb.append(analyzedRepository.fullName).append(";")
sb.append(branch.name).append(";")
for (indicatorToOutput in indicatorsToOutput) {
sb.append(actualIndicators.getOrDefault(indicatorToOutput, "N/A")).append(";")
}
sb.append(System.lineSeparator());
}
return sb
}
}