private String getTitle()

in tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/DecorationPositionRendererBase.java [207:272]


  private String getTitle(FacesContext facesContext, final List<FacesMessage> messages) {
    int fatalCount = 0;
    int errorCount = 0;
    int warningCount = 0;
    int informationCount = 0;

    final String fatal = ResourceUtils.getString(facesContext, "severity.fatal");
    final String error = ResourceUtils.getString(facesContext, "severity.error");
    final String warn = ResourceUtils.getString(facesContext, "severity.warn");
    final String info = ResourceUtils.getString(facesContext, "severity.info");

    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(fatal).append(" (").append(fatalCount).append(")");

        if (errorCount + warningCount + informationCount > 0) {
          stringBuilder.append(", ");
        }
      }

      if (errorCount > 0) {
        stringBuilder.append(error).append(" (").append(errorCount).append(")");

        if (warningCount + informationCount > 0) {
          stringBuilder.append(", ");
        }
      }

      if (warningCount > 0) {
        stringBuilder.append(warn).append(" (").append(warningCount).append(")");

        if (informationCount > 0) {
          stringBuilder.append(", ");
        }
      }

      if (informationCount > 0) {
        stringBuilder.append(info).append(" (").append(informationCount).append(")");
      }
    } else {
      if (fatalCount == 1) {
        stringBuilder.append(fatal);
      } else if (errorCount == 1) {
        stringBuilder.append(error);
      } else if (warningCount == 1) {
        stringBuilder.append(warn);
      } else if (informationCount == 1) {
        stringBuilder.append(info);
      }
    }
    return stringBuilder.toString();
  }