/** * ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium. */ package org.esupportail.helpdesk.web.servlet; import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletConfig; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.esupportail.commons.exceptions.ConfigException; import org.esupportail.commons.utils.BeanUtils; import org.esupportail.helpdesk.domain.DomainService; import org.esupportail.helpdesk.domain.beans.Icon; /** * A servlet to serve the icons. */ public class IconServlet extends AbstractExceptionHandlingServlet { /** * The id for serialization. */ private static final long serialVersionUID = -7699872250148542593L; /** * The servlet info. */ private static final String SERVLET_INFO = "IconServlet"; /** * The name of the domain service bean. */ private static final String DOMAIN_SERVICE_BEAN = "domainService"; /** * The domain service. */ private DomainService domainService; /** * Constructor. */ public IconServlet() { super(); } /** * @see javax.servlet.Servlet#getServletInfo() */ @Override public String getServletInfo() { return SERVLET_INFO; } /** * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) */ @Override protected void initInternal( @SuppressWarnings("unused") final ServletConfig servletConfig) { domainService = (DomainService) BeanUtils.getBean(DOMAIN_SERVICE_BEAN); } /** * @see org.esupportail.helpdesk.web.servlet.AbstractExceptionHandlingServlet#serviceInternal( * javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override protected void serviceInternal(final HttpServletRequest request, final HttpServletResponse response) throws IOException { String id = request.getParameter("id"); Icon icon = domainService.getIcon(Long.valueOf(id)); response.setContentType(icon.getContentType()); OutputStream os = response.getOutputStream(); if (icon.getData() != null) { os.write(icon.getData()); } os.close(); } /** * @see org.esupportail.helpdesk.web.servlet.AbstractExceptionHandlingServlet#checkVersion() */ @Override protected void checkVersion() throws ConfigException { // do no check the version } }