if (builder == null) {
return;
}
setCommonElementProperties(factory, feed, builder, wrapper);
AbstractFeedBuilder theBuilder = (AbstractFeedBuilder)builder;
// the hierarchy is a bit broken in that we can not set author/title.etc on some
// common Feed/Entry super type
String author = theBuilder.getAuthor(wrapper);
if (author != null) {
feed.addAuthor(author);
} else {
feed.addAuthor("CXF JAX-RS");
}
String title = theBuilder.getTitle(wrapper);
if (title != null) {
feed.setTitle(title);
} else {
feed.setTitle(String.format(wrapper.getClass().getSimpleName()
+ " collection with %d entry(ies)", feed.getEntries().size()));
}
String id = theBuilder.getId(wrapper);
if (id != null) {
feed.setId(id);
} else {
feed.setId("uuid:" + UUID.randomUUID().toString());
}
String updated = theBuilder.getUpdated(wrapper);
if (updated != null) {
feed.setUpdated(updated);
} else {
feed.setUpdated(new Date());
}
Map<String, String> links = theBuilder.getLinks(wrapper);
if (links != null) {
for (Map.Entry<String, String> entry : links.entrySet()) {
feed.addLink(entry.getKey(), entry.getValue());
}
}
List<String> terms = theBuilder.getCategories(wrapper);
if (terms != null) {
for (String term : terms) {
feed.addCategory(term);
}
}
// feed specific
String logo = theBuilder.getLogo(wrapper);
if (logo != null) {
feed.setLogo(logo);
}
String icon = theBuilder.getLogo(wrapper);
if (icon != null) {
feed.setIcon(icon);
}
}