merge of localization branch into HEAD. mh and zap
[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.misc.PDFUtil;
8
9 public class PDFGeneratingProducerNode implements ProducerNode {
10   private String generatorExpression;
11   private String destinationExpression;
12
13   public PDFGeneratingProducerNode(String aGenerator, String aDestination) {
14     generatorExpression=aGenerator;
15     destinationExpression=aDestination;
16   }
17
18   public void produce(Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
19
20     String generatorIdentifier;
21     String destinationIdentifier;
22
23           long startTime;
24           long endTime;
25
26           startTime = System.currentTimeMillis();
27     try {
28
29       destinationIdentifier = ParameterExpander.expandExpression( aValueMap, destinationExpression );
30       generatorIdentifier = ParameterExpander.expandExpression( aValueMap, generatorExpression );
31
32       aLogger.println("Generating " + generatorIdentifier + " into " + destinationIdentifier);
33       aLogger.flush();
34
35       PDFUtil.makePDF(generatorIdentifier,destinationIdentifier);
36
37         }
38         catch (Throwable t) {
39           aLogger.println("  error while generating: " + t.getMessage());
40       aLogger.flush();
41     }
42     endTime = System.currentTimeMillis();
43
44     aLogger.println("  Time: " + (endTime-startTime) + " ms<br>");
45     aLogger.flush();
46   }
47
48   public Set buildVerbSet() {
49     return new HashSet();
50   }
51 }