}
return syndEntries;
}
protected SyndEntry createSyndEntry(Feed feed, Entry entry, boolean preserveWireItem) {
SyndEntryImpl syndEntry = new SyndEntryImpl();
if (preserveWireItem) {
syndEntry.setWireEntry(entry);
}
syndEntry.setModules(ModuleUtils.cloneModules(entry.getModules()));
if (((List)entry.getForeignMarkup()).size() > 0) {
syndEntry.setForeignMarkup((List)entry.getForeignMarkup());
}
Content eTitle = entry.getTitleEx();
if (eTitle != null) {
syndEntry.setTitleEx(createSyndContent(eTitle));
}
Content summary = entry.getSummary();
if (summary!=null) {
syndEntry.setDescription(createSyndContent(summary));
}
List contents = entry.getContents();
if (contents != null && contents.size() > 0) {
List sContents = new ArrayList();
for (Iterator iter=contents.iterator(); iter.hasNext();) {
Content content = (Content)iter.next();
sContents.add(createSyndContent(content));
}
syndEntry.setContents(sContents);
}
List authors = entry.getAuthors();
if (authors!=null && authors.size() > 0) {
syndEntry.setAuthors(ConverterForAtom03.createSyndPersons(authors));
SyndPerson person0 = (SyndPerson)syndEntry.getAuthors().get(0);
syndEntry.setAuthor(person0.getName());
}
List contributors = entry.getContributors();
if (contributors!=null && contributors.size() > 0) {
syndEntry.setContributors(ConverterForAtom03.createSyndPersons(contributors));
}
Date date = entry.getPublished();
if (date!=null) {
syndEntry.setPublishedDate(date);
}
date = entry.getUpdated();
if (date!=null) {
syndEntry.setUpdatedDate(date);
}
List categories = entry.getCategories();
if (categories!=null) {
List syndCategories = new ArrayList();
for (Iterator iter=categories.iterator(); iter.hasNext();) {
Category c = (Category)iter.next();
SyndCategory syndCategory = new SyndCategoryImpl();
syndCategory.setName(c.getTerm());
syndCategory.setTaxonomyUri(c.getSchemeResolved());
// TODO: categories MAY have labels
// syndCategory.setLabel(c.getLabel());
syndCategories.add(syndCategory);
}
syndEntry.setCategories(syndCategories);
}
// use first alternate link as THE link
if (entry.getAlternateLinks() != null
&& entry.getAlternateLinks().size() > 0) {
Link theLink = (Link)entry.getAlternateLinks().get(0);
syndEntry.setLink(theLink.getHrefResolved());
}
// Create synd enclosures from enclosure links
List syndEnclosures = new ArrayList();
if (entry.getOtherLinks() != null && entry.getOtherLinks().size() > 0) {
List oLinks = entry.getOtherLinks();
for (Iterator iter = oLinks.iterator(); iter.hasNext(); ) {
Link thisLink = (Link)iter.next();
if ("enclosure".equals(thisLink.getRel()))
syndEnclosures.add(
createSyndEnclosure(feed, entry, thisLink));
}
}
syndEntry.setEnclosures(syndEnclosures);
// lump alternate and other links together
List syndLinks = new ArrayList();
if (entry.getAlternateLinks() != null
&& entry.getAlternateLinks().size() > 0) {
syndLinks.addAll(createSyndLinks(entry.getAlternateLinks()));
}
if (entry.getOtherLinks() != null
&& entry.getOtherLinks().size() > 0) {
syndLinks.addAll(createSyndLinks(entry.getOtherLinks()));
}
syndEntry.setLinks(syndLinks);
String id = entry.getId();
if (id!=null) {
syndEntry.setUri(entry.getId());
}
else {
syndEntry.setUri(syndEntry.getLink());
}
// Convert source element Feed into SyndFeed and assign as SyndEntry
// source
Feed source = entry.getSource();
if (source != null) {
SyndFeed syndSource = new SyndFeedImpl(source);
syndEntry.setSource(syndSource);
}
return syndEntry;
}