// Path: app/models/HistoricalEvent.java
// @Entity
// public class HistoricalEvent extends AbstractModel
// {
//     @Column(nullable = false)
//     public Date creationDate;
// 
//     @Column(nullable = false)
//     public String category;
// 
//     @Column(length = 1000,
//             nullable = false)
//     public String message;
// 
//     public static final Finder<Long, HistoricalEvent> FIND = new Finder<Long, HistoricalEvent>(Long.class,
//                                                                                                HistoricalEvent.class);
// 
//     public static List<HistoricalEvent> findMostRecent(int count)
//     {
//         return FIND.where().orderBy("creationDate DESC").setMaxRows(count).findList();
//     }
// }
// 
// Path: app/utils/IOUtils.java
// public class IOUtils
// {
//     private IOUtils()
//     {
//         // no-op
//     }
// 
//     public static void close(Closeable closeable)
//     {
//         if (closeable != null)
//         {
//             try
//             {
//                 closeable.close();
//             }
//             catch (IOException e)
//             {
//                 Logger.error("Unable to close",
//                              e);
//             }
//         }
//     }
// }


import akka.actor.UntypedActor;
import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndContentImpl;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndEntryImpl;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndFeedImpl;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedOutput;
import models.HistoricalEvent;
import play.Logger;
import play.Play;
import utils.IOUtils;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
            entries.add(entry);
        }

        feed.setEntries(entries);

        Writer writer = null;
        try
        {
            File outputFile = new File(outputDirectory,
                                       String.format("mpo.%s.xml",
                                                     classifier));
            writer = new FileWriter(outputFile);
            SyndFeedOutput output = new SyndFeedOutput();
            output.output(feed,writer);
            writer.close();
        }
        catch (IOException e)
        {
            Logger.error(String.format("A problem occurred when generating the %s feed",
                                       classifier),
                         e);
        }
        catch (FeedException e)
        {
            Logger.error(String.format("A problem occurred when generating the %s feed",
                                       classifier),
                         e);
        }
        finally
        {
// Path: app/models/HistoricalEvent.java
// @Entity
// public class HistoricalEvent extends AbstractModel
// {
//     @Column(nullable = false)
//     public Date creationDate;
// 
//     @Column(nullable = false)
//     public String category;
// 
//     @Column(length = 1000,
//             nullable = false)
//     public String message;
// 
//     public static final Finder<Long, HistoricalEvent> FIND = new Finder<Long, HistoricalEvent>(Long.class,
//                                                                                                HistoricalEvent.class);
// 
//     public static List<HistoricalEvent> findMostRecent(int count)
//     {
//         return FIND.where().orderBy("creationDate DESC").setMaxRows(count).findList();
//     }
// }
// 
// Path: app/utils/IOUtils.java
// public class IOUtils
// {
//     private IOUtils()
//     {
//         // no-op
//     }
// 
//     public static void close(Closeable closeable)
//     {
//         if (closeable != null)
//         {
//             try
//             {
//                 closeable.close();
//             }
//             catch (IOException e)
//             {
//                 Logger.error("Unable to close",
//                              e);
//             }
//         }
//     }
// }


// Path: app/actors/FeedCreationActor.java
import akka.actor.UntypedActor;
import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndContentImpl;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndEntryImpl;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndFeedImpl;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedOutput;
import models.HistoricalEvent;
import play.Logger;
import play.Play;
import utils.IOUtils;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

            entries.add(entry);
        }

        feed.setEntries(entries);

        Writer writer = null;
        try
        {
            File outputFile = new File(outputDirectory,
                                       String.format("mpo.%s.xml",
                                                     classifier));
            writer = new FileWriter(outputFile);
            SyndFeedOutput output = new SyndFeedOutput();
            output.output(feed,writer);
            writer.close();
        }
        catch (IOException e)
        {
            Logger.error(String.format("A problem occurred when generating the %s feed",
                                       classifier),
                         e);
        }
        catch (FeedException e)
        {
            Logger.error(String.format("A problem occurred when generating the %s feed",
                                       classifier),
                         e);
        }
        finally
        {
            IOUtils.close(writer);