Merge "Added Functional Menu Entries, del bad thumbnail"
[portal.git] / ecomp-portal-BE-common / src / main / java / org / onap / portalapp / music / filter / MusicSessionRepositoryFilter.java
1 /*
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright © 2018 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  *.
37  */
38
39 package org.onap.portalapp.music.filter;
40
41 import java.io.IOException;
42
43 import javax.servlet.FilterChain;
44 import javax.servlet.ServletException;
45 import javax.servlet.ServletRequest;
46 import javax.servlet.ServletResponse;
47 import javax.servlet.http.HttpServletRequest;
48
49 import org.onap.music.eelf.logging.EELFLoggerDelegate;
50 import org.onap.portalapp.music.util.MusicUtil;
51 import org.springframework.web.filter.DelegatingFilterProxy;
52
53 public class MusicSessionRepositoryFilter extends DelegatingFilterProxy{
54         private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(MusicUtil.class);
55
56         @Override
57         public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
58                         throws ServletException, IOException {
59                 try{
60                         if (request instanceof HttpServletRequest) {
61                                 String path = ((HttpServletRequest)request).getRequestURI().substring(((HttpServletRequest) request).getContextPath().length());                 
62                                 if(MusicUtil.isExcludedApi(path) || !MusicUtil.isMusicEnable())
63                                         request.setAttribute("org.springframework.session.web.http.SessionRepositoryFilter.FILTERED", Boolean.TRUE);
64                         }       
65                 }catch(Exception e){
66                         logger.error(EELFLoggerDelegate.errorLogger, "Failed to check the exclude apis ", e);
67                 }
68                 super.doFilter(request, response, filterChain);
69         }
70 }