package werti.server; import java.io.BufferedReader; import java.io.IOException; import java.io.PrintWriter; import java.io.OutputStreamWriter; import java.io.FileOutputStream; import java.io.FileWriter; import java.net.URL; import java.util.Arrays; import java.util.Enumeration; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.Locale; import javax.servlet.RequestDispatcher; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.apache.commons.lang.StringEscapeUtils; import org.apache.logging.log4j.Logger; import org.apache.uima.jcas.JCas; import org.jsoup.Jsoup; import org.jsoup.nodes.Node; import org.jsoup.nodes.Document; import org.openid4java.OpenIDException; import org.openid4java.consumer.ConsumerException; import org.openid4java.consumer.ConsumerManager; import org.openid4java.discovery.DiscoveryException; import org.openid4java.discovery.DiscoveryInformation; import org.openid4java.discovery.Identifier; import org.openid4java.message.AuthRequest; import org.openid4java.message.MessageException; import werti.WERTiContext; import werti.WERTiContext.WERTiContextException; import werti.util.ActivitiesSessionLoader; import werti.util.HTMLEnhancer; import werti.util.HTMLUtils; import werti.util.JSONEnhancer; import werti.util.PageHandler; import werti.util.PostRequest; import werti.util.PracticeHandler; import com.google.gson.Gson; import weka.core.Instances; import weka.filters.Filter; import werti.util.Constants; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Iterator; import javax.servlet.ServletContext; import javax.servlet.ServletOutputStream; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.fileupload.FileUploadBase; import org.apache.commons.lang3.RandomStringUtils; /* @WebListener*/ public class FileLocationContextListener implements ServletContextListener { public void contextInitialized(ServletContextEvent servletContextEvent) { ServletContext ctx = servletContextEvent.getServletContext(); String rnd_name = RandomStringUtils.randomAlphanumeric(10); System.out.println("rnd_name="+rnd_name); // Directory for files upload String relativePath = ctx.getInitParameter("files_dir"); //File file = new File(rootPath + File.separator + relativePath); File file = new File(relativePath); if(!file.exists()) file.mkdirs(); System.out.println("File Directory created to be used for storing files"); ctx.setAttribute("FILES_DIR_FILE", file); //ctx.setAttribute("FILES_DIR", rootPath + File.separator + relativePath); ctx.setAttribute("FILES_DIR", relativePath); // Directory for files we have permission to store String relativePathPrm = ctx.getInitParameter("files_prm_dir"); File filePrm = new File(relativePathPrm); if(!filePrm.exists()) filePrm.mkdirs(); ctx.setAttribute("FILES_PRM_DIR_FILE", filePrm); ctx.setAttribute("FILES_PRM_DIR", relativePathPrm); // Directory for files we will delete String relativePathTmp = ctx.getInitParameter("files_tmp_dir"); File fileTmp = new File(relativePathTmp); if(!fileTmp.exists()) fileTmp.mkdirs(); ctx.setAttribute("FILES_TMP_DIR_FILE", fileTmp); ctx.setAttribute("FILES_TMP_DIR", relativePathTmp); } public void contextDestroyed(ServletContextEvent servletContextEvent) { //do cleanup if needed } }