
package de.ivu.elect.business.gruppeimgebiet.control;

import java.io.Serializable;
import java.util.Comparator;

import de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet;
import de.ivu.elect.business.stimmzettel.entity.AbstractEntityAufStimmzettelStimmzettelPosition;

@Deprecated // möglichst mit de.ivu.elect.business.gruppe.entity.AbstractGruppe.setGruppeImGebietNachGebiet verwenden(!)
public class GruppeImGebietByPositionAbgeleitetComparator implements Comparator<GruppeImGebiet>, Serializable {

  private static final long serialVersionUID = 1L;

  public GruppeImGebietByPositionAbgeleitetComparator() {
    super();
  }

  @Override
  public int compare(GruppeImGebiet one, GruppeImGebiet another) {
    if (one == null) {
      if (another == null) {
        return 0;
      }
      return 1;
    }

    if (another == null) {
      return -1;
    }

    return compareByPosition(one.getRelativePositionAbgeleitet(), another.getRelativePositionAbgeleitet());
  }

  public int compareByPosition(Long one, Long another) {
    return AbstractEntityAufStimmzettelStimmzettelPosition.DEFAULT_POSITION_COMPARATOR.compare(one, another);
  }
}
