Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

About this user

ranjan

« Newer Snippets
Older Snippets »
Showing 1-4 of 4 total  RSS 

RSS jsp taglib v 0.2

// taglib to display rss in jsp page

   1  
   2  package com.ranjan.feedreader;
   3  
   4  /**
   5   * Created by IntelliJ IDEA.
   6   * User: Rapid
   7   * Date: Oct 9, 2006
   8   * Time: 3:18:23 PM
   9   * To change this template use File | Settings | File Templates.
  10   */
  11  import java.net.URL;
  12  import java.util.Iterator;
  13  import java.util.HashMap;
  14  
  15  import com.sun.syndication.feed.module.Module;
  16  import com.sun.syndication.feed.synd.SyndEntry;
  17  import com.sun.syndication.feed.synd.SyndFeed;
  18  import com.sun.syndication.io.SyndFeedInput;
  19  import com.sun.syndication.io.XmlReader;
  20  import javax.servlet.jsp.JspContext;
  21  
  22  import javax.servlet.jsp.tagext.Tag;
  23  import javax.servlet.jsp.tagext.TagSupport;
  24  import javax.servlet.jsp.JspException;
  25  
  26  /* this tag should return the RSS feed as it is
  27   *it's purpose is to retrieve rss feeds
  28   *
  29   */
  30  
  31  public class FeedReader extends TagSupport{
  32  
  33      private String url = null;
  34  
  35  
  36  
  37  
  38  
  39      SyndFeedInput input ;
  40      URL feedUrl;
  41      SyndFeed feed ;
  42      String html ;
  43  
  44  
  45      public String getUrl() {
  46          return url;
  47      }
  48  
  49      public void setUrl(String url) {
  50          this.url = url;
  51      }
  52  
  53      public int doStartTag() throws JspException {
  54  
  55          return EVAL_BODY_INCLUDE;    //To change body of overridden methods use File | Settings | File Templates.
  56      }
  57  
  58      public int doEndTag() throws JspException {
  59  
  60  
  61  
  62  
  63              try  {
  64  
  65  
  66  
  67                  feedUrl  = new URL(url);
  68  
  69                  input  = new SyndFeedInput();
  70  
  71                  feed = input.build(new XmlReader(feedUrl));
  72  /*
  73                  String metaRSS = "Title: " + feed.getTitle() + "\n" +
  74                  "Author: " + feed.getAuthor()  + "\n" +
  75                   "Description: " + feed.getDescription()  + "\n" +
  76                   "Pub date: " + feed.getPublishedDate()  + "\n" +
  77                   "Copyright: " + feed.getCopyright() ;
  78  
  79                   pageContext.getOut().write( metaRSS );
  80  */
  81  
  82                    html =
  83  
  84                          "<table border='1'>" +
  85                          "<tr>" +
  86                              "<td>" + feed.getTitle() +
  87                              "</td>" +
  88                          "</tr>" +
  89                              "<tr>" +
  90                              "<td>" + feed.getDescription() +
  91                              "</td>" +
  92                          "</tr>" +
  93                           "<tr>" +
  94                              "<td>" + feed.getCopyright() +
  95                              "</td>" +
  96                          "</tr>" +
  97  
  98  
  99                          "<tr>" +
 100                              "<table>" ;
 101  
 102                                      //"<td> <a href = '#' onclick = " + "\"" + "popup_rss_article('" + /**/ + "') \"" + ">" + /**/  + "</a></td>"                      
 103                                     for( Iterator iter = feed.getEntries().iterator(); iter.hasNext(); ){
 104                                     
 105                                     html +=  "<tr>" +
 106                                                     createHREF(((SyndEntry)iter.next()).getLink() , ((SyndEntry)iter.next()).getTitle() )  +
 107                                     //             "<td> <a href = '#' onclick = " + "\"" + "popup_rss_article('" +((SyndEntry)iter.next()).getLink() + "') \"" + ">" + ((SyndEntry)iter.next()).getTitle()  + "</a></td>" +
 108                                              "</tr>"; 
 109                                     //((SyndEntry)iter.next()).getLink().toString()
 110                                      }
 111  
 112                          html +=
 113                                  "</table>" +
 114                           "</tr>" +
 115                          "</table>" ;
 116  
 117  
 118                  pageContext.getOut().write( html );
 119  
 120  
 121              }
 122              catch (Exception ex) {
 123                  ex.printStackTrace();
 124                  System.out.println("ERROR: " + ex.getMessage());
 125              }
 126  
 127  
 128  
 129  
 130  
 131  
 132          return EVAL_PAGE;    //To change body of overridden methods use File | Settings | File Templates.
 133      }
 134      public String createHREF( String link, String value )
 135      {
 136          return  "<td> <a href = '#' onclick = " + "\"" + "popup_rss_article('" + link + "') \"" + ">" + value  + "</a></td>";        
 137      }
 138  
 139  }
 140  
 141  //////////////////////////////////////////
 142  tld     /////////////////////////////////
 143  //////////////////////////////////////////
 144  

