From d02bdc82f5824d1708080c4cbaaf2851d248120c Mon Sep 17 00:00:00 2001 From: yossarian Date: Sat, 11 Nov 2006 15:53:38 +0000 Subject: [PATCH] GeneratingProducerNode now alerts the ChangeTracker whenever a file change is made during a producer run. --- source/mir/producer/GeneratingProducerNode.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/source/mir/producer/GeneratingProducerNode.java b/source/mir/producer/GeneratingProducerNode.java index 5aaf89ec..385c7e3e 100755 --- a/source/mir/producer/GeneratingProducerNode.java +++ b/source/mir/producer/GeneratingProducerNode.java @@ -27,10 +27,13 @@ */ package mir.producer; +import mir.changetracker.ChangeTracker; +import mir.changetracker.ChangeType; import mir.generator.Generator; import mir.generator.WriterEngine; import mir.log.LoggerWrapper; import mir.util.ParameterExpander; +import mircoders.global.MirGlobal; import java.util.HashMap; import java.util.Map; @@ -81,7 +84,8 @@ public class GeneratingProducerNode extends AbstractProducerNode { destinationIdentifier = ParameterExpander.expandExpression(aValueMap, destinationExpression); generatorIdentifier = ParameterExpander.expandExpression(aValueMap, generatorExpression); parameters = ParameterExpander.expandExpression(aValueMap, parametersExpression); - + String relPathExpression = "/${article.date.formatted.yyyy}/${article.date.formatted.MM}/${article.id}.shtml"; + String relativePath = ParameterExpander.expandExpression(aValueMap, relPathExpression); mirMap.put("generator", generatorIdentifier); mirMap.put("destination", destinationIdentifier); mirMap.put("parameters", parameters); @@ -93,6 +97,7 @@ public class GeneratingProducerNode extends AbstractProducerNode { endTime = System.currentTimeMillis(); aLogger.debug("Generated " + generatorIdentifier + " into " + destinationIdentifier + " [" + parameters + "] in " + (endTime - startTime) + " ms"); + reportChange(relativePath); } finally { mirMap.put("generator", oldGenerator); @@ -104,4 +109,9 @@ public class GeneratingProducerNode extends AbstractProducerNode { aLogger.error(" error while generating", t); } } + + private void reportChange(String aPath) { + ChangeTracker changeTracker = MirGlobal.getChangeEngine().getTracker(); + changeTracker.addChange(aPath, ChangeType.MODIFICATION); + } } \ No newline at end of file -- 2.11.0