Document and validate web-api constructs 99/102499/32
authorOleksandrZharov <Oleksandr.Zharov@pantheon.tech>
Tue, 27 Sep 2022 10:42:49 +0000 (12:42 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 2 Nov 2022 11:14:57 +0000 (12:14 +0100)
commita4c6293b3315e3b07ee15ccf5adc3bd13ecc047e
tree525c69fecff9b6e6b845c26bdda906905ac205ce
parent6074d8534d7b6eee409bc9a7644c6efa4c15daaf
Document and validate web-api constructs

We ditch immutables.org and use interface/builder/record to provide
minimal API footprint change. Any violations are flagged by builder
setter methods.

This forces a rather more thorough change in APIs, but the result is
more worth the churn.

The urlPatterns are check for compliance with Java Servlet
Specification, version 3.1.

JIRA: AAA-233
Change-Id: If65aa0fac7ee7040e89d926bf115b4f124c5b4e2
Signed-off-by: OleksandrZharov <Oleksandr.Zharov@pantheon.tech>
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 files changed:
aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebContextSecurer.java
aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/WebInitializer.java
web/api/pom.xml
web/api/src/main/java/org/opendaylight/aaa/web/FilterDetails.java
web/api/src/main/java/org/opendaylight/aaa/web/ResourceDetails.java
web/api/src/main/java/org/opendaylight/aaa/web/ServletDetails.java
web/api/src/main/java/org/opendaylight/aaa/web/ServletSpec.java [new file with mode: 0644]
web/api/src/main/java/org/opendaylight/aaa/web/WebContext.java
web/api/src/main/java/org/opendaylight/aaa/web/WebContextSecurer.java
web/api/src/main/java/org/opendaylight/aaa/web/WebServer.java
web/api/src/test/java/org/opendaylight/aaa/web/FilterDetailsTest.java
web/api/src/test/java/org/opendaylight/aaa/web/ServletDetailsTest.java
web/api/src/test/java/org/opendaylight/aaa/web/WebContextApiTest.java
web/impl-jetty/src/main/java/org/opendaylight/aaa/web/jetty/JettyWebServer.java
web/impl-jetty/src/test/java/org/opendaylight/aaa/web/test/AbstractWebServerTest.java
web/impl-osgi/src/main/java/org/opendaylight/aaa/web/osgi/WhiteboardWebServer.java