From a8e9e36a1c516a466ee90e6f58e4e902dd657ce9 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 2 May 2022 22:04:52 +0200 Subject: [PATCH] Publish ShiroWebEnvironmentLoaderListener to HTTP whiteboard As part of ditching WebSecurer, convert let HTTP Whiteboard understand this is a listener. Change-Id: I8840055856a6730197b11471b2e315dc6f83764f Signed-off-by: Robert Varga --- .../aaa/shiro/web/env/ShiroWebContextSecurer.java | 10 ++++++---- .../web/env/ShiroWebEnvironmentLoaderListener.java | 6 +++++- .../resources/OSGI-INF/blueprint/impl-blueprint.xml | 1 + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebContextSecurer.java b/aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebContextSecurer.java index cb072936a..dd06e9e43 100644 --- a/aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebContextSecurer.java +++ b/aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebContextSecurer.java @@ -7,7 +7,9 @@ */ package org.opendaylight.aaa.shiro.web.env; -import org.apache.shiro.web.env.EnvironmentLoaderListener; +import static java.util.Objects.requireNonNull; + +import javax.servlet.ServletContextListener; import org.eclipse.jetty.servlets.CrossOriginFilter; import org.opendaylight.aaa.shiro.filters.AAAShiroFilter; import org.opendaylight.aaa.web.FilterDetails; @@ -21,10 +23,10 @@ import org.opendaylight.aaa.web.WebContextSecurer; * @author Michael Vorburger.ch */ public class ShiroWebContextSecurer implements WebContextSecurer { - private final EnvironmentLoaderListener shiroEnvironmentLoaderListener; + private final ServletContextListener shiroEnvironmentLoaderListener; - public ShiroWebContextSecurer(final EnvironmentLoaderListener shiroEnvironmentLoaderListener) { - this.shiroEnvironmentLoaderListener = shiroEnvironmentLoaderListener; + public ShiroWebContextSecurer(final ServletContextListener shiroEnvironmentLoaderListener) { + this.shiroEnvironmentLoaderListener = requireNonNull(shiroEnvironmentLoaderListener); } @Override diff --git a/aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebEnvironmentLoaderListener.java b/aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebEnvironmentLoaderListener.java index 4c1fcb616..81a0061d2 100644 --- a/aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebEnvironmentLoaderListener.java +++ b/aaa-shiro/impl/src/main/java/org/opendaylight/aaa/shiro/web/env/ShiroWebEnvironmentLoaderListener.java @@ -25,7 +25,9 @@ import org.slf4j.LoggerFactory; * * @author Thomas Pantelis */ -public class ShiroWebEnvironmentLoaderListener extends EnvironmentLoaderListener { +// FIXME: @WebListener and CDI (or whatever) injection? +// FIXME: @Component with ServletContextListener +public final class ShiroWebEnvironmentLoaderListener extends EnvironmentLoaderListener { private static final Logger LOG = LoggerFactory.getLogger(ShiroWebEnvironmentLoaderListener.class); private final ShiroConfiguration shiroConfiguration; @@ -36,6 +38,8 @@ public class ShiroWebEnvironmentLoaderListener extends EnvironmentLoaderListener private final TokenStore tokenStore; private final PasswordHashService passwordHashService; + // FIXME: @Inject for CDI, except we have ShiroConfiguration injected + // FIXME: @Activate for OSGi @Component, except we have ShiroConfiguration which needs to come from somewhere public ShiroWebEnvironmentLoaderListener(final ShiroConfiguration shiroConfiguration, final DataBroker dataBroker, final ICertificateManager certificateManager, final AuthenticationService authenticationService, diff --git a/aaa-shiro/impl/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml b/aaa-shiro/impl/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml index 61a906f69..806e4f3a2 100644 --- a/aaa-shiro/impl/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml +++ b/aaa-shiro/impl/src/main/resources/OSGI-INF/blueprint/impl-blueprint.xml @@ -54,6 +54,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html + -- 2.36.6