1.1 restoration
[mir.git] / source / mircoders / servlet / ServletModuleOpenIndy.java
index 63cebcf..bdb0f2e 100755 (executable)
 
 package mircoders.servlet;
 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-import java.util.Vector;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
 import gnu.regexp.RE;
 import gnu.regexp.REMatch;
+import mir.bundle.Bundle;
 import mir.entity.Entity;
 import mir.generator.Generator;
 import mir.log.LoggerWrapper;
@@ -61,52 +41,39 @@ import mir.servlet.ServletModule;
 import mir.servlet.ServletModuleExc;
 import mir.servlet.ServletModuleFailure;
 import mir.servlet.ServletModuleUserExc;
-import mir.session.HTTPAdapters;
-import mir.session.Request;
-import mir.session.Session;
-import mir.session.SessionHandler;
-import mir.session.SimpleResponse;
-import mir.session.UploadedFile;
+import mir.session.*;
 import mir.storage.StorageObjectFailure;
-import mir.util.ExceptionFunctions;
-import mir.util.HTTPParsedRequest;
-import mir.util.HTTPRequestParser;
-import mir.util.StringRoutines;
+import mir.util.*;
 import mircoders.entity.EntityComment;
 import mircoders.entity.EntityContent;
 import mircoders.global.CacheKey;
 import mircoders.global.MirGlobal;
 import mircoders.media.MediaUploadProcessor;
+import mircoders.media.UnsupportedMediaTypeExc;
 import mircoders.module.ModuleComment;
 import mircoders.module.ModuleContent;
 import mircoders.module.ModuleMediaType;
+import mircoders.media.UnsupportedMediaTypeExc;
 import mircoders.pdf.PDFGenerator;
-import mircoders.search.AudioSearchTerm;
-import mircoders.search.ContentSearchTerm;
-import mircoders.search.ImagesSearchTerm;
-import mircoders.search.KeywordSearchTerm;
-import mircoders.search.TextSearchTerm;
-import mircoders.search.TopicMatrixSearchTerm;
-import mircoders.search.TopicSearchTerm;
-import mircoders.search.UnIndexedSearchTerm;
-import mircoders.search.VideoSearchTerm;
-import mircoders.storage.DatabaseComment;
-import mircoders.storage.DatabaseContent;
-import mircoders.storage.DatabaseContentToMedia;
-import mircoders.storage.DatabaseContentToTopics;
-import mircoders.storage.DatabaseLanguage;
-import mircoders.storage.DatabaseTopics;
+import mircoders.search.*;
+import mircoders.storage.*;
 import org.apache.commons.fileupload.FileItem;
 import org.apache.commons.net.smtp.SMTPClient;
 import org.apache.commons.net.smtp.SMTPReply;
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.document.Document;
+import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.search.Hits;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.Searcher;
-import org.apache.struts.util.MessageResources;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.*;
+import java.util.*;
 
 /*
  *  ServletModuleOpenIndy -
@@ -115,7 +82,7 @@ import org.apache.struts.util.MessageResources;
  *    open-postings to the newswire
  *
  * @author mir-coders group
- * @version $Id: ServletModuleOpenIndy.java,v 1.89.2.11 2004/02/08 21:05:03 zapata Exp $
+ * @version $Id: ServletModuleOpenIndy.java,v 1.89.2.12 2004/11/21 22:07:14 zapata Exp $
  *
  */
 
@@ -129,9 +96,11 @@ public class ServletModuleOpenIndy extends ServletModule
   private ModuleContent contentModule;
   private ModuleComment commentModule;
   private String        directOp ="yes";
-  // Singelton / Kontruktor
   private static ServletModuleOpenIndy instance = new ServletModuleOpenIndy();
-  public static ServletModule getInstance() { return instance; }
+
+  public  static ServletModule getInstance() {
+    return instance;
+  }
 
   private ServletModuleOpenIndy() {
     super();
@@ -151,9 +120,9 @@ public class ServletModuleOpenIndy extends ServletModule
       emailAnArticleTemplate = configuration.getString("ServletModule.OpenIndy.MailableArticleTemplate");
       sentMailTemplate = configuration.getString("ServletModule.OpenIndy.SentMailTemplate");
       directOp = configuration.getString("DirectOpenposting").toLowerCase();
-      commentModule = new ModuleComment(DatabaseComment.getInstance());
+      commentModule = new ModuleComment();
       mainModule = commentModule;
-      contentModule = new ModuleContent(DatabaseContent.getInstance());
+      contentModule = new ModuleContent();
       defaultAction = "defaultAction";
     }
     catch (StorageObjectFailure e) {
@@ -420,7 +389,7 @@ public class ServletModuleOpenIndy extends ServletModule
       }
 
       Map withValues = new HashMap();
