/* WebBox - Dein Server. Copyright (C) 2017 Ulrich Hilger, http://uhilger.de This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package de.uhilger.wbx.web; import java.awt.Image; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.catalina.servlets.DefaultServlet; /** * Mit dem TNServlet kann für eine Bilddatei eine * Miniaturansicht erzeugt werden, wie sie im Dateimanager * der WebBox verwendet wird. * */ public class TNServlet extends DefaultServlet { private static final Logger logger = Logger.getLogger(TNServlet.class.getName()); /** * Diese String-Konstanten noetigenfalls in eine * Konfigurationsdatei auslagern */ public static final String TN = "_tn"; public static final String JPG = ".jpg"; public static final String JPEG = ".jpeg"; public static final String PNG = ".png"; /** * Handles the HTTP GET method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String uriStr = request.getRequestURI(); File imgfile = new File(uriStr); logger.fine("realpath of /: " + request.getServletContext().getRealPath("/")); logger.fine("imgfile: " + imgfile.getAbsolutePath()); if(uriStr.contains(TN) && (uriStr.endsWith(JPG) || uriStr.endsWith(JPEG) || uriStr.endsWith(PNG))) { /* TODO: hier mit Hilfe der Klasse Bild eine Miniaturansicht erzeugen und in die Antwort schreiben */ //writeImageStream(Image image, int gr, String mimeType, response.getOutputStream()); } else { super.doGet(request, response); } } }