/**
* ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium.
*/
package org.esupportail.helpdesk.domain.assignment;
import java.util.List;
import java.util.Locale;
import org.esupportail.helpdesk.domain.DomainService;
import org.esupportail.helpdesk.domain.beans.DepartmentManager;
import org.esupportail.helpdesk.domain.beans.Ticket;
import org.esupportail.helpdesk.domain.beans.User;
/**
* A basic implementation of AssignmentAlgorithm that assigns to the first manager available.
*/
public class FirstAssignmentAlgorithmImpl
extends AbstractAssignmentAlgorithm {
/**
* The serialization id.
*/
private static final long serialVersionUID = -9033286162905761298L;
/**
* Constructor.
*/
public FirstAssignmentAlgorithmImpl() {
super();
}
/**
* @see org.esupportail.helpdesk.domain.assignment.AbstractAssignmentAlgorithm#getAssignmentResultInternal(
* org.esupportail.helpdesk.domain.DomainService, org.esupportail.helpdesk.domain.beans.Ticket,
* org.esupportail.helpdesk.domain.beans.User)
*/
@Override
public AssignmentResult getAssignmentResultInternal(
final DomainService domainService,
final Ticket ticket,
@SuppressWarnings("unused")
final User excludedUser) {
List<DepartmentManager> managers =
domainService.getEffectiveAvailableDepartmentManagers(ticket.getCategory());
if (managers.isEmpty()) {
return null;
}
return new AssignmentResult(managers.get(0).getUser(), null);
}
/**
* @see org.esupportail.helpdesk.domain.assignment.AssignmentAlgorithm#getDescription(java.util.Locale)
*/
@Override
public String getDescription(final Locale locale) {
return getI18nService().getString("DOMAIN.ASSIGNMENT_ALGORITHM.FIRST", locale);
}
}