-
-
- RE re = new RE("[0-9]+");
-
-
- REMatch[] idMatches=re.getAllMatches(idParam);
-
- String cacheSelector="";
-
- for (int i = 0; i < idMatches.length; i++){
- cacheSelector= cacheSelector + "," + idMatches[i].toString();
- }
-
- String cacheType="pdf";
-
- CacheKey theCacheKey = new CacheKey(cacheType,cacheSelector);
-
- byte[] thePDF;
-
- if (MirGlobal.mruCache().hasObject(theCacheKey)){
- logger.info("fetching pdf from cache");
- thePDF = (byte[]) MirGlobal.mruCache().getObject(theCacheKey);
- }
- else {
- logger.info("generating pdf and caching it");
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- PDFGenerator pdfMaker = new PDFGenerator(out);
-
- if (idMatches.length > 1){
- pdfMaker.addLine();
- for (int i = 0; i < idMatches.length && i < maxArticlesInNewsleter; i++){
- REMatch aMatch = idMatches[i];
- String id=aMatch.toString();
- EntityContent contentEnt = (EntityContent)contentModule.getById(id);
- pdfMaker.addIndexItem(contentEnt);
- }
- }
-
- for (int i = 0; i < idMatches.length; i++){
- REMatch aMatch = idMatches[i];
- String id=aMatch.toString();
- EntityContent contentEnt = (EntityContent)contentModule.getById(id);
-
- pdfMaker.add(contentEnt);
- }
-
- pdfMaker.stop();
- thePDF = out.toByteArray();
-
- //and save all our hard work!
- MirGlobal.mruCache().storeObject(theCacheKey,thePDF);
- }
-
- res.setContentType("application/pdf");
- res.setContentLength(thePDF.length);
- res.getOutputStream().write(thePDF);
- res.getOutputStream().flush();
- String elapsedtime=(new Long(System.currentTimeMillis()-starttime)).toString();
- logger.info("pdf retireval took "+elapsedtime + " milliseconds" );
+
+
+ RE re = new RE("[0-9]+");
+
+
+ REMatch[] idMatches=re.getAllMatches(idParam);
+
+ String cacheSelector="";
+
+ for (int i = 0; i < idMatches.length; i++){
+ cacheSelector= cacheSelector + "," + idMatches[i].toString();
+ }
+
+ String cacheType="pdf";
+
+ CacheKey theCacheKey = new CacheKey(cacheType,cacheSelector);
+
+ byte[] thePDF;
+
+ if (MirGlobal.mruCache().hasObject(theCacheKey)){
+ logger.info("fetching pdf from cache");
+ thePDF = (byte[]) MirGlobal.mruCache().getObject(theCacheKey);
+ }
+ else {
+ logger.info("generating pdf and caching it");
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ PDFGenerator pdfMaker = new PDFGenerator(out);
+
+ if (idMatches.length > 1){
+ pdfMaker.addLine();
+ for (int i = 0; i < idMatches.length && i < maxArticlesInNewsleter; i++){
+ REMatch aMatch = idMatches[i];
+ String id=aMatch.toString();
+ EntityContent contentEnt = (EntityContent)contentModule.getById(id);
+ pdfMaker.addIndexItem(contentEnt);
+ }
+ }
+
+ for (int i = 0; i < idMatches.length; i++){
+ REMatch aMatch = idMatches[i];
+ String id=aMatch.toString();
+ EntityContent contentEnt = (EntityContent)contentModule.getById(id);
+
+ pdfMaker.add(contentEnt);
+ }
+
+ pdfMaker.stop();
+ thePDF = out.toByteArray();
+
+ //and save all our hard work!
+ MirGlobal.mruCache().storeObject(theCacheKey,thePDF);
+ }
+
+ res.setContentType("application/pdf");
+ res.setContentLength(thePDF.length);
+ res.getOutputStream().write(thePDF);
+ res.getOutputStream().flush();
+ String elapsedtime=(new Long(System.currentTimeMillis()-starttime)).toString();
+ logger.info("pdf retireval took "+elapsedtime + " milliseconds" );