package com.bielu.annoboard.action.rss; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import com.bielu.annoboard.dao.AnnouncementDao; import com.bielu.annoboard.domain.Announcement; import com.bielu.annoboard.rss.RssChannel; import com.opensymphony.xwork2.ActionSupport; public class RssAction extends ActionSupport { private static final long serialVersionUID = 5247841193591145995L; private static final int DEFAULT_LAST_COUNT = 50; @Autowired private AnnouncementDao announcementDao; private RssChannel channel; private int lastCount = DEFAULT_LAST_COUNT; private String query; @Override @Transactional(readOnly = true) public String execute() { if (query != null && query.trim().length() > 0) { channel = RssChannelHelper.createRssChannel(announcementDao.loadByFreeTextQuery(query)); channel.setTitle(getText("channel.title.freeText", new String[] { query })); return SUCCESS; } List list = announcementDao.loadLast(getLastCount()); channel = RssChannelHelper.createRssChannel(list); channel.setTitle(getText("channel.title", new String[] { String.valueOf(list.size()) })); return SUCCESS; } public RssChannel getChannel() { return channel; } public void setLastCount(int count) { this.lastCount = count; } private int getLastCount() { return lastCount; } public String getQuery() { return query; } public void setQuery(String query) { this.query = query; } }