# HG changeset patch # User robcast # Date 1186075367 -7200 # Node ID fc322b1af8ecb011a35bcfcadc6c8efaf89efe15 # Parent 882ee6a055bdfed32b294f7c2260f40f26ddc086 new servlet version 1.7.0b - changed semaphore code to use Java 1.5 - changed digilib worker to do write the output outside the semaphore diff -r 882ee6a055bd -r fc322b1af8ec servlet/src/digilib/servlet/DigilibImageWorker.java --- a/servlet/src/digilib/servlet/DigilibImageWorker.java Mon May 28 19:20:00 2007 +0200 +++ b/servlet/src/digilib/servlet/DigilibImageWorker.java Thu Aug 02 19:22:47 2007 +0200 @@ -134,7 +134,7 @@ /* * do the work */ - public void work() throws FileOpException, IOException, ImageOpException { + public DocuImage render() throws FileOpException, IOException, ImageOpException { ; logger.debug("image worker " + this.getName() + " working"); startTime = System.currentTimeMillis(); @@ -244,8 +244,12 @@ docuImage.enhance(mult, paramBRGT); } - logger.debug("time " + (System.currentTimeMillis() - startTime) + "ms"); + logger.debug("rendered in " + (System.currentTimeMillis() - startTime) + "ms"); + return docuImage; + } + + public void write(DocuImage img) throws FileOpException, IOException { /* write the resulting image */ // setup output -- if output type is forced use that otherwise @@ -266,12 +270,12 @@ response.setContentType(mimeType); // write the image - docuImage.writeImage(mimeType, response.getOutputStream()); + img.writeImage(mimeType, response.getOutputStream()); response.flushBuffer(); logger.info("image worker " + this.getName() + " done in " + (System.currentTimeMillis() - startTime)); - docuImage.dispose(); + img.dispose(); } }