Merge "Document and validate web-api constructs"
authorRobert Varga <nite@hq.sk>
Wed, 2 Nov 2022 11:32:33 +0000 (11:32 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 2 Nov 2022 11:32:33 +0000 (11:32 +0000)
aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/CustomFilterAdapterConstants.java [new file with mode: 0644]
aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java

diff --git a/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/CustomFilterAdapterConstants.java b/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/CustomFilterAdapterConstants.java
new file mode 100644 (file)
index 0000000..6fcde03
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.aaa.filterchain.configuration;
+
+import javax.servlet.Filter;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+
+/**
+ * Common constants.
+ */
+@NonNullByDefault
+public final class CustomFilterAdapterConstants {
+    /**
+     * Property marking a {@link Filter} in OSGi Service Registry for inclusion in
+     * {@link CustomFilterAdapterConfiguration}. This property needs to be set to {@code true}, otherwise the filter
+     * will be ignored.
+     */
+    public static final String FILTERCHAIN_FILTER = "org.opendaylight.aaa.filterchain.filter";
+
+    private CustomFilterAdapterConstants() {
+        // Hidden on purpose
+    }
+}
index 27cc059bcf2c349275e81427d9b455fd0343b49a..5b7d270f3a8f93a379310dbf9868d1d726c0015f 100644 (file)
@@ -28,6 +28,7 @@ import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.aaa.filterchain.configuration.CustomFilterAdapterConfiguration;
+import org.opendaylight.aaa.filterchain.configuration.CustomFilterAdapterConstants;
 import org.opendaylight.aaa.filterchain.configuration.CustomFilterAdapterListener;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
@@ -90,13 +91,7 @@ public final class CustomFilterAdapterConfigurationImpl implements CustomFilterA
     // Invoked when a Filter OSGi service is added
     @Reference(cardinality = ReferenceCardinality.MULTIPLE,
             policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY,
-            // Needed to exclude any filters that is published for HTTP Whiteboard
-            // FIXME: it would be much better if we had a whitelist property to prevent confusion
-            target = "(!(|"
-                + "(osgi.http.whiteboard.filter.pattern=*)"
-                + "(osgi.http.whiteboard.filter.regex=*)"
-                + "(osgi.http.whiteboard.filter.servlet=*)"
-                + "))")
+            target = "(" + CustomFilterAdapterConstants.FILTERCHAIN_FILTER + "=true)")
     public void addFilter(final Filter filter) {
         if (filter == null) {
             return;