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

Reply via email to