# HG changeset patch # User robcast # Date 1186075367 -7200 # Node ID 18f4cb3e3bc82956af247cb109b324ddfcffe9d3 # Parent 1dcfcc8450b5487b3e333ba42c96520a1774dc53 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 1dcfcc8450b5 -r 18f4cb3e3bc8 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(); } }