94789a74fea7bc6799c25eb0fa20e997cb4b9586
[policy/clamp.git] /
1 /*-
2  * ========================LICENSE_START=================================
3  * Copyright (C) 2021 Nordix Foundation. All rights reserved.
4  * ======================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * ========================LICENSE_END===================================
17  */
18
19 package org.onap.policy.clamp.controlloop.participant.kubernetes.configurations;
20
21 import org.apache.catalina.connector.Connector;
22 import org.springframework.beans.factory.annotation.Value;
23 import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
24 import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
25 import org.springframework.context.annotation.Bean;
26 import org.springframework.context.annotation.Configuration;
27 import org.springframework.web.multipart.MultipartResolver;
28 import org.springframework.web.multipart.commons.CommonsMultipartResolver;
29
30 /**
31  * Bean Factory class for helm client.
32  */
33 @Configuration
34 public class ParticipantConfig {
35
36     @Value("${server.http-port}")
37     private int httpPort = 0;
38
39     /**
40      * Method to create servlet container bean.
41      * @return webserver factory
42      */
43     @Bean
44     public ServletWebServerFactory servletContainer() {
45         var tomcat = new TomcatServletWebServerFactory();
46         if (httpPort > 0) {
47             tomcat.addAdditionalTomcatConnectors(getHttpConnector(httpPort));
48         }
49         return tomcat;
50     }
51
52     private static Connector getHttpConnector(int httpPort) {
53         var connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
54         connector.setScheme("http");
55         connector.setPort(httpPort);
56         connector.setSecure(false);
57         return connector;
58     }
59
60     /**
61      * Method to create multipartResolver bean.
62      * @return MultipartResolver
63      */
64     @Bean(name = "multipartResolver")
65     public MultipartResolver multipartResolver() {
66         var multipartResolver = new CommonsMultipartResolver();
67         multipartResolver.setMaxUploadSize(100000);
68         return multipartResolver;
69     }
70
71 }