I'm not sure we can because there will be no way to construct a context Path for new ServletContexts which are not mapped to the default path.
On Wed, Mar 26, 2014 at 11:21 AM, Thomas Watson <tjwat...@us.ibm.com> wrote: > Reading the RFC [1] > > I see the following defined for the http.service.endpoint: > > "A String+ value of Http Service endpoints provided as URLs e.g. > http://192.168.1.10:8080/ or relative paths, e.g. /myapp/. Relative paths > maybe used if the scheme and authority parts of the URLs are not known such > as in a bridged Http Service implementation. If the Http Service is serving > the root context and neither scheme nor authority is known, the value of > the property is "/". Each entry must end with a slash." > > It goes on further to state: > > "The port and address information may not always be available to the Http > Service implementation, particularly in a bridged implementation. In such > cases the osgi.http.endpoint attribute may be absent." > > If ServletRegistration is not available in a <3.0 container could we just > not set this service property in such an environment? > > Tom > > [1] https://github.com/osgi/design/tree/master/rfcs/rfc0189 > > [image: Inactive hide details for Raymond Auge ---03/26/2014 09:51:19 > AM---Hey all, I have a conundrum.]Raymond Auge ---03/26/2014 09:51:19 > AM---Hey all, I have a conundrum. > > From: Raymond Auge <raymond.a...@liferay.com> > To: Equinox development mailing list <equinox-dev@eclipse.org>, > Date: 03/26/2014 09:51 AM > Subject: [equinox-dev] [http-service] servlet compatibility > Sent by: equinox-dev-boun...@eclipse.org > ------------------------------ > > > > Hey all, > > I have a conundrum. > > While trying to retain backward compatibility, I'm encountering an initial > difficulty. > > In order to calculate the values for `http.service.endpoint` I need to get > all the mappings of the proxy servlet. > > However, the only "spec" way of doing that is by calling: > > String servletName = config.getServletName(); > ServletRegistration servletRegistration = > hostServletContext.getServletRegistration(servletName); > Collection<String> mappings = servletRegistration.getMappings(); > > However, while I can proxy the hostServletContext and avoid the "no such > method" issue for `getServletRegistration`, the return type is the real > problem. > > In fact, if we can't calculate the proxy servlet mappings this way, we > can't advance without at least one endpoint value since this is required. > > How should we deal with that scenario? > > 1) fail without mercy? > 2) expect some user value (init-param or config) we'll retrieve (which > might be wrong) > > If we do 1) we might as well just call the new method and fail in Servlet > <3.0 containers > If we do 2) we allow a http-service which can potentially return > inaccurate endpoint info. > > -- > *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile> > (@rotty3000) > Senior Software Architect > *Liferay, Inc.* <http://www.liferay.com/> (@Liferay) > _______________________________________________ > equinox-dev mailing list > equinox-dev@eclipse.org > https://dev.eclipse.org/mailman/listinfo/equinox-dev > > > _______________________________________________ > equinox-dev mailing list > equinox-dev@eclipse.org > https://dev.eclipse.org/mailman/listinfo/equinox-dev > > -- *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000) Senior Software Architect *Liferay, Inc.* <http://www.liferay.com> (@Liferay)
<<inline: graycol.gif>>
_______________________________________________ equinox-dev mailing list equinox-dev@eclipse.org https://dev.eclipse.org/mailman/listinfo/equinox-dev