浏览 1266 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-05-28 关键字: ROME
package org.zjut.romefunction;
/**
* this class is update the news;
* @author xuhaimin
*
*/
import java.util.Date;
import java.util.Iterator;
import org.zjut.DAOFactory.DAOFactory;
import org.zjut.PO.Feed;
import org.zjut.PO.Item;
import org.zjut.PO.Rss;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
public class UpdateItems {
public void perform(Rss rss) {
System.out.println(rss.getId());
SyndFeed syndfeed = new ParseRss().getSyndFeed(rss);
String title = syndfeed.getTitle();
Feed feed = DAOFactory.getIntance().createFeedDAO().getFeedByTitle(
title);
Date maxdate = getMaxDate(title);
Iterator intor = syndfeed.getEntries().iterator();
while (intor.hasNext()) {
SyndEntry synden = (SyndEntry) intor.next();
Date date = synden.getPublishedDate();
if (date == null)
continue;
if (date.after(maxdate)) {
System.err.println("当前数据库中" + feed.getTitle() + " 最新时间是"
+ maxdate);
System.err.println("当前rss 最新时间是" + date);
/**
* 如果是更新新闻 就入库
*/
Item item = new Item();
item.setTitle(synden.getTitle());
String description=synden.getDescription().getValue().replaceAll("<[.[^<]]*>","");
if(description==null||description.equals(""))
item.setDescription("对不起,没有该新闻的描述");
item.setDescription(description);
item.setAuthor(synden.getAuthor());
item.setSource("");
item.setPubDate(synden.getPublishedDate());
item.setLink(synden.getLink());
item.setFeed(feed);
System.err.println("@ 服务器正在更新" + feed.getTitle()
+ "的内容..........................................");
DAOFactory.getIntance().createItemDAO().saveItem(item);
} else {
break;
}
}
}
public Date getMaxDate(String title) {
Feed feed = DAOFactory.getIntance().createFeedDAO().getFeedByTitle(
title);
Long feedid = feed.getId();
Date date = org.zjut.HibernateUtil.Util.maxDate(feedid);
return date;
}
}
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-05-28
嗯???
引用 import org.zjut.PO.Feed; import org.zjut.PO.Item; import org.zjut.PO.Rss; 为什么要封装这些?? ROME本身提供的就很足够了啊... 0.9早出来了哦, 更新的是: 1) ROME now supports the final version of the Atom Syndication Format RFC 4287: let's Nuke all these feeds! NEW 2) Enclosure support at the Synd level, for all our podcaster friends 3) Bug fixes and more. Details in the ChangeList 4) Modules galore: Content, iTunes Podcast, Slash, Google Base, Creative Commons, MediaRSS 2 和 4 是比较实用的更新. Enclosure支持等了太久了... Module这些以前都自己写, 现在有plugin好多了. |
|
| 返回顶楼 | |
|
最后更新时间:2007-05-28
[quote="lordhong"]嗯???
[quote] import org.zjut.PO.Feed; import org.zjut.PO.Item; import org.zjut.PO.Rss; [/quote] 为什么要封装这些?? ROME本身提供的就很足够了啊... 这个是一些PO对象 是数据库的映射 |
|
| 返回顶楼 | |