taglib for rss v 0.1

// jsp taglibrary for rss

   1  
   2  // the java code
   3  package com.ranjan.feedreader;
   4  
   5  /**
   6   * Created by IntelliJ IDEA.
   7   * User: Rapid
   8   * Date: Oct 9, 2006
   9   * Time: 3:18:23 PM
  10   * To change this template use File | Settings | File Templates.
  11   */
  12  import java.net.URL;
  13  import java.util.Iterator;
  14  import java.util.HashMap;
  15  
  16  import com.sun.syndication.feed.module.Module;
  17  import com.sun.syndication.feed.synd.SyndEntry;
  18  import com.sun.syndication.feed.synd.SyndFeed;
  19  import com.sun.syndication.io.SyndFeedInput;
  20  import com.sun.syndication.io.XmlReader;
  21  import javax.servlet.jsp.JspContext;
  22  
  23  import javax.servlet.jsp.tagext.Tag;
  24  import javax.servlet.jsp.tagext.TagSupport;
  25  import javax.servlet.jsp.JspException;
  26  
  27  /* this tag should return the RSS feed as it is 
  28   *it's purpose is to retrieve rss feeds 
  29   *
  30   */
  31  
  32  public class FeedReader extends TagSupport{
  33  
  34      private String url = null;
  35  
  36      
  37  
  38      
  39      
  40      SyndFeedInput input ;
  41      URL feedUrl;
  42      SyndFeed feed ;
  43      String html ;
  44      
  45  
  46      public String getUrl() {
  47          return url;
  48      }
  49  
  50      public void setUrl(String url) {
  51          this.url = url;
  52      }
  53      
  54      public int doStartTag() throws JspException {
  55  
  56          return EVAL_BODY_INCLUDE;    //To change body of overridden methods use File | Settings | File Templates.
  57      }
  58  
  59      public int doEndTag() throws JspException {
  60  
  61  
  62  
  63  
  64              try  {
  65  
  66      
  67  
  68                  feedUrl  = new URL(url);
  69  
  70                  input  = new SyndFeedInput();
  71                  
  72                  feed = input.build(new XmlReader(feedUrl));
  73  /*
  74                  String metaRSS = "Title: " + feed.getTitle() + "\n" +
  75                  "Author: " + feed.getAuthor()  + "\n" +
  76                   "Description: " + feed.getDescription()  + "\n" +
  77                   "Pub date: " + feed.getPublishedDate()  + "\n" +
  78                   "Copyright: " + feed.getCopyright() ;
  79  
  80                   pageContext.getOut().write( metaRSS );
  81  */
  82                 
  83                    html =       
  84  
  85                          "<table border='1'>" +
  86                          "<tr>" +
  87                              "<td>" + feed.getTitle() + 
  88                              "</td>" + 
  89                          "</tr>" +
  90                              "<tr>" +
  91                              "<td>" + feed.getDescription() + 
  92                              "</td>" + 
  93                          "</tr>" +
  94                           "<tr>" +
  95                              "<td>" + feed.getCopyright() +
  96                              "</td>" + 
  97                          "</tr>" +
  98                          
  99                                          
 100                          "<tr>" +
 101                              "<table>" ;
 102                    
 103                                     for( Iterator iter = feed.getEntries().iterator(); iter.hasNext(); ){
 104                                     html +=  "<tr>" +
 105                                                  "<td><a href = " + ((SyndEntry)iter.next()).getLink() + ">" +   
 106                                                      ((SyndEntry)iter.next()).getTitle() + "</a>" + 
 107  
 108                                                  "</td>" +
 109                                                
 110                                                  "</tr>" ;
 111                                     
 112                                     //((SyndEntry)iter.next()).getLink().toString() 
 113                                      }       
 114                     
 115                          html += 
 116                                  "</table>" +
 117                           "</tr>" +                        
 118                          "</table>" ;
 119                             
 120                  
 121                  pageContext.getOut().write( html );
 122                  
 123                  
 124              }
 125              catch (Exception ex) {
 126                  ex.printStackTrace();
 127                  System.out.println("ERROR: " + ex.getMessage());
 128              }
 129  
 130  
 131          
 132  
 133          
 134          
 135          return EVAL_PAGE;    //To change body of overridden methods use File | Settings | File Templates.
 136      }
 137  
 138  
 139  }
 140  //////////////////////////////////////////////////
 141  
 142  //  the tld file 
 143  //////////////////////////////////////////////////
 144  <?xml version="1.0" encoding="UTF-8"?>
 145  <taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
 146    <tlib-version>1.0</tlib-version>
 147    <short-name>rss</short-name>
 148    <uri>/WEB-INF/tlds/rss</uri>
 149    
 150    <tag>
 151         <name>rss</name>
 152         <tag-class>com.ranjan.feedreader.FeedReader</tag-class>
 153         <body-content>empty</body-content>
 154            <attribute>
 155              <name>url</name>
 156              <required>true</required>
 157              <rtexprvalue>false</rtexprvalue>
 158            </attribute>
 159  
 160         
 161    </tag>    
 162    <!-- A validator verifies that the tags are used correctly at JSP
 163           translation time. Validator entries look like this: 
 164        <validator>
 165            <validator-class>com.mycompany.TagLibValidator</validator-class>
 166            <init-param>
 167               <param-name>parameter</param-name>
 168               <param-value>value</param-value>
 169  	  </init-param>
 170        </validator>
 171     -->
 172    <!-- A tag library can register Servlet Context event listeners in
 173          case it needs to react to such events. Listener entries look
 174          like this: 
 175       <listener>
 176           <listener-class>com.mycompany.TagLibListener</listener-class> 
 177       </listener>
 178     -->
 179     
 180  </taglib>
 181  

