1 31 package org.blojsom.plugin.statistics; 32 33 import org.apache.commons.logging.Log; 34 import org.apache.commons.logging.LogFactory; 35 import org.blojsom.blog.Blog; 36 import org.blojsom.blog.Entry; 37 import org.blojsom.plugin.Plugin; 38 import org.blojsom.plugin.PluginException; 39 import org.blojsom.util.BlojsomUtils; 40 41 import javax.servlet.http.HttpServletRequest ; 42 import javax.servlet.http.HttpServletResponse ; 43 import java.util.Date ; 44 import java.util.Map ; 45 46 53 public class DaysSincePostedPlugin implements Plugin { 54 55 private Log _logger = LogFactory.getLog(DaysSincePostedPlugin.class); 56 57 public static final String DAYS_SINCE_POSTED_PLUGIN_HELPER = "DAYS_SINCE_POSTED_PLUGIN_HELPER"; 58 public static final String BLOJSOM_PLUGIN_DAYS_SINCE_POSTED_METADATA = "blojsom-plugin-days-since-posted"; 59 60 63 public DaysSincePostedPlugin() { 64 } 65 66 72 public void init() throws PluginException { 73 } 74 75 86 public Entry[] process(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Blog blog, Map context, Entry[] entries) throws PluginException { 87 Date today = new Date (); 88 89 for (int i = 0; i < entries.length; i++) { 90 Entry entry = entries[i]; 91 Map metaData = entry.getMetaData(); 92 Integer daysSincePosted = new Integer (BlojsomUtils.daysBetweenDates(entry.getDate(), today)); 93 metaData.put(BLOJSOM_PLUGIN_DAYS_SINCE_POSTED_METADATA, daysSincePosted); 94 entry.setMetaData(metaData); 95 } 96 97 context.put(DAYS_SINCE_POSTED_PLUGIN_HELPER, new DaysSincePostedHelper()); 98 99 return entries; 100 } 101 102 108 public void cleanup() throws PluginException { 109 } 110 111 117 public void destroy() throws PluginException { 118 } 119 120 123 public class DaysSincePostedHelper { 124 125 131 public Integer daysSincePosted(Date date) { 132 return new Integer (BlojsomUtils.daysBetweenDates(date, new Date ())); 133 } 134 } 135 } | Popular Tags |