package com.google.refine.commands.lang; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.refine.commands.Command; public class LoadLanguageCommand extends Command { public LoadLanguageCommand() { // TODO Auto-generated constructor stub } @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String rawDirectoryFile = request.getSession().getServletContext() .getRealPath("webapp/modules/langs/"); String cleanedDirectory = rawDirectoryFile.replace("main" + File.separator + "webapp" + File.separator, "main" + File.separator); BufferedReader reader = null; String[] langs = request.getParameterValues("lng"); langs = langs[0].split(" "); try { String file = cleanedDirectory + File.separator + "translation-" + langs[0] + ".json"; reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8")); } catch (FileNotFoundException e1) { try { String file = cleanedDirectory + File.separator + "translation-default.json"; reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8")); } catch (FileNotFoundException e3) { e3.printStackTrace(); } } String line = null; String message = new String(); if (reader != null) { while ((line = reader.readLine()) != null) { // buffer.append(line); message += line + System.getProperty("line.separator"); } } response.setCharacterEncoding("UTF-8"); response.setContentType("application/json"); response.getWriter().println(message); response.getWriter().flush(); response.getWriter().close(); } }