package de.itemis.itemisapp;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
import de.itemis.base.GenericItemContentProvider;
public class BlogItemByIdProvider extends GenericItemContentProvider<BlogItem> {
private static final long serialVersionUID = 1L;
public BlogItemByIdProvider(String feedUrl) {
super(feedUrl);
}
@Root(strict = false)
public static class Rss {
@ElementList(inline = true, entry = "channel")
private List<Channel> channels = new ArrayList<Channel>();
public List<Channel> getChannels() {
return channels;
}
}
@Root(strict = false)
public static class Channel {
@Element(required = false, name = "item")
private BlogItem blogItem;
public BlogItem getBlogItem() {
return blogItem;
}
}
protected BlogItem extractItem(Reader reader) throws Exception {
Serializer serializer = new Persister();
Rss root = serializer.read(Rss.class, reader);
return root.getChannels().get(0).getBlogItem();
}
}