On Jan 5, 2009, at 10:44 AM, Fabio Mancinelli wrote:
> Sergiu Dumitriu wrote:
>>>
>>> Modified: sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/
>>> PageResource.java
>>> ===================================================================
>>> + /* Represent */
>>> + if
>>> (variant.getMediaType().equals(MediaType.TEXT_XML)) {
>>> + return new
>>> StringRepresentation
>>> (Utils.toXml(DomainObjectFactory.createPage(getRequest(), doc)),
>>> + MediaType.APPLICATION_XML);
>>> + } else if
>>> (variant.getMediaType().equals(MediaType.TEXT_PLAIN)) {
>>> + return new StringRepresentation(doc.getContent(),
>>> MediaType.TEXT_PLAIN);
>>> + }
>>
>> This if-else looks bad. What will happen when we support more
>> formats?
>> PDF, XAR, HTML, RTF, zip, RDF...
>>
> We add more if/elses.
>
> We can add methods for representing every media type in the case when
> the if/else bodies start to be too complicated but I don't see how
> to do
> it (this is also the way it's done in the RESTlet tutorial).
>
> Maybe we can use reflection in order to call methods like
> Represent_TEXT_XML, Represent_TEXT_PLAIN, etc.
>
> Do you have an alternative idea?
Use components with a role representing the mediatype.
Thanks
-Vincent
http://xwiki.com
http://massol.net
http://xwiki.org
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs