Package com.sun.syndication.feed.synd

Examples of com.sun.syndication.feed.synd.SyndFeed


            SyndFeedInput input = new SyndFeedInput();
            SyndFeed syndFeed = input.build(new XmlReader(connection));
             */
            // So we let Rome do it, whatever it uses internally seems to be safer...
            SyndFeedInput input = new SyndFeedInput();
            SyndFeed syndFeed = input.build(new XmlReader(feedSource));

            log.debug("starting conversion from feed URL: " + feedURL);

            Feed feed = convertSyndFeed(syndFeed);

            for (Object o : syndFeed.getEntries()) {
                SyndEntry syndEntry = (SyndEntry)o;
                FeedEntry fe = convertSyndEntry(syndEntry);

                // Append some information on the title
                fe.setTitlePrefix("(" + feed.getTitle() + ") ");
View Full Code Here


  /**
   * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest,
   *      javax.servlet.http.HttpServletResponse)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) {
    SyndFeed feed = null;
    Writer writer = null;

    try {
      String pathInfo = request.getPathInfo();
      if ((pathInfo == null) || (pathInfo.equals(""))) { return; // error
      }

      // pathInfo is like /personal/username/tokenid.rss
      if (pathInfo.indexOf(RSSUtil.RSS_PREFIX_PERSONAL) == 0) {
        feed = getPersonalFeed(pathInfo);
        if (feed == null) {
          DispatcherAction.sendNotFound(pathInfo, response);
          return;
        }
      } else {
        DispatcherAction.sendNotFound(pathInfo, response);
        return;
      }

      // OLAT-5400 and OLAT-5243 related: sending back the reply can take arbitrary long,
      // considering slow end-user connections for example - or a sudden death of the connection
      // on the client-side which remains unnoticed (network partitioning)
      DBFactory.getInstance().intermediateCommit();
     
      response.setBufferSize(outputBufferSize);

      String encoding = feed.getEncoding();
      if (encoding == null) {
        encoding = DEFAULT_ENCODING;
        if (log.isDebug()) {
          log.debug("Feed encoding::" + encoding);
        }
        log.warn("No encoding provided by feed::" + feed.getClass().getCanonicalName() + " Using utf-8 as default.");
      }
      response.setCharacterEncoding(encoding);
      response.setContentType("application/rss+xml");

      Date pubDate = feed.getPublishedDate();
      if (pubDate != null) {
        response.setDateHeader("Last-Modified", pubDate.getTime());
      }
      // TODO:GW Do we need this?
      // response.setContentLength(feed.get);
View Full Code Here

      return null;
    }

    // FIXME:GW Make some sensible verifications here (expire date etc.) and
    // return a cached file if it exists
    SyndFeed cachedFeed = null;
    if (cachedFeed != null) {
      // return the cache entry
      return cachedFeed;
    } else {
      // create rss feed for user notifications
      SyndFeed feed = new PersonalRSSFeed(identity, idToken);
      return feed;
    }
  }
View Full Code Here

   */
  // ROME library uses untyped lists
  @SuppressWarnings("unchecked")
  private List<Item> getItemsFromFeed(Feed extFeed) {
    List<Item> items = new ArrayList<Item>();
    SyndFeed feed = getSyndFeed(extFeed);
    if (feed != null) {
      List<SyndEntry> entries = feed.getEntries();
      for (SyndEntry entry : entries) {
        Item item = convertToItem(entry);
        items.add(item);
      }
    }
View Full Code Here

  /**
   * @param extFeed
   * @param items
   */
  private SyndFeed getSyndFeed(Feed extFeed) {
    SyndFeed feed = null;
    SyndFeedInput input = new SyndFeedInput();
    String feedURL = extFeed.getExternalFeedUrl();
    try {
      URL url = new URL(feedURL);
      feed = input.build(new XmlReader(url));
View Full Code Here

  public MediaResource createFeedFile(OLATResourceable ores, Identity identity, Long courseId, String nodeId) {
    MediaResource media = null;
    Feed feed = readFeed(ores);

    if (feed != null) {
      SyndFeed rssFeed = new RSSFeed(feed, identity, courseId, nodeId);
      media = new SyndFeedMediaResource(rssFeed);
    }
    return media;
  }
View Full Code Here

        // accept feed(s) urls like generated in safari browser
        url = "http" + url.substring(4);
        modifiedProtocol = true;
      }
      URL realUrl = new URL(url);
      SyndFeed feed = input.build(new XmlReader(realUrl));
      if(!feed.getEntries().isEmpty()) {
        //check for enclosures
        SyndEntry entry = (SyndEntry)feed.getEntries().get(0);
        if(type != null && type.indexOf("BLOG") >= 0) {
          return new ValidatedURL(url, ValidatedURL.State.VALID);
        }
        if(entry.getEnclosures().isEmpty()) {
          return new ValidatedURL(url, ValidatedURL.State.NO_ENCLOSURE);
View Full Code Here

        assertThat(Helpers.charset(proxy.getResult()), is("utf-8"));
        assertThat(Helpers.header("Content-Disposition", proxy.getResult()), is("inline"));

        InputStream is = new ByteArrayInputStream(Helpers.contentAsBytes(proxy.getResult()));
        Reader reader = new InputStreamReader(is, Charset.forName("utf-8")); // TODO: Charset should be constant.
        SyndFeed feed = new SyndFeedInput().build(reader);

        List<String> links = new ArrayList<String>();
        @SuppressWarnings("unchecked")
        List<SyndEntry> entries = feed.getEntries();
        for (SyndEntry entry : entries)
            links.add(entry.getLink());

        assertThat(links, hasItem(loadEvent(DEFAULT_EVENT_ID).getEventURL()));
        assertThat(links, not(hasItem(loadEvent(PRIVATE_EVENT_ID).getEventURL())));
View Full Code Here

    }

    @Override
    public Exchange createExchange(Object feed, Object entry) {
        Exchange exchange = createExchangeWithFeedHeader(feed, RssConstants.RSS_FEED);
        SyndFeed newFeed;
        try {
            newFeed = (SyndFeed)((SyndFeed) feed).clone();
            newFeed.setEntries(Arrays.asList(entry));
        } catch (CloneNotSupportedException e) {
            LOG.debug("Could not create a new feed. This exception will be ignored.", e);
            newFeed = null;
        }       
        exchange.getIn().setBody(newFeed);
View Full Code Here

        try {
            Event event = transaction.getEvent();
            if (event == null)
                return renderNotFound();

            SyndFeed feed = new SyndFeedImpl();
            feed.setFeedType("rss_2.0");
            feed.setEncoding("utf-8");

            feed.setTitle(event.getTitle() + " - [PARTAKE]");
            feed.setLink(event.getEventURL());
            feed.setDescription(event.getSummary());

            byte[] body = createEventFeed(feed, transaction.getActivities());
            if (body == null)
                return renderNotFound();
            return render(body, "application/rss+xml", "inline");
View Full Code Here

TOP

Related Classes of com.sun.syndication.feed.synd.SyndFeed

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.