-      i = DatabaseContent.getInstance().getFields().iterator();
+      i = DatabaseContent.getInstance().getFieldNames().iterator();
       while (i.hasNext()) {
         String field = (String) i.next();
         String value = parsedRequest.getParameter(field);
@@ -501,7 +470,7 @@ public class ServletModuleOpenIndy extends ServletModule
       e.printStackTrace(logger.asPrintWriter(LoggerWrapper.DEBUG_MESSAGE));
       Throwable cause = ExceptionFunctions.traceCauseException(e);
 
-      if (cause instanceof ModuleMediaType.UnsupportedMimeTypeExc) {
+      if (cause instanceof UnsupportedMediaTypeExc) {
         throw new ServletModuleUserExc("media.unsupportedformat", new String[] {});
       }
       throw new ServletModuleFailure(e);
@@ -570,7 +539,7 @@ public class ServletModuleOpenIndy extends ServletModule
 
       SimpleResponse response = new SimpleResponse(
           ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getResponseLocale(aRequest.getSession(), aRequest), getFallbackLocale(aRequest)},
-             "bundles.open"));
+             "etc/bundles/open"));
 
       response.setResponseValue("actionURL", aResponse.encodeURL(MirGlobal.config().getString("RootUri") + "/servlet/OpenMir")+"?"+SESSION_REQUEST_KEY+"="+aRequest.getSession().getId());
 
@@ -791,7 +760,7 @@ public class ServletModuleOpenIndy extends ServletModule
           session.setAttribute("positionInResults", new Integer(newPosition));
         }
         else {
-          String indexPath = configuration.getString("IndexPath");
+          File indexFile = FileFunctions.getAbsoluteOrRelativeFile(configuration.getHome(), configuration.getString("IndexPath"));
 
           String creatorFragment = creatorTerm.makeTerm(req);
           if (creatorFragment != null) {
@@ -838,10 +807,10 @@ public class ServletModuleOpenIndy extends ServletModule
             try {
               Searcher searcher = null;
               try {
-                searcher = new IndexSearcher(indexPath);
+                searcher = new IndexSearcher(IndexReader.open(indexFile));
               }
               catch (IOException e) {
-                logger.debug("Can't open indexPath: " + indexPath);
+                logger.debug("Can't open indexPath: " + indexFile.getAbsolutePath());
                 throw new ServletModuleExc("Problem with Search Index! : " + e.toString());
               }
 
@@ -1111,7 +1080,7 @@ public class ServletModuleOpenIndy extends ServletModule
   public void deliver(PrintWriter anOutputWriter, HttpServletRequest aRequest, HttpServletResponse aResponse, Map aData, Map anExtra, String aGenerator)
       throws ServletModuleFailure {
     try {
-      Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)}, "bundles.open");
+      Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)}, "etc/bundles/open");
       responseData.put("data", aData);
       responseData.put("extra", anExtra);
 
@@ -1131,7 +1100,7 @@ public class ServletModuleOpenIndy extends ServletModule
   public void deliver(PrintWriter anOutputWriter, HttpServletRequest aRequest, HttpServletResponse aResponse, Map aData, Map anExtra, String aGenerator,String aLocaleString)
       throws ServletModuleFailure {
     try {
-      Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { new Locale(aLocaleString,""), getFallbackLocale(aRequest)}, "bundles.open");
+      Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { new Locale(aLocaleString,""), getFallbackLocale(aRequest)}, "etc/bundles/open");
       responseData.put("data", aData);
       responseData.put("extra", anExtra);
 
@@ -1170,8 +1139,10 @@ public class ServletModuleOpenIndy extends ServletModule
       logger.warn("user error: " + anException.getMessage());
       Map data = new HashMap();
 
-      MessageResources messages = MessageResources.getMessageResources("bundles.open");
-      data.put("errorstring", messages.getMessage(getLocale(aRequest), anException.getMessage(), anException.getParameters()));
+      Bundle bundle =
+          MirGlobal.getBundleFactory().getBundle("etc/bundles/open", new
+              String[] { getLocale(aRequest).getLanguage() });
+      data.put("errorstring", bundle.getValue(anException.getMessage(), Arrays.asList(anException.getParameters())));
       data.put("date", StringUtil.date2readableDateTime(new GregorianCalendar()));
 
       deliver(out, aRequest, aResponse, data, null, configuration.getString("ServletModule.OpenIndy.UserErrorTemplate"));