rss 開發實例2 getFeed()方法得實現
package com.ouou.webapp.rss;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.bind.RequestUtils;
import org.springframework.beans.BeansException;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndImage;
import com.sun.syndication.feed.synd.SyndImageImpl;
import com.sun.syndication.io.FeedException;
import com.ouou.video.om.Videos;
import com.ouou.video.om.VideosPeer;
import com.ouou.util.ImagesUtil;
import com.ouou.util.DomainUtil;
import com.ouou.service.impl.VideosManagerImpl;
import com.leyuan.client.model.User;
import com.leyuan.client.model.UserInfo;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.Properties;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: xingtao
* Date: 2006-9-12
* Time: 21:54:11
*/
public class SpaceFeed extends AbstractFeedServlet{
private static final Log logger = LogFactory.getLog(SpaceFeed.class);
public SyndFeed getFeed(HttpServletRequest request, String type) throws IOException, FeedException {
String username = RequestUtils.getStringParameter(request, "username","");
SyndFeed feed = getBaseFeed();
try {
Properties prop = (Properties) context.getBean("space_rss");
User user = umanager.getUserByUserName(username);
UserInfo userInfo = umanager.getUserInfoByUID(user.getUid());
if (!"".equalsIgnoreCase(username) || null != user || null!=userInfo ) {
feed.setTitle(new StringBuffer(prop.getProperty("title")).append(user.getNick()).toString());
feed.setDescription(userInfo.getIntro());
SyndImage image = new SyndImageImpl();
image.setUrl(ImagesUtil.getUserCoverUrl(userInfo.getCoverImage()));
image.setTitle(user.getUserName());
String link = new StringBuffer(DomainUtil.getSpaceDomain())
.append("/space/")
.append(user.getUserName()).toString();
image.setLink(link);
feed.setImage(image);
feed.setLink(link);
List<Videos> list = vmanager.getVideos(user.getUid(),VideosManagerImpl.AUDITING_STATUS, VideosManagerImpl.SHARE,10,0, VideosPeer.CREATE_TIME,false);
feed = process(feed, list);
}
} catch (BeansException e) {
e.printStackTrace();
logger.error(e);
return null;
}
return feed;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.