Package com.itstherules.mediacentre.controller

Source Code of com.itstherules.mediacentre.controller.ThumbnailsController

package com.itstherules.mediacentre.controller;

import java.io.File;
import java.io.IOException;
import java.io.Writer;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import com.itstherules.image.AWTImage;
import com.itstherules.image.IImage;
import com.itstherules.stream.model.DirectoriesModel;
import com.itstherules.stream.model.ItemsModel;

public class ThumbnailsController extends BaseController {

  @Override
  public void update(Map<String, Object> parameters, HttpServletResponse response) throws IOException {
    Writer writer = response.getWriter();
    writer.write("<html><head><link type=\"text/css\" rel=\"stylesheet\" href=\"/css/media_centre.css\" /></head><body>");
    writer.write("<table width=\"750\" id=\"mainScreen\" height=\"100\" cellpadding=\"0\" cellspacing=\"0\"><tr><td valign=\"top\" align=\"left\">" +
        "<a href=\"/index.html\"><img src=\"/images/logo_icon.png\" border=\"0\" /></a></td><td valign=\"top\" align=\"left\"><img src=\"/images/logo.png\" />" +
        "</td></tr></table>");
    generateThumbnails(parameters, writer);
    writer.write("<br/>Done creating thumbnails.  Click <a href=\"/photoalbums2/list/index.html\">here</a> to continue");
    writer.write("</body></html>");
    writer.close();
  }
   
  public void generateThumbnails(Map<String, Object> parameters, Writer writer) {
    String baseDirectory = "photos/";
    String extensions = ".jpg,.JPG,.jpeg,.JPEG,.png,.PNG";
    String currentDirectory = (String) parameters.get("directory");
    String thumbnailsDirectoryPath = currentDirectory + "/thumbnails/";
    File thumbnailsDirectory = new DirectoriesModel(baseDirectory+thumbnailsDirectoryPath).getDirectory();
    ItemsModel imagesModel = new ItemsModel(baseDirectory, currentDirectory, extensions);
    if(!thumbnailsDirectory.exists()) {
      thumbnailsDirectory.mkdir();
    }
    generateThumbnails(thumbnailsDirectory.getAbsolutePath()+"/", imagesModel.asList(), writer, currentDirectory);
  }

  private void generateThumbnails(String thumbnailsDirectory, List<File> files, Writer writer, String currentDirectory) {
    File thumbsDirFile = new File(thumbnailsDirectory);
    for (File file : files) {
    try {
      File thumbnailFile = new File(thumbnailsDirectory + file.getName());
      if(!thumbnailFile.exists()){
        IImage image = new AWTImage(file.getAbsolutePath());
        image.scale(125, 125, true, true);
        image.saveAs(thumbnailFile.getAbsolutePath());
        writer.write("<br>Generated thumbnail: <img src=\"/photos/"+currentDirectory+"/thumbnails/"+file.getName()+"\"/><br/>");
        writer.flush();
      }
    } catch (IOException e) {
      thumbsDirFile.delete();
    }
  }
}
TOP

Related Classes of com.itstherules.mediacentre.controller.ThumbnailsController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.