Add support for naming WebContexts

Description

OSGi HTTP (Whiteboard) supports giving descriptive names to WebContexts. Sucrrently our setup looks like this:

opendaylight-user@root>web:context-list Bundle ID │ Symbolic Name                                 │ Context Path │ Context Name      │ Rank │ Service ID │ Type        │ Scope     │ Registration Properties ──────────┼───────────────────────────────────────────────┼──────────────┼───────────────────┼──────┼────────────┼─────────────┼───────────┼─────────────────────────────────────────────────────────── 164       │ org.jolokia.osgi                              │ /            │ context:534196305 │ MAX  │ 0          │ HttpService │ static*   │ httpContext.id=context:534196305          │                                               │              │                   │      │            │             │           │ httpContext.path=/          │                                               │              │                   │      │            │             │           │ osgi.http.whiteboard.context.httpservice=context:534196305          │                                               │              │                   │      │            │             │           │ osgi.http.whiteboard.context.path=/ 312       │ org.ops4j.pax.web.pax-web-extender-whiteboard │ /            │ default           │ 0    │ 0          │ Whiteboard  │ static*   │ osgi.http.whiteboard.context.name=default          │                                               │              │                   │      │            │             │           │ osgi.http.whiteboard.context.path=/ 256       │ org.opendaylight.netconf.restconf-nb          │ /.well-known │ /.well-known.id   │ 0    │ 286        │ Whiteboard  │ singleton │ osgi.http.whiteboard.context.name=/.well-known.id          │                                               │              │                   │      │            │             │           │ osgi.http.whiteboard.context.path=/.well-known 342       │ org.opendaylight.netconf.sal-rest-docgen      │ /apidoc      │ /apidoc.id        │ 0    │ 291        │ Whiteboard  │ singleton │ osgi.http.whiteboard.context.name=/apidoc.id          │                                               │              │                   │      │            │             │           │ osgi.http.whiteboard.context.path=/apidoc 174       │ org.opendaylight.aaa.shiro                    │ /auth        │ /auth.id          │ 0    │ 270        │ Whiteboard  │ singleton │ osgi.http.whiteboard.context.name=/auth.id          │                                               │              │                   │      │            │             │           │ osgi.http.whiteboard.context.path=/auth 256       │ org.opendaylight.netconf.restconf-nb          │ /rests       │ /rests.id         │ 0    │ 279        │ Whiteboard  │ singleton │ osgi.http.whiteboard.context.name=/rests.id          │                                               │              │                   │      │            │             │           │ osgi.http.whiteboard.context.path=/rests *) This context is using ServletContextHelper/HttpContext without resolving an org.osgi.framework.ServiceReference.

There is obvious room for improvement, where instead of appending ".id" we propagate a user-supplied property.

For example "/rests.id" would become "RFC8040 RESTCONF" or similar. Similarly "/.well-known.id" would become "RFC6415 Web Host Metadata" and "/apidoc.id" would become "OpenAPI".

Activity

Done

Details

Assignee

Reporter

Components

Fix versions

Priority

Created January 8, 2023 at 12:28 AM
Updated January 9, 2023 at 8:59 AM
Resolved January 9, 2023 at 8:59 AM