浏览 3150 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-27
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; } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间: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
嗯???
引用 import org.zjut.PO.Feed; import org.zjut.PO.Item; import org.zjut.PO.Rss; 为什么要封装这些?? ROME本身提供的就很足够了啊... 这个是一些PO对象 是数据库的映射 |
|
返回顶楼 | |