diff --git a/src/java/com/rjconsultores/ventaboletos/web/cliente/imagenes/empresa_generica.png b/src/java/com/rjconsultores/ventaboletos/web/cliente/imagenes/empresa_generica.png new file mode 100644 index 000000000..4edf9365b Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/web/cliente/imagenes/empresa_generica.png differ diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/servlet/ImageServlet.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/servlet/ImageServlet.java index db06a2a75..0f3a6e927 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/servlet/ImageServlet.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/servlet/ImageServlet.java @@ -9,14 +9,24 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.BeanFactory; +import org.springframework.context.ApplicationContext; import org.springframework.core.io.ClassPathResource; +import com.rjconsultores.ventaboletos.entidad.Constante; +import com.rjconsultores.ventaboletos.service.ConstanteService; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + /** * Servlet implementation class ImageServlet */ public class ImageServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static final String PATH_IMAGENES = "/com/rjconsultores/ventaboletos/web/cliente/imagenes/"; + private static final String IMAGENE_EMPRESA = "empresa.png"; + private static final String IMAGENE_EMPRESA_GENERICA = "empresa_generica.png"; + private static Boolean IMAGENE_EMPRESA_GENERICA_CHECKED = null; /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) @@ -28,6 +38,8 @@ public class ImageServlet extends HttpServlet { String imagene = request.getParameter("imagene"); if (imagene != null) { // Open the file and output streams + imagene = getNombreImagene(imagene); + InputStream in = getImagene(imagene); OutputStream out = resp.getOutputStream(); @@ -42,6 +54,44 @@ public class ImageServlet extends HttpServlet { } } + /** + * Muda a imagem para uma imagem generica da empresa. + * + * Utilizado para carregar a imagem padrão ao invés da do custom + * + * @param imagene + * @return + */ + private String getNombreImagene(String imagene){ + if (!imagene.equalsIgnoreCase(IMAGENE_EMPRESA)){ + return imagene; + } + + boolean imageneGenericaEmpresaActivo = false; + + if (IMAGENE_EMPRESA_GENERICA_CHECKED == null){ + + IMAGENE_EMPRESA_GENERICA_CHECKED = false; + + ConstanteService constanteService = getConstanteService(); + Constante constante = constanteService.buscarPorNomeConstante("IMAGENE_EMPRESA_GENERICA"); + if ( (constante != null) && StringUtils.isNotBlank(constante.getValorconstante())){ + imageneGenericaEmpresaActivo= Boolean.parseBoolean(constante.getValorconstante()); + + IMAGENE_EMPRESA_GENERICA_CHECKED = imageneGenericaEmpresaActivo; + } + + } + + + if ( (IMAGENE_EMPRESA_GENERICA_CHECKED != null) && (IMAGENE_EMPRESA_GENERICA_CHECKED) ){ + imagene = IMAGENE_EMPRESA_GENERICA; + } + + return imagene; + + + } private InputStream getImagene(String imagene) { InputStream inputStream = null; try { @@ -53,4 +103,11 @@ public class ImageServlet extends HttpServlet { return inputStream; } + + private ConstanteService getConstanteService() { + ApplicationContext appContext = AppContext.getApplicationContext(); + BeanFactory factory = (BeanFactory) appContext; + ConstanteService cs = (ConstanteService) factory.getBean("constanteService"); + return cs; + } }