logger.error("Uncaught exception when sending daily mails", e);
}
}
private void sendMails() {
MetricDelta deltaDebt = (MetricDelta) collabReview.getReputationMetricManager().findReputationMetric("delta");
assert deltaDebt != null;
ReputationMetric quality = collabReview.getReputationMetricManager().findReputationMetric("qlybonqty");
ReputationMetric technicalDebt = collabReview.getReputationMetricManager().findReputationMetric("techdebt");
assert technicalDebt != null;
Map<String, Float> scores = new TreeMap<String, Float>(quality.getAuthorScores());
scores.keySet().retainAll(participants);
logger.debug("Participant scores: " + scores);
if (mailRecipient == null) {
mailRecipient = collabReview.getMailManager().getAdministrator();
}
Mail listMail = collabReview.getMailManager().newMail("Javadoc reputation scores overview", mailRecipient.toString());
assert review != null;
String body = "Achtung liebe Entwickler,\n\n" +
"es gibt eine kleine Änderung in der Berechnung der Punkte, weil mehrfach\n" +
"darum gebeten wurde, doch auch Quantität mit einzubeziehen. Deshalb sind\n" +
"die neuen Punkte jetzt inklusive einem Bonus von maximal 5 Punkten, der\n" +
"sich anteilig an dem Beitrag des Entwicklers der am zweitmeisten beige-\n" +
"tragen hat, bestimmt. Das heißt: hast du halb so viel wie derzeit Mark\n" +
"beigetragen, dann ist dein Bonus 2,5.\n\n" +
"Und jetzt weiter wie gehabt:\n" +
"Eine Änderung wurde in das SourceForge repository übertragen und \n" +
"anschließend auf Konformität zu den Java Coding Conventions überprüft.\n" +
"Diese Mail informiert euch über eure aktuelle Code-Qualitäts-Reputation\n" +
"nach dieser Änderung.\n\n" +
"Die technische Schuld beträgt nun insgesamt " + toEuroString(technicalDebt.sum()) +
" (Veränderung: " + toEuroString(deltaDebt.sum()) + ").\n\n" +
getRankingTableString(scores, technicalDebt.getAuthorScores(), deltaDebt.getAuthorScores()) + "\n\n" +
"Die Überprüfung einer der Dateien im Änderungssatz ergab (beispielhaft):\n" +
" Datei: " + review.getArtifactIdentifier().getName() + "\n" +
" Bewertung: " + review.getRating() + "\n" +
" Bewertet durch: " + review.getAuthorName() + "\n" +
" Erklärung: " + review.getReviewText() + "\n\n";
listMail.setBody(body);
listMail.send();
deltaDebt.setNewBaseline();
}