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();
       }
}

Reply via email to