annotate servlet/src/digilib/pdf/PDFFileWorker.java @ 570:fd2ef7e46119

more cleanup, set version to 1.8.2
author robcast
date Tue, 21 Dec 2010 20:24:09 +0100
parents 0885f5ca5b24
children 72662bb585ba
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
555
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
1 /**
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
2 *
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
3 */
557
0885f5ca5b24 more refactoring and rearranging
robcast
parents: 556
diff changeset
4 package digilib.pdf;
555
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
5
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
6 import java.io.File;
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
7 import java.io.FileNotFoundException;
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
8 import java.io.FileOutputStream;
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
9 import java.io.OutputStream;
555
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
10 import java.util.concurrent.Callable;
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
11
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
12 import digilib.image.DocuImage;
557
0885f5ca5b24 more refactoring and rearranging
robcast
parents: 556
diff changeset
13 import digilib.servlet.DigilibConfiguration;
0885f5ca5b24 more refactoring and rearranging
robcast
parents: 556
diff changeset
14 import digilib.servlet.PDFRequest;
0885f5ca5b24 more refactoring and rearranging
robcast
parents: 556
diff changeset
15 import digilib.util.DigilibJobCenter;
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
16
555
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
17 /**
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
18 * @author casties
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
19 *
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
20 */
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
21 public class PDFFileWorker implements Callable<File> {
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
22 /** the wrapped PDFStreamWorker */
555
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
23 protected PDFStreamWorker streamWorker;
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
24
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
25 /** the temporary output file */
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
26 protected File tempFile;
555
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
27
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
28 /** the final output file */
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
29 protected File finalFile;
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
30
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
31 /** Create new PDFFileWorker.
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
32 * @param dlConfig
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
33 * @param tempFile
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
34 * @param job_info
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
35 * @param imageJobCenter
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
36 * @throws FileNotFoundException
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
37 */
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
38 public PDFFileWorker(DigilibConfiguration dlConfig,
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
39 File tempFile, File finalFile,
557
0885f5ca5b24 more refactoring and rearranging
robcast
parents: 556
diff changeset
40 PDFRequest job_info,
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
41 DigilibJobCenter<DocuImage> imageJobCenter) throws FileNotFoundException {
557
0885f5ca5b24 more refactoring and rearranging
robcast
parents: 556
diff changeset
42 this.tempFile = tempFile;
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
43 OutputStream outstream = new FileOutputStream(tempFile);
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
44 this.finalFile = finalFile;
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
45 this.streamWorker = new PDFStreamWorker(dlConfig, outstream, job_info, imageJobCenter);
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
46 }
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
47
555
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
48 public File call() throws Exception {
556
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
49 OutputStream outstream = streamWorker.call();
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
50 outstream.flush();
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
51 // move temporary to final file
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
52 tempFile.renameTo(finalFile);
5cc180bb0a5c pdf generation closer to working...
robcast
parents: 555
diff changeset
53 return finalFile;
555
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
54 }
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
55
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
56
88ed97d08b97 still refactoring
robcast
parents:
diff changeset
57 }