Mercurial > hg > LGServices
diff src/main/java/de/mpiwg/gazetteer/rest/DownloadFileText.java @ 58:b8ad346e39a0
new: modify based on doc 'Improving LGServices interface.docx': user workflow improvement, functions like adding task into a topic and search suggestions.
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Mon, 02 May 2016 12:03:30 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/de/mpiwg/gazetteer/rest/DownloadFileText.java Mon May 02 12:03:30 2016 +0200 @@ -0,0 +1,74 @@ +package de.mpiwg.gazetteer.rest; + +import java.io.FileInputStream; +import java.io.PrintWriter; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringUtils; +import org.json.JSONObject; + +import de.mpiwg.gazetteer.bo.LGBranch; +import de.mpiwg.gazetteer.bo.LGFile; +import de.mpiwg.gazetteer.utils.DataProvider; +import de.mpiwg.gazetteer.utils.FileManager; +import de.mpiwg.gazetteer.utils.PropertiesUtils; +import de.mpiwg.gazetteer.utils.exceptions.GazetteerException; + +public class DownloadFileText extends AbstractServletMethod { + + public static String name = "downloadFileText"; + + public static void execute(HttpServletRequest request, HttpServletResponse response) throws Exception{ + + Long fileId = getQueryLongParam(request, "fileId"); + + System.out.println("%%%%% DownloadFileText [fileId=" + fileId + "]"); + + + if(fileId != null){ + + response.setContentType("text/html; charset=UTF-8"); + PrintWriter out = response.getWriter(); + + LGFile file = DataProvider.getInstance().getFile(fileId); + if(file != null){ + String filename = file.getFileName(); // "112_360452_360453_2015.09.04_12.43.08.924_11.txt"; + + //filename extension with xml + filename = filename.substring(0, filename.length()-3); + filename += "xml"; + + response.setContentType("text/xml; charset=UTF-8"); + response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\""); + + String text = FileManager.getFileAsText(file); + out.print(text); + out.flush(); + + }else{ + + response.setContentType("application/json"); + JSONObject json = new JSONObject(); + json.put("status", "error"); + json.put("message", "File no found (" + fileId + ")"); + json.put("code", GazetteerException.CODE); + out = response.getWriter(); + out.print(json.toString()); + out.flush(); + + } + + }else{ + response.setContentType("application/json"); + JSONObject json = new JSONObject(); + json.put("status", "error"); + json.put("message", "Following parameters are mandatory: fileId."); + PrintWriter out = response.getWriter(); + out.print(json.toString()); + out.flush(); + } + } + +}