Thursday, January 04, 2007

from Apache Abdera 0.1.0 to 0.2.0 was bit painful :)

Ooookay....you wont get everything for free. You got to put some efforts. There is no free food. Earlier i was using Velocity and ROME to create and parse feeds. From the start i had a disliking towards ROME. May be it is a great library, but not for me. Just creating an entry from some inputstream or string requires you to write atleast 3 to 5 clean lines of code. One of the biggest problem with that lib is that it cannot parse standalone Entry documents!! So, how did i parse in my projects until Abdera? Use a velocity template which is a skeleton atom feed with no entries in it. Put the entry(got from inputstream or string) to the template and render it. Then take the rendered output which is now a Feed and give it to ROME, then extract the entry located at 0. OMG!!! It was so painful. Other pain comes when you have to send only the entry. No way to create only Entry docs. What to do? Create a  simple class to hold the entry contents, title, author id etc. Use a velocity template, put the entry data in the object and that object in context to render. Take the rendered output and send it. Again at the server, the reverse cycle starts. I used to cry literally....

Ah...Now with Apache Abdera....it was a breeze serializing entries, feeds, service docs etc. I am much more relieved now. As soon as i got to know about Abdera, i started using it. Its fun using Abdera. Oookay, am i exaggerating it too much. Ofcourse, i will!! coz Abdera deserves it! Now with 0.2.0 release, its much more easier. Thanks Abdera :)

PS: ROME = ROME v 0.8. I am not aware about the latest release.

--
regards/Yogesh

1 comment:

James Snell said...

Glad to here it's working out for you.