Created the ContentModifyingProducerNode
[mir.git] / source / mircoders / producer / PDFGeneratingProducerNode.java
1 package mircoders.producer;
2
3 import java.util.*;
4 import java.io.*;
5 import mir.util.*;
6 import mir.producer.*;
7 import mir.generator.*;
8 import mir.misc.PDFUtil;
9 import mircoders.global.*;
10 import mircoders.localizer.*;
11
12
13
14
15 public class PDFGeneratingProducerNode implements ProducerNode {
16   private String generatorExpression;
17   private String destinationExpression;
18
19   public PDFGeneratingProducerNode(String aGenerator, String aDestination) {
20     generatorExpression=aGenerator;
21     destinationExpression=aDestination;
22   }
23
24   public void produce(Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
25       
26     String generatorIdentifier;
27     String destinationIdentifier;
28
29           long startTime;
30           long endTime;
31
32           startTime = System.currentTimeMillis();
33     try {
34       
35       destinationIdentifier = ParameterExpander.expandExpression( aValueMap, destinationExpression );
36       generatorIdentifier = ParameterExpander.expandExpression( aValueMap, generatorExpression );
37
38       aLogger.println("Generating " + generatorIdentifier + " into " + destinationIdentifier);
39       aLogger.flush();
40       
41       PDFUtil.makePDF(generatorIdentifier,destinationIdentifier);
42
43         }
44         catch (Throwable t) {
45           aLogger.println("  error while generating: " + t.getMessage());
46       aLogger.flush();
47     }
48     endTime = System.currentTimeMillis();
49
50     aLogger.println("  Time: " + (endTime-startTime) + " ms<br>");
51     aLogger.flush();
52   }
53
54   public Set buildVerbSet() {
55     return new HashSet();
56   }
57 }