+ try {
+ MirGlobal.localizer().producers().beforeProducerTask(factoryName, verb);
+ }
+ catch (Throwable t) {
+ logger.warn("Misbehaving beforeProducerTask",t );
+ }
+
+ productionContext = new ProductionContext() {
+ public ProducerFactory getFactory() {
+ return factory;
+ }
+
+ public Producer getProducer() {
+ return producer;
+ }
+
+ public String getVerb() {
+ return verb;
+ }
+
+ public LoggerWrapper getLogger() {
+ return logger;
+ }
+
+ public Map getValueSet() {
+ return startingMap;
+ }
+ };
+ result = producer.execute(productionContext);
+ try {
+ MirGlobal.localizer().producers().afterProducerTask(factoryName, verb);
+ }
+ catch (Throwable t) {
+ logger.warn("Misbehaving afterProducerTask", t);
+ }