From 4c378bf66b2d73007ffb2a0a9e2e3fec19c68e2f Mon Sep 17 00:00:00 2001
From: Sutton <suttonsp@147dda3a90de.ant.amazon.com>
Date: Tue, 16 Feb 2021 16:06:43 -0600
Subject: [PATCH] Filter class update

---
 .../logging/ResponseLogFilter.java            | 14 ++++-
 .../utils/NotificationFilter.java             | 61 -------------------
 2 files changed, 11 insertions(+), 64 deletions(-)
 delete mode 100644 notification-core/src/main/java/org/opengroup/osdu/notification/utils/NotificationFilter.java

diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/logging/ResponseLogFilter.java b/notification-core/src/main/java/org/opengroup/osdu/notification/logging/ResponseLogFilter.java
index 7f558a957..69aad1171 100644
--- a/notification-core/src/main/java/org/opengroup/osdu/notification/logging/ResponseLogFilter.java
+++ b/notification-core/src/main/java/org/opengroup/osdu/notification/logging/ResponseLogFilter.java
@@ -16,12 +16,14 @@
 
 package org.opengroup.osdu.notification.logging;
 
+import org.opengroup.osdu.core.common.http.ResponseHeadersFactory;
 import org.opengroup.osdu.core.common.logging.ILogger;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.model.http.Request;
 import org.opengroup.osdu.notification.di.RequestInfoExt;
 import static org.opengroup.osdu.core.common.http.ResponseHeaders.STANDARD_RESPONSE_HEADERS;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.*;
@@ -43,6 +45,12 @@ public class ResponseLogFilter implements Filter {
     @Autowired
     private ILogger logger;
 
+    private ResponseHeadersFactory responseHeadersFactory = new ResponseHeadersFactory();
+
+    // defaults to * for any front-end, string must be comma-delimited if more than one domain
+    @Value("${ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS:*}")
+    String ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS;
+
     @Override
     public void init(FilterConfig filterConfig) {
         //do nothing
@@ -85,9 +93,9 @@ public class ResponseLogFilter implements Filter {
     public void destroy() { }
 
     private void setResponseHeaders(HttpServletResponse httpServletResponse) {
-        Map<String, List<Object>> standardHeaders = STANDARD_RESPONSE_HEADERS;
-        for (Map.Entry<String, List<Object>> header : standardHeaders.entrySet()) {
-            httpServletResponse.addHeader(header.getKey(), header.getValue().toString());
+        Map<String, String> responseHeaders = responseHeadersFactory.getResponseHeaders(ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS);
+        for (Map.Entry<String, String> header : responseHeaders.entrySet()) {
+            httpServletResponse.addHeader(header.getKey(), header.getValue());
         }
     }
 }
diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/utils/NotificationFilter.java b/notification-core/src/main/java/org/opengroup/osdu/notification/utils/NotificationFilter.java
deleted file mode 100644
index 8c4ccf80d..000000000
--- a/notification-core/src/main/java/org/opengroup/osdu/notification/utils/NotificationFilter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright © 2020 Amazon Web Services
-// Copyright 2017-2019, Schlumberger
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package org.opengroup.osdu.notification.utils;
-
-import org.opengroup.osdu.core.common.http.ResponseHeadersFactory;
-import org.opengroup.osdu.core.common.model.http.DpsHeaders;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-import javax.inject.Inject;
-import javax.servlet.*;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.Map;
-
-
-@Component
-public class NotificationFilter implements Filter {
-
-	@Inject
-	private DpsHeaders dpsHeaders;
-
-	private ResponseHeadersFactory responseHeadersFactory = new ResponseHeadersFactory();
-
-	// defaults to * for any front-end, string must be comma-delimited if more than one domain
-	@Value("${ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS:*}")
-	String ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS;
-
-	@Override
-	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
-			throws IOException, ServletException {
-		chain.doFilter(request, response);
-
-		HttpServletResponse httpResponse = (HttpServletResponse) response;
-
-		this.dpsHeaders.addCorrelationIdIfMissing();
-
-		Map<String, String> responseHeaders = responseHeadersFactory.getResponseHeaders(ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS);
-		for (Map.Entry<String, String> header : responseHeaders.entrySet()) {
-			httpResponse.setHeader(header.getKey(), header.getValue());
-		}
-		httpResponse.addHeader(DpsHeaders.CORRELATION_ID, this.dpsHeaders.getCorrelationId());
-	}
-
-	@Override
-	public void destroy() {
-	}
-}
-- 
GitLab