Package net.dromard.common.rss.feed

Examples of net.dromard.common.rss.feed.RSS


public class RSSFeedReader extends RSSReader {

  public RSS load(final URL url) throws ParserConfigurationException, SAXException, IOException {
    DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
    Document doc = builder.parse(url.openStream());
    RSS rss = new RSS();
    NodeList feedNodes = doc.getElementsByTagName("rss");
    for (int f = 0; f < feedNodes.getLength(); f++) {
      Element element = (Element) feedNodes.item(f);
      rss.setVersion(element.getAttribute("version"));
      NodeList channelNodes = element.getElementsByTagName("channel");
      if (channelNodes.getLength() >= 1) {
        element = (Element) channelNodes.item(0);
        Channel channel = new Channel();
        channel.setTitle(getElementValue(element, "title"));
        channel.setDescription(getElementValue(element, "description"));
        channel.setLink(getElementValue(element, "link"));
        channel.setAuthor(getElementValue(element, "author"));
       
        NodeList items = element.getElementsByTagName("item");
        for (int i = 0; i < items.getLength(); i++) {
          Element itemElmt = ((Element) items.item(i));
          Item item = new Item();
          item.setAuthor(getElementValue(itemElmt, "author"));
          item.setCategory(getElementValue(itemElmt, "category"));
          item.setDescription(getElementValue(itemElmt, "description"));
          item.setLink(getElementValue(itemElmt, "link"));
          item.setGuid(getElementValue(itemElmt, "guid"));
          item.setPublished(getElementValue(itemElmt, "pubDate"));
          item.setTitle(getElementValue(itemElmt, "title"));
          NodeList enclosureNode = itemElmt.getElementsByTagName(Enclosure.ENCLOSURE);
          if (enclosureNode.getLength() == 1) {
            Enclosure enclosure = new Enclosure();
            Element enclosureElmt = ((Element) enclosureNode.item(0));
            String length = enclosureElmt.getAttribute(Enclosure.LENGTH);
            if (length.length() > 0) {
              try {
                enclosure.setLength(Integer.parseInt(length));
              } catch (NumberFormatException e) {
              }
            }
            enclosure.setType(enclosureElmt.getAttribute(Enclosure.TYPE));
            enclosure.setUrl(enclosureElmt.getAttribute(Enclosure.URL));
            item.setEnclosure(enclosure);
          }
          channel.addItem(item);
        }

        rss.setChannel(channel);
      }
    }
    return rss;
  }
View Full Code Here


  public static void main(String[] args) throws Exception {
    RSSFeedReader reader = new RSSFeedReader();
    //URL u = new File("C:/Projects/picasamoviecollection/src/main/resources/curiouscreature.xml").toURI().toURL();
    //URL u = new File("C:/Projects/picasamoviecollection/src/main/resources/albums.xml").toURI().toURL();
    URL u = new URL("http://picasaweb.google.fr/data/feed/base/user/laurentetsylvie75/albumid/5264008816855671777?alt=rss&kind=photo&authkey=OJ0rnRRHaLA&hl=fr");
    RSS rss = reader.load(u);
    System.out.println(rss.toXML());
  }
View Full Code Here

      glassPane.getProgressBar().setMinimum(0);
      setGlassPane(glassPane);
      glassPane.setString(Messages.getString("PicasaWebAlbumDownloaderControler.loading.feed"));
      glassPane.getProgressBar().setIndeterminate(true);
      RSSFeedReader reader = new RSSFeedReader();
      RSS rss = reader.load(new URL(frame.getURLFeed()));
      glassPane.setString(Messages.getString("PicasaWebAlbumDownloaderControler.downloading"));
      glassPane.getProgressBar().setStringPainted(true);
      glassPane.getProgressBar().setIndeterminate(false);
      glassPane.getProgressBar().setMaximum(rss.getChannel().getItems().size() + 1);
      glassPane.getProgressBar().setValue(0);
      JFileChooser fileChooser = new JFileChooser();
      fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
      if (fileChooser.showSaveDialog(frame) == JFileChooser.APPROVE_OPTION) {
        List<Exception> errors = new ArrayList<Exception>();
        for (Item item: rss.getChannel().getItems()) {
          glassPane.getProgressBar().setString(glassPane.getProgressBar().getValue() + "/" + rss.getChannel().getItems().size());
          glassPane.getProgressBar().setValue(glassPane.getProgressBar().getValue() + 1);
          Enclosure enclosure = item.getEnclosure();
          if (enclosure != null && enclosure.getType().equalsIgnoreCase("image/jpeg")) {
            try {
              download(enclosure.getUrl(), fileChooser.getSelectedFile() + File.separator + item.getTitle());
View Full Code Here

TOP

Related Classes of net.dromard.common.rss.feed.RSS

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.