--- /dev/null
+/*
+ * 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
+ }
+}
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;
// 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;