in tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DecorationPositionRendererBase.java [207:277]
private String getTitle(final List<FacesMessage> messages) {
int fatalCount = 0;
int errorCount = 0;
int warningCount = 0;
int informationCount = 0;
for (final FacesMessage message : messages) {
if (FacesMessage.SEVERITY_FATAL.equals(message.getSeverity())) {
fatalCount++;
} else if (FacesMessage.SEVERITY_ERROR.equals(message.getSeverity())) {
errorCount++;
} else if (FacesMessage.SEVERITY_WARN.equals(message.getSeverity())) {
warningCount++;
} else if (FacesMessage.SEVERITY_INFO.equals(message.getSeverity())) {
informationCount++;
}
}
final StringBuilder stringBuilder = new StringBuilder();
if (messages.size() > 1) {
if (fatalCount > 0) {
stringBuilder.append(fatalCount);
stringBuilder.append(" Fatal");
if (errorCount + warningCount + informationCount > 0) {
stringBuilder.append(", ");
}
}
if (errorCount > 0) {
stringBuilder.append(errorCount);
stringBuilder.append(" Error");
if (errorCount > 1) {
stringBuilder.append("s");
}
if (warningCount + informationCount > 0) {
stringBuilder.append(", ");
}
}
if (warningCount > 0) {
stringBuilder.append(warningCount);
stringBuilder.append(" Warning");
if (warningCount > 1) {
stringBuilder.append("s");
}
if (informationCount > 0) {
stringBuilder.append(", ");
}
}
if (informationCount > 0) {
stringBuilder.append(informationCount);
stringBuilder.append(" Information");
}
} else {
if (fatalCount == 1) {
stringBuilder.append("Fatal");
} else if (errorCount == 1) {
stringBuilder.append("Error");
} else if (warningCount == 1) {
stringBuilder.append("Warning");
} else if (informationCount == 1) {
stringBuilder.append("Information");
}
}
return stringBuilder.toString();
}