websocketmanager now listens on a custom jetty port
[ccsdk/features.git] / sdnr / wt / websocketmanager / provider / src / main / java / org / onap / ccsdk / features / sdnr / wt / websocketmanager / config / WebSocketManagerConfig.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP : ccsdk features
4  * ================================================================================
5  * Copyright (C) 2023 highstreet technologies GmbH Intellectual Property.
6  * All rights reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  *
21  */
22 package org.onap.ccsdk.features.sdnr.wt.websocketmanager.config;
23
24 import java.util.Optional;
25 import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
26 import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
27
28 public class WebSocketManagerConfig implements Configuration {
29
30     private static final String SECTION_MARKER = "websocket";
31     private static final String PROPERTY_KEY_WEBSOCKET_PORT = "port";
32     private static final String PROPERTY_VALUE_WEBSOCKET_PORT = "${SDNR_WEBSOCKET_PORT}";
33
34     private ConfigurationFileRepresentation configuration;
35
36     public WebSocketManagerConfig(ConfigurationFileRepresentation configuration) {
37         this.configuration = configuration;
38         configuration.addSection(SECTION_MARKER);
39         defaults();
40     }
41
42     public Optional<Long> getWebsocketPort() {
43         return configuration.getPropertyLong(SECTION_MARKER, PROPERTY_KEY_WEBSOCKET_PORT);
44     }
45
46     @Override
47     public String getSectionName() {
48         return SECTION_MARKER;
49     }
50
51     @Override
52     public void defaults() {
53         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_WEBSOCKET_PORT, PROPERTY_VALUE_WEBSOCKET_PORT);
54     }
55
56 }