Hello,
I'm trying to evaluate what it can be done using CXF + Atom but it is quite
difficult to find information about this topic...
Do you have sample somewhere?
I'm starting to write a atom provider... Is it the good way to proceed?
Moreover, it is some documentation about OData support in CXF?
Regards,
Anthony
public class MyODataProvider extends AtomPojoProvider {
public MyODataProvider() {
final Map<String, AbstractAtomElementBuilder<?>> builders = new
HashMap<String, AbstractAtomElementBuilder<?>>();
builders.put(Documents.class.getName(), new
DocumentsFeedBuilder());
builders.put(Document.class.getName(), new DocumentEntryBuilder());
setAtomBuilders(builders);
}
}
class DocumentsFeedBuilder extends AbstractFeedBuilder<Documents> {
@Override
public String getIcon(Documents pojo) {
return "DocumentsFeedBuilder.getIcon(pojo)";
}
@Override
public String getLogo(Documents pojo) {
return "DocumentsFeedBuilder.getLogo(pojo)";
}
@Override
public String getTitle(Documents pojo) {
return "DocumentsFeedBuilder.getTitle(pojo)";
}
@Override
public String getAuthor(Documents pojo) {
return "DocumentsFeedBuilder.getAuthor(pojo)";
}
@Override
public String getId(Documents pojo) {
return "DocumentsFeedBuilder.getId(pojo)";
}
@Override
public String getBaseUri(Documents pojo) {
return "DocumentsFeedBuilder.getBaseUri(pojo)";
}
@Override
public String getUpdated(Documents pojo) {
return "2012-04-18T17:54:42.155+02:00";
}
@Override
public List<String> getCategories(Documents pojo) {
return Collections.emptyList();
}
@Override
public Map<String, String> getLinks(Documents pojo) {
return Collections.emptyMap();
}
}
class DocumentEntryBuilder extends AbstractEntryBuilder<Document> {
@Override
public String getPublished(Document pojo) {
if(pojo.getUpdated() != null) {
return pojo.getUpdated().toGregorianCalendar().toString();
// "2012-04-18T17:54:42.155+02:00"
}
return null;
}
@Override
public String getSummary(Document pojo) {
return "DocumentEntryBuilder.getSummary(pojo)";
}
@Override
public String getTitle(Document pojo) {
return pojo.getName();
}
@Override
public String getAuthor(Document pojo) {
return "DocumentEntryBuilder.getAuthor(pojo)";
}
@Override
public String getId(Document pojo) {
return String.valueOf(pojo.getId());
}
@Override
public String getBaseUri(Document pojo) {
return "DocumentEntryBuilder.getBaseUri(pojo)";
}
@Override
public String getUpdated(Document pojo) {
if(pojo.getUpdated() != null) {
return pojo.getUpdated().toGregorianCalendar().toString();
// "2012-04-18T17:54:42.155+02:00"
}
return null;
}
@Override
public List<String> getCategories(Document pojo) {
return Collections.emptyList();
}
@Override
public Map<String, String> getLinks(Document pojo) {
return Collections.emptyMap();
}
}