import mir.util.StringRoutines;\r
import mircoders.entity.EntityComment;\r
import mircoders.entity.EntityContent;\r
+import mircoders.global.CacheKey;\r
import mircoders.global.MirGlobal;\r
import mircoders.media.*;\r
import mircoders.media.UnsupportedMediaFormatExc;\r
import mircoders.search.ContentSearchTerm;\r
import mircoders.search.ImagesSearchTerm;\r
import mircoders.search.KeywordSearchTerm;\r
+import mircoders.search.MediaSearchTerm;\r
import mircoders.search.TextSearchTerm;\r
import mircoders.search.TopicSearchTerm;\r
import mircoders.search.UnIndexedSearchTerm;\r
* open-postings to the newswire\r
*\r
* @author mir-coders group\r
- * @version $Id: ServletModuleOpenIndy.java,v 1.74 2003/04/16 03:26:46 zapata Exp $\r
+ * @version $Id: ServletModuleOpenIndy.java,v 1.75 2003/04/18 14:01:41 john Exp $\r
*\r
*/\r
\r
ImagesSearchTerm imagesTerm = new ImagesSearchTerm();\r
AudioSearchTerm audioTerm = new AudioSearchTerm();\r
VideoSearchTerm videoTerm = new VideoSearchTerm();\r
-\r
+ MediaSearchTerm mediaTerm = new MediaSearchTerm();\r
+ \r
//make the query available to subsequent iterations\r
\r
Iterator j = Arrays.asList(search_variables).iterator();\r
queryString = queryString + " +" + videoFragment;\r
}\r
\r
+ String mediaFragment = mediaTerm.makeTerm(req);\r
+ if (mediaFragment != null){\r
+ queryString = queryString + " +" + mediaFragment;\r
+ }\r
+\r
if (queryString == null || queryString == ""){\r
queryString = "";\r
}\r
public void getpdf(HttpServletRequest req, HttpServletResponse res)\r
throws ServletModuleExc, ServletModuleUserExc, ServletModuleFailure {\r
String ID_REQUEST_PARAM = "id";\r
+ int maxArticlesInNewsleter = 15; // it is nice not to be dos'ed\r
try {\r
String idParam = req.getParameter(ID_REQUEST_PARAM);\r
if (idParam != null) {\r
\r
REMatch[] idMatches=re.getAllMatches(idParam);\r
\r
+ String cacheSelector="";\r
+\r
+ for (int i = 0; i < idMatches.length; i++){\r
+ cacheSelector= cacheSelector + "," + idMatches[i].toString();\r
+ }\r
+\r
+ \r
if (idMatches.length > 1){\r
pdfMaker.addLine();\r
- for (int i = 0; i < idMatches.length; i++){\r
+ for (int i = 0; i < idMatches.length && i < maxArticlesInNewsleter; i++){\r
REMatch aMatch = idMatches[i];\r
String id=aMatch.toString();\r
EntityContent contentEnt = (EntityContent)contentModule.getById(id);\r
}\r
\r
\r
- /*\r
- * Method for dynamically generating a pdf from a fo file\r
- * (deprecated until fop gets its act together regarding floats)\r
- */\r
-\r
- /*\r
- public void getpdf(HttpServletRequest req, HttpServletResponse res)\r
- throws ServletModuleExc, ServletModuleUserExc, ServletModuleFailure {\r
- String ID_REQUEST_PARAM = "id";\r
- String language = req.getParameter("language");\r
- String generateFO=configuration.getString("GenerateFO");\r
- String generatePDF=configuration.getString("GeneratePDF");\r
-\r
-\r
- //don't do anything if we are not making FO files, or if we are\r
- //pregenerating PDF's\r
- if (generateFO.equals("yes") && generatePDF.equals("no")){\r
- //fop complains unless you do the logging this way\r
- org.apache.log.Logger log = null;\r
- Hierarchy hierarchy = Hierarchy.getDefaultHierarchy();\r
- log = hierarchy.getLoggerFor("fop");\r
- log.setPriority(Priority.WARN);\r
-\r
- String producerStorageRoot=configuration.getString("Producer.StorageRoot");\r
- String producerDocRoot=configuration.getString("Producer.DocRoot");\r
- // String templateDir=MirConfig.getPropWithHome("HTMLTemplateProcessor.Dir");\r
- String xslSheet=configuration.getString("Producer.HTML2FOStyleSheet");\r
- try {\r
- String idParam = req.getParameter(ID_REQUEST_PARAM);\r
- if (idParam != null) {\r
- EntityContent contentEnt =\r
- (EntityContent)contentModule.getById(idParam);\r
- String publishPath = StringUtil.webdbDate2path(contentEnt.getValue("date"));\r
- String foFile;\r
-\r
- if (language == null){\r
- foFile = producerStorageRoot + producerDocRoot + "/"\r
- + publishPath + idParam + ".fo";\r
- }\r
- else{\r
- foFile = producerStorageRoot + producerDocRoot + "/"\r
- + language + publishPath + idParam + ".fo";\r
- }\r
- logger.debug("USING FILES" + foFile + " and " + xslSheet);\r
- XSLTInputHandler input = new XSLTInputHandler(new File(foFile),\r
- new File(xslSheet));\r
-\r
- ByteArrayOutputStream out = new ByteArrayOutputStream();\r
- res.setContentType("application/pdf");\r
-\r
- Driver driver = new Driver();\r
- driver.setLogger(log);\r
- driver.setRenderer(Driver.RENDER_PDF);\r
- driver.setOutputStream(out);\r
- driver.render(input.getParser(), input.getInputSource());\r
-\r
- byte[] content = out.toByteArray();\r
- res.setContentLength(content.length);\r
- res.getOutputStream().write(content);\r
- res.getOutputStream().flush();\r
- }\r
- else {\r
- throw new ServletModuleExc("Missing id.");\r
- }\r
- }\r
- catch (Throwable t) {\r
- logger.error(t.toString());\r
-\r
- throw new ServletModuleFailure(t);\r
- }\r
- }\r
- else {\r
- throw new ServletModuleExc("Can't generate a PDF because the config tells me not to.");\r
- }\r
- }\r
- */\r
-\r
public String generateOnetimePassword() {\r
Random r = new Random();\r
int random = r.nextInt();\r