63f1fe147c0fa8b08ce2d08ffd48e00d41e987c7
[aai/sparky-be.git] / sparkybe-onap-application / src / main / java / org / onap / aai / sparky / portal / PortalBean.java
1 package org.onap.aai.sparky.portal;
2
3 import javax.servlet.Filter;
4
5 import org.onap.aai.sparky.security.filter.LoginFilter;
6 import org.onap.portalsdk.core.onboarding.crossapi.CadiAuthFilter;
7 import org.onap.portalsdk.core.onboarding.crossapi.PortalRestAPIProxy;
8 import org.springframework.beans.factory.annotation.Value;
9 import org.springframework.boot.web.servlet.FilterRegistrationBean;
10 import org.springframework.boot.web.servlet.ServletRegistrationBean;
11 import org.springframework.context.annotation.Bean;
12 import org.springframework.context.annotation.Profile;
13 import org.springframework.stereotype.Component;
14
15 @Component
16 @Profile("portal")
17 public class PortalBean {
18
19   private Filter loginFilter = new LoginFilter();
20   private Filter cadiAuthFilter = new CadiAuthFilter();
21   
22   @Value("${portal.cadiFileLocation}")
23   private String cadiPropsLocation; 
24
25   /**
26    * bind LoginFilter
27    */
28   @Bean
29   public FilterRegistrationBean loginFilterRegistrationBean() {
30     FilterRegistrationBean registration = new FilterRegistrationBean();
31     registration.setFilter(loginFilter);
32     registration.addUrlPatterns("/*");
33     registration.setOrder(1);
34
35     return registration;
36   }
37   
38   /**
39    * bind CadiAuthFilter
40    */
41   @Bean
42   public FilterRegistrationBean cadiFilterRegistrationBean() {
43     FilterRegistrationBean registration = new FilterRegistrationBean();
44
45     registration.setFilter(cadiAuthFilter);
46     registration.addUrlPatterns("/*");
47     registration.setOrder(0);
48     registration.addInitParameter("cadi_prop_files",cadiPropsLocation);
49     registration.addInitParameter("inlclude_url_endpoints","/api/v3/*");
50     registration.addInitParameter("exclude_url_endpoints","/api/v2/*");
51
52     return registration;
53   }
54
55   @Bean
56   public ServletRegistrationBean portalApiProxy() {
57
58     final ServletRegistrationBean servlet =
59         new ServletRegistrationBean(new PortalRestAPIProxy(), "/api/v3/*");
60     servlet.setName("PortalRestApiProxy");
61     return servlet;
62   }
63
64 }