View Javadoc

1   package net.sourceforge.blogentis.modules.fragments;
2   
3   //-----------------------------------------------------------------------
4   //Blogentis - a blog publishing platform.
5   //Copyright (C) 2004 Tassos Bassoukos <abassouk@gmail.com>
6   //
7   //This library is free software; you can redistribute it and/or
8   //modify it under the terms of the GNU Lesser General Public
9   //License as published by the Free Software Foundation; either
10  //version 2.1 of the License, or (at your option) any later version.
11  //
12  //This library is distributed in the hope that it will be useful,
13  //but WITHOUT ANY WARRANTY; without even the implied warranty of
14  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  //Lesser General Public License for more details.
16  //
17  //You should have received a copy of the GNU Lesser General Public
18  //License along with this library; if not, write to the Free Software
19  //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  //-----------------------------------------------------------------------
21  //
22  //$Id: RecentComments.java,v 1.2 2004/10/28 10:41:40 tassos Exp $
23  //
24  
25  import net.sourceforge.blogentis.feed.Feed;
26  import net.sourceforge.blogentis.feed.FeedFactory;
27  import net.sourceforge.blogentis.storage.VelocityFragment;
28  import net.sourceforge.blogentis.turbine.BlogParameterParser;
29  import net.sourceforge.blogentis.turbine.BlogRunData;
30  
31  import org.apache.commons.configuration.Configuration;
32  import org.apache.velocity.context.Context;
33  
34  public class RecentComments
35          extends VelocityFragment {
36      public VelocityFragment invoke(Context context) {
37          if (context.get("feed") == null)
38              return this;
39          BlogRunData data = (BlogRunData)context.get("data");
40          Configuration conf = data.getBlog().getConfiguration().subset("RecentComments");
41  
42          BlogParameterParser pp = (BlogParameterParser)data.getParameters();
43          String all = pp.getString("all", null);
44          pp.remove("all");
45          pp.add("all", "comments"); // TODO: Fix this!
46          Feed f = FeedFactory.getFeed(data);
47          f.setLimit(conf.getInt("feedSize", 15));
48          context.put("boxFeed", f);
49          pp.remove("all");
50          if (all != null)
51              pp.add("all", all);
52          return this;
53      }
54  }