Hello Carsten,
A "org.restlet.attribute.offsetPath" attribute has been added to the
component's context.
Best regards,
Thierry Boileau
> Hi,
>
> I use Restlet in a servlet container, using the ServerServlet.
>
> In the web.xml I have added the "org.restlet.component" param and set my
> specific Component class.
>
> When it comes to the applications for this component, I have to be able to
> dynamically add and
> remove applications.
>
> But once the ServerServlet has been initialized (when the first request has
> reached the servlet), adding
> applications to the component's default host has no effect (the applications
> can't be reached).
>
> The reason (as far as I see) is in the ServerServlet.createServer() method:
> When creating a new Server, the routes of the component's hosts are modified
> and an offsetPath is added to the template patterns:
>
> ------
> for (TemplateRoute route : component.getDefaultHost().getRoutes()) {
>
> log("[Restlet] Attaching restlet: "
> + route.getNext() + " to URI: "
> + offsetPath
> + route.getTemplate().getPattern());
>
> route.getTemplate().setPattern(
> offsetPath + route.getTemplate().getPattern());
> }
> ------
>
> As a workaround I can add this path myself when subsequently adding new
> applications to the component's host(s).
>
> However, I wonder if the possibility to dynamically change the component's
> applications might not be a useful feature in general.
> Maybe the offsetPath could be stored in the component's host objects and used
> when applications are added later.
>
> Cheers,
> Carsten
>
> ------------------------------------------------------
> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2430478
>
>
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2432576