On Jan 5, 2009, at 10:50 AM, Vincent Massol wrote:

>
> 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.

I meant role-hint.

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