package org.kevoree.library.javase.webserver.gallery; import org.kevoree.library.javase.webserver.KevoreeHttpRequest; import org.kevoree.library.javase.webserver.KevoreeHttpResponse; import java.io.File; import java.io.FileFilter; /** * Created by IntelliJ IDEA. * User: duke * Date: 10/11/11 * Time: 06:29 * To change this template use File | Settings | File Templates. */ public class AlbumsService { File baseDir = null; public void setBaseDir(File b) { baseDir = b; } public void processService(KevoreeHttpRequest request, KevoreeHttpResponse response) { if (!baseDir.exists()) { return; } if (request.getResolvedParams().containsKey("filename")) { File subdir = new File(baseDir.getAbsolutePath()+File.separator+request.getResolvedParams().get("filename")); if(subdir.exists()){ File[] subFiles =subdir.listFiles(new FileFilter() { @Override public boolean accept(File file) { if(file.getName().endsWith(".png")||file.getName().endsWith(".jpg")){ return true; } else { return false; } } }); StringBuffer buf = new StringBuffer(); buf.append("{"); for (int i = 0; i < subFiles.length; i++) { buf.append("\""+i+"\":"); buf.append("{\"id\":\""+subFiles[i].getName()+"\","); buf.append(",\"thumbnail\":\"service/thumb?filename=" + request.getResolvedParams().get("filename") + "/" + subFiles[i].getName() + "\""); // buf.append(",\"fullsize\":\"script/" + $albumDir + "/" . $file . "\""); buf.append(",\"ofullsize\":\"service/thumb?filename=" + request.getResolvedParams().get("filename") + "/" + subFiles[i].getName() + "\""); buf.append("}"); if(i != subFiles.length-1){buf.append(",");} // echo "\"id\":\"" . $i.$_GET['filename'].$file. "\""; // echo ",\"thumbnail\":\"script/thumb.php?filename=" . $_GET['filename'] . "/" . $file . "\""; // //echo ",\"fullsize\":\"script/" . $albumDir . "/" . $file . "\""; // echo ",\"fullsize\":\"script/othumb.php?filename=" . $_GET['filename'] . "/" . $file . "\""; // echo ",\"ofullsize\":\"script/" . $albumDir . "/" . $file . "\""; } buf.append("}"); response.setContent(buf.toString()); response.getHeaders().put("Content-Type", "text/json"); // response.setContentType("text/json"); } } else { StringBuffer buf = new StringBuffer(); File[] files = baseDir.listFiles(); for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { if (buf.length() > 0) { buf.append(";"); } buf.append(files[i].getName()); } } response.setContent("<dirs>" + buf.toString() + "</dirs>"); } } }