Sunday 21 May 2017

Abdera: Atom Content Element

By using Atom content element, you can specify the content of the entry. It either contains the content or links to the content of the entry.

There are two attributes ‘type’, ‘src’ associated with content element.

type attribute
Type attribute specifies the type of the content. It can be one of "text", "html", or "xhtml". If you don’t specify type attribute, it consider ‘text’ as default type.

src attribute
‘src’ attribute is used to give IRI reference to the content. If the "src" attribute is present, atom:content MUST be empty. Atom processors use the value of src attribute to get the content.

Entry interface provides following overloaded methods to set the content to an entry.

Entry setContentElement(Content content);
Content setContent(String value);
Content setContentAsHtml(String value);
Content setContentAsXhtml(String value);
Content setContentAsXhtml(String value);
Content setContent(Element value);
Content setContent(Element element, String mediaType);
Content setContent(DataHandler dataHandler);
Content setContent(DataHandler dataHandler, String mediatype);
Content setContent(InputStream inputStream);
Content setContent(InputStream inputStream, String mediatype);
Content setContent(String value, String mediatype);
Content setContent(IRI uri, String mediatype);

Entry with only src attribute (No content)
<entry>
    <id>tag:blogger.com,1999:blog-3062500619105519975.post-918659526208416961120</id>
    <published>2016-12-17T08:02:37.966Z</published>
    <updated>2016-12-17T08:02:37.966Z</updated>
    <author>
      <name>Hari Krishna Gurram</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </author>
    <content type="application/xhtml+xml" src="https://self-learning-java-tutorial.blogspot.com/2016/11/eclipse-swt-tutorial.html"/>
  </entry>

Entry with content
<entry>
    <id>tag:blogger.com,1999:blog-3062500619105519975.post-918659526208416960</id>
    <published>2016-12-17T08:02:37.966Z</published>
    <updated>2016-12-17T08:02:37.966Z</updated>
    <title type="text">SWT: Slider Tutorial</title>
    <content type="html">Slider class is used to define Slider widget</content>
    <author>
      <name>Hari Krishna Gurram</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </author>
    <author>
      <name>Rama Krishna Gurram</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </author>
    <contributor>
      <name>Ritweek Mehenty</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </contributor>
    <contributor>
      <name>Sailaja Navakotla</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </contributor>
  </entry>


Find the complete working application.

HelloWorld.java
package abdera_tutorial.abdera_tutorial;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Date;

import org.apache.abdera.Abdera;
import org.apache.abdera.i18n.iri.IRI;
import org.apache.abdera.model.Content;
import org.apache.abdera.model.Entry;
import org.apache.abdera.model.Feed;
import org.apache.abdera.model.Text;
import org.apache.abdera.writer.Writer;

public class HelloWorld {

 private static void addMetaData(Feed feed) {
  feed.setId("tag:blogger.com,1999:blog-3062500619105519975");
  feed.setUpdated(new Date());
  feed.setTitle("java tutorial : Blog to learn java programming");
  feed.setSubtitle("Learners Blog");
 }

 private static void addLinksToFeed(Feed feed) {
  /* Adding Links */
  String rel = "http://schemas.google.com/g/2005#feed";
  String type = "application/atom+xml";
  String href = "https://self-learning-java-tutorial.blogspot.com/feeds/posts/default";
  String title = "";
  String hreflang = "";
  long length = 0;

  feed.addLink(href, rel, type, title, hreflang, length);

  rel = "self";
  type = "application/atom+xml";
  href = "http://www.blogger.com/feeds/3062500619105519975/posts/default?alt=atom";

  feed.addLink(href, rel, type, title, hreflang, length);
 }

 private static void addAuthorToFeed(Feed feed) {
  String name = "hari krishna";
  String email = "noreply@blogger.com";
  String iri = "https://self-learning-java-tutorial.blogspot.com";

  feed.addAuthor(name, email, iri);
 }
 

