package de.ivu.elect.presentation.benutzerverwaltung.table;

import org.apache.commons.lang3.StringUtils;

import de.ivu.elect.business.benutzerverwaltung.entity.AngemeldeterBenutzer;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;
import de.ivu.elect.presentation.table.AbstractColumnEntry;

public class AngemeldeterBenutzeIPAdresseColumn extends AbstractColumnEntry<AngemeldeterBenutzer> {

  private static final long serialVersionUID = 1L;

  public AngemeldeterBenutzeIPAdresseColumn(Messages messages) {
    super(messages);
  }

  @Override
  public ColumnType getType() {
    return ColumnType.STRING;
  }

  @Override
  public String getHeader() {
    return getMessage("angemeldete.benutzer.ip");
  }

  @Override
  public Object getValue(AngemeldeterBenutzer entity) {
    if (StringUtils.isNotBlank(entity.getIpAdresse().getHostname()) && !entity.getIpAdresse().getHostname().equalsIgnoreCase(entity.getIpAdresse().getIp())) {
      return entity.getIpAdresse().getIp() + " (" + entity.getIpAdresse().getHostname() + ")";
    }
    return entity.getIpAdresse().getIp();
  }
}