RSS Reader - Reads Name and URL into HashMap

// description of your code here
// RSS reader for web reads them into HashMap

   1  
   2  
   3  
   4  /**
   5   * Created by IntelliJ IDEA.
   6   * User: Rapid
   7   * Date: Oct 9, 2006
   8   * Time: 3:18:23 PM
   9   * To change this template use File | Settings | File Templates.
  10   */
  11  import java.net.URL;
  12  import java.util.Iterator;
  13  import java.util.HashMap;
  14  
  15  import com.sun.syndication.feed.module.Module;
  16  import com.sun.syndication.feed.synd.SyndEntry;
  17  import com.sun.syndication.feed.synd.SyndFeed;
  18  import com.sun.syndication.io.SyndFeedInput;
  19  import com.sun.syndication.io.XmlReader;
  20  
  21  /**
  22   * Reads and prints any RSS/Atom feed type. Adopted from the example by the
  23   * same name at http://wiki.java.net/bin/view/Javawsxml/Rome05TutorialFeedReader
  24   *
  25   */
  26  public class FeedReader {
  27  
  28  
  29      HashMap hm = null;
  30      String[][] rss = null ;
  31      SyndFeedInput input ;
  32      URL feedUrl;
  33      SyndFeed feed ;
  34      int count =-1;
  35  
  36  
  37      public HashMap readRSS(String url) {
  38          boolean readOk = false;
  39  
  40              try {
  41  
  42                  hm = new HashMap();
  43  
  44                 feedUrl  = new URL(url);
  45  
  46                  input  = new SyndFeedInput();
  47                   feed = input.build(new XmlReader(feedUrl));
  48  
  49                  System.out.println("Title: " + feed.getTitle());
  50                  System.out.println("Author: " + feed.getAuthor());
  51                  System.out.println("Description: " + feed.getDescription());
  52                  System.out.println("Pub date: " + feed.getPublishedDate());
  53                  System.out.println("Copyright: " + feed.getCopyright());
  54                  System.out.println("Modules used:");
  55  
  56  
  57  
  58                  String metaRSS = "Title: " + feed.getTitle() + "\n" +
  59                  "Author: " + feed.getAuthor()  + "\n" +
  60                   "Description: " + feed.getDescription()  + "\n" +
  61                   "Pub date: " + feed.getPublishedDate()  + "\n" +
  62                   "Copyright: " + feed.getCopyright() ;
  63  
  64  
  65  
  66  
  67                  rss = new String[ feed.getEntries().size()][2];
  68  
  69  
  70                  System.out.println("Titles of the " + feed.getEntries().size() +
  71                                     " entries:");
  72                  for (final Iterator iter = feed.getEntries().iterator();
  73                       iter.hasNext();)
  74                  {
  75  
  76  
  77  
  78  
  79  
  80  
  81                      rss[++count][0] =      ((SyndEntry)iter.next()).getTitle().toString();
  82  
  83  
  84  
  85  
  86                  }
  87                  count = -1 ;
  88                  for (final Iterator iter = feed.getEntries().iterator();
  89                       iter.hasNext();)
  90                  {
  91  
  92                     rss[++count][1] =      ((SyndEntry)iter.next()).getUri().toString();
  93                  }
  94  
  95  
  96                  if (feed.getImage() != null)
  97                  {
  98                      System.out.println("Feed image URL: " +
  99                                         feed.getImage().getUrl());
 100                  }
 101  
 102                  readOk = true;
 103                  hm.put( feed.getTitle(), rss);
 104              }
 105              catch (Exception ex) {
 106                  ex.printStackTrace();
 107                  System.out.println("ERROR: " + ex.getMessage());
 108              }
 109  
 110  
 111          String[][] rs = (String[][])hm.get("LinuxInsider");
 112  
 113            System.out.println("************************");
 114          for( int i=0; i<rs.length; i++){
 115  
 116              System.out.println( rs[i][0]);
 117               System.out.println( rs[i][1]);
 118  //             System.out.println( rs[i][2]);
 119          }
 120          if (! readOk) {
 121              System.out.println();
 122              System.out.println("FeedReader reads and prints info on any RSS/Atom feed.");
 123              System.out.println("The first parameter must be the URL of the feed to read.");
 124              System.out.println();
 125          }
 126  
 127          return hm;
 128      }
 129  
 130  }

RSS Reader - simple with Main

// description of your code here
//Reads rss from given url

   1  
   2  
   3  
   4  /**
   5   * Created by IntelliJ IDEA.
   6   * User: Rapid
   7   * Date: Oct 9, 2006
   8   * Time: 3:18:23 PM
   9   * To change this template use File | Settings | File Templates.
  10   */
  11  import java.net.URL;
  12  import java.util.Iterator;
  13  
  14  import com.sun.syndication.feed.module.Module;
  15  import com.sun.syndication.feed.synd.SyndEntry;
  16  import com.sun.syndication.feed.synd.SyndFeed;
  17  import com.sun.syndication.io.SyndFeedInput;
  18  import com.sun.syndication.io.XmlReader;
  19  
  20  /**
  21   * Reads and prints any RSS/Atom feed type. Adopted from the example by the
  22   * same name at http://wiki.java.net/bin/view/Javawsxml/Rome05TutorialFeedReader
  23   *
  24   */
  25  public class FeedReader1 {
  26  
  27      public static void main(final String[] args) {
  28          boolean readOk = false;
  29          if (args.length == 1) {
  30              try {
  31                  final URL feedUrl = new URL(args[0]);
  32  
  33                  final SyndFeedInput input = new SyndFeedInput();
  34                  final SyndFeed feed = input.build(new XmlReader(feedUrl));
  35  
  36                  System.out.println("Title: " + feed.getTitle());
  37                  System.out.println("Author: " + feed.getAuthor());
  38                  System.out.println("Description: " + feed.getDescription());
  39                  System.out.println("Pub date: " + feed.getPublishedDate());
  40                  System.out.println("Copyright: " + feed.getCopyright());
  41                  System.out.println("Modules used:");
  42                  for (final Iterator iter = feed.getModules().iterator();
  43                       iter.hasNext();)
  44                  {
  45                      System.out.println("\t" + ((Module)iter.next()).getUri());
  46                  }
  47                  System.out.println("Titles of the " + feed.getEntries().size() +
  48                                     " entries:");
  49                  for (final Iterator iter = feed.getEntries().iterator();
  50                       iter.hasNext();)
  51                  {
  52                      System.out.println("\t" +
  53                                         ((SyndEntry)iter.next()).getTitle());
  54                      
  55                  }
  56                  if (feed.getImage() != null)
  57                  {
  58                      System.out.println("Feed image URL: " +
  59                                         feed.getImage().getUrl());
  60                  }
  61  
  62                  readOk = true;
  63              }
  64              catch (Exception ex) {
  65                  ex.printStackTrace();
  66                  System.out.println("ERROR: " + ex.getMessage());
  67              }
  68          }
  69  
  70          if (! readOk) {
  71              System.out.println();
  72              System.out.println("FeedReader reads and prints info on any RSS/Atom feed.");
  73              System.out.println("The first parameter must be the URL of the feed to read.");
  74              System.out.println();
  75          }
  76      }
  77  }
« Newer Snippets
Older Snippets »
Showing 1-4 of 4 total  RSS