 private static void addEntry(Feed feed) {

  Entry entry1 = feed.addEntry();
  entry1.setId("tag:blogger.com,1999:blog-3062500619105519975.post-918659526208416960");
  Date date = new Date();
  entry1.setPublished(date);
  entry1.setUpdated(date);
  entry1.setTitle("SWT: Slider Tutorial", Text.Type.TEXT);
  entry1.setContent("Slider class is used to define Slider widget", Content.Type.HTML);
  entry1.addAuthor("Hari Krishna Gurram", "noreply@blogger.com", "https://self-learning-java-tutorial.blogspot.com");
  entry1.addAuthor("Rama Krishna Gurram", "noreply@blogger.com", "https://self-learning-java-tutorial.blogspot.com");
  entry1.addContributor("Ritweek Mehenty", "noreply@blogger.com", "https://self-learning-java-tutorial.blogspot.com");
  entry1.addContributor("Sailaja Navakotla", "noreply@blogger.com", "https://self-learning-java-tutorial.blogspot.com");
  
  
  Entry entry2 = feed.addEntry();
  entry2.setId("tag:blogger.com,1999:blog-3062500619105519975.post-918659526208416961120");
  entry2.setPublished(date);
  entry2.setUpdated(date);
  entry2.addAuthor("Hari Krishna Gurram", "noreply@blogger.com", "https://self-learning-java-tutorial.blogspot.com");
  try {
   entry2.setContent(new IRI(new URL("https://self-learning-java-tutorial.blogspot.com/2016/11/eclipse-swt-tutorial.html")), "application/xhtml+xml");
  } catch (MalformedURLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  feed.addEntry(entry1);
  feed.addEntry(entry2);
 }

 public static void main(String args[]) throws IOException {
  Abdera abdera = new Abdera();

  /* Create a new Feed instance. */
  Feed feed = abdera.newFeed();

  /* Populate feed */
  addMetaData(feed);
  addLinksToFeed(feed);
  addAuthorToFeed(feed);
  addEntry(feed);

  /* Print the feed to console */
  Writer writer = abdera.getWriterFactory().getWriter("prettyxml");
  feed.writeTo(writer, System.out);
 }
}


Output
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>tag:blogger.com,1999:blog-3062500619105519975</id>
  <updated>2016-12-17T08:05:04.460Z</updated>
  <title type="text">java tutorial : Blog to learn java programming</title>
  <subtitle type="text">Learners Blog</subtitle>
  <link href="https://self-learning-java-tutorial.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" title="" hreflang="" length="0"/>
  <link href="http://www.blogger.com/feeds/3062500619105519975/posts/default?alt=atom" rel="self" type="application/atom+xml" title="" hreflang="" length="0"/>
  <author>
    <name>hari krishna</name>
    <email>noreply@blogger.com</email>
    <uri>https://self-learning-java-tutorial.blogspot.com</uri>
  </author>
  <entry>
    <id>tag:blogger.com,1999:blog-3062500619105519975.post-918659526208416960</id>
    <published>2016-12-17T08:05:04.479Z</published>
    <updated>2016-12-17T08:05:04.479Z</updated>
    <title type="text">SWT: Slider Tutorial</title>
    <content type="html">Slider class is used to define Slider widget</content>
    <author>
      <name>Hari Krishna Gurram</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </author>
    <author>
      <name>Rama Krishna Gurram</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </author>
    <contributor>
      <name>Ritweek Mehenty</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </contributor>
    <contributor>
      <name>Sailaja Navakotla</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </contributor>
  </entry>
  <entry>
    <id>tag:blogger.com,1999:blog-3062500619105519975.post-918659526208416961120</id>
    <published>2016-12-17T08:05:04.479Z</published>
    <updated>2016-12-17T08:05:04.479Z</updated>
    <author>
      <name>Hari Krishna Gurram</name>
      <email>noreply@blogger.com</email>
      <uri>https://self-learning-java-tutorial.blogspot.com</uri>
    </author>
    <content type="application/xhtml+xml" src="https://self-learning-java-tutorial.blogspot.com/2016/11/eclipse-swt-tutorial.html"/>
  </entry>
</feed>






Previous                                                 Next                                                 Home

No comments:

Post a Comment