/** * ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium. */ package org.esupportail.helpdesk.web.beans; import java.io.Serializable; import java.sql.Timestamp; import org.esupportail.helpdesk.domain.beans.AbstractTicket; import org.esupportail.helpdesk.domain.beans.ArchivedTicket; import org.esupportail.helpdesk.domain.beans.Department; import org.esupportail.helpdesk.domain.beans.Ticket; /** * A ticket entry for statistics. */ public class StatisticsTicketEntry implements Serializable { /** * The serialization id. */ private static final long serialVersionUID = -1354659084322311616L; /** * The ticket. */ private Ticket ticket; /** * The archived ticket. */ private ArchivedTicket archivedTicket; /** * True if the ticket can be viewed by the user. */ private boolean canView; /** * The charge time. */ private Integer chargeTime; /** * The closure time. */ private Integer closureTime; /** * @param ticket */ public StatisticsTicketEntry( final Ticket ticket) { super(); this.ticket = ticket; } /** * @param archivedTicket */ public StatisticsTicketEntry( final ArchivedTicket archivedTicket) { super(); this.archivedTicket = archivedTicket; } /** * @return the ticketId */ public Long getTicketId() { if (ticket != null) { return ticket.getId(); } return archivedTicket.getTicketId(); } /** * @return the abstractTicket */ protected AbstractTicket getAbstractTicket() { if (ticket != null) { return ticket; } return archivedTicket; } /** * @return the creationDate */ public Timestamp getCreationDate() { return getAbstractTicket().getCreationDate(); } /** * @return the status */ public String getStatus() { return getAbstractTicket().getStatus(); } /** * @return the creationDepartment */ public Department getCreationDepartment() { return getAbstractTicket().getCreationDepartment(); } /** * @return the department */ public Department getDepartment() { return getAbstractTicket().getDepartment(); } /** * @return the label */ public String getLabel() { return getAbstractTicket().getLabel(); } /** * @return the canView */ public boolean isCanView() { return canView; } /** * @return true if an archived ticket. */ public boolean isArchived() { return archivedTicket != null; } /** * @return the ticket */ public Ticket getTicket() { return ticket; } /** * @return the archivedTicket */ public ArchivedTicket getArchivedTicket() { return archivedTicket; } /** * @param canView the canView to set */ public void setCanView(final boolean canView) { this.canView = canView; } /** * @return the chargeTime */ public Integer getChargeTime() { return chargeTime; } /** * @param chargeTime the chargeTime to set */ public void setChargeTime(final Integer chargeTime) { this.chargeTime = chargeTime; } /** * @return the closureTime */ public Integer getClosureTime() { return closureTime; } /** * @param closureTime the closureTime to set */ public void setClosureTime(final Integer closureTime) { this.closureTime = closureTime; } }