7 import mir.generator.*;
8 import mircoders.global.*;
9 import mircoders.localizer.*;
11 public class FileDateSettingProducerNode extends FileOperationProducerNode {
12 String dateExpression;
14 public FileDateSettingProducerNode(String aFileIdentifier, String aDateExpression) {
15 super(aFileIdentifier);
17 dateExpression = aDateExpression;
20 protected void perform(File aFile, Map aValueMap, String aVerb, PrintWriter aLogger) throws ProducerFailure {
22 Object date = ParameterExpander.findValueForKey( aValueMap, dateExpression );
24 if (!(date instanceof Date))
25 throw new ProducerFailure("FileDateSettingProducerNode: expression " + dateExpression + " does not evaluate to a Date!", null );
27 if (!aFile.setLastModified(((Date) date).getTime())) {
28 aLogger.println("Can't set date for " + aFile.getName());
32 throw new ProducerFailure(t.getMessage(), t);