Create MessageConfig and move there common config class code
[ccsdk/features.git] / sdnr / wt / mountpoint-registrar / provider / src / main / java / org / onap / ccsdk / features / sdnr / wt / mountpointregistrar / impl / MessageConfig.java
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt mountpoint-registrar
4  * =================================================================================================
5  * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * Copyright (C) 2021 Samsung Electronics Intellectual Property. All rights reserved.
7  * =================================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
9  * in compliance with the License. You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software distributed under the License
14  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
15  * or implied. See the License for the specific language governing permissions and limitations under
16  * the License.
17  * ============LICENSE_END==========================================================================
18  */
19
20
21 package org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.impl;
22
23 import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
24 import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
25
26 public abstract class MessageConfig implements Configuration {
27     protected String sectionMarker;
28
29     public static final String PROPERTY_KEY_CONSUMER_TRANSPORTTYPE = "TransportType";
30     private static final String DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE = "HTTPNOAUTH";
31
32     public static final String PROPERTY_KEY_CONSUMER_PROTOCOL = "Protocol";
33     private static final String DEFAULT_VALUE_CONSUMER_PROTOCOL = "http";
34
35     public static final String PROPERTY_KEY_CONSUMER_USERNAME = "username";
36     public static final String PROPERTY_KEY_CONSUMER_PASSWORD = "password";
37
38     public static final String PROPERTY_KEY_CONSUMER_HOST_PORT = "host";
39     private static final String DEFAULT_VALUE_CONSUMER_HOST_PORT = "onap-dmaap:3904";
40
41     public static final String PROPERTY_KEY_CONSUMER_TOPIC = "topic";
42
43     public static final String PROPERTY_KEY_CONSUMER_CONTENTTYPE = "contenttype";
44     private static final String DEFAULT_VALUE_CONSUMER_CONTENTTYPE = "application/json";
45
46     public static final String PROPERTY_KEY_CONSUMER_GROUP = "group";
47     private static final String DEFAULT_VALUE_CONSUMER_GROUP = "myG";
48
49     public static final String PROPERTY_KEY_CONSUMER_ID = "id";
50     private static final String DEFAULT_VALUE_CONSUMER_ID = "C1";
51
52     public static final String PROPERTY_KEY_CONSUMER_TIMEOUT = "timeout";
53     private static final String DEFAULT_VALUE_CONSUMER_TIMEOUT = "20000";
54
55     public static final String PROPERTY_KEY_CONSUMER_LIMIT = "limit";
56     private static final String DEFAULT_VALUE_CONSUMER_LIMIT = "10000";
57
58     public static final String PROPERTY_KEY_CONSUMER_FETCHPAUSE = "fetchPause";
59     private static final String DEFAULT_VALUE_CONSUMER_FETCHPAUSE = "5000";
60
61     public static final String PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT = "jersey.config.client.readTimeout";
62     private static final String DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT = "25000";
63
64     public static final String PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT = "jersey.config.client.connectTimeout";
65     private static final String DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT = "25000";
66
67     public static final String PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_AUTH_USER = "jersey.config.client.proxy.username";
68     private static final String DEFAULT_VALUE_CONSUMER_CLIENT_HTTPPROXY_AUTH_USER = "${HTTP_PROXY_USERNAME}";
69
70     public static final String PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_AUTH_PASSWORD = "jersey.config.client.proxy.password";
71     private static final String DEFAULT_VALUE_CONSUMER_CLIENT_HTTPPROXY_AUTH_PASSWORD = "${HTTP_PROXY_PASSWORD}";
72
73     public static final String PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_URI = "jersey.config.client.proxy.uri";
74     private static final String DEFAULT_VALUE_CONSUMER_CLIENT_HTTPPROXY_URI = "${HTTP_PROXY_URI}";
75
76     protected ConfigurationFileRepresentation configuration;
77
78     public MessageConfig(ConfigurationFileRepresentation configuration) {
79         this.configuration = configuration;
80     }
81
82     @Override
83     public String getSectionName() {
84         return sectionMarker;
85     }
86
87     @Override
88     public void defaults() {
89         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE,
90                 DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE);
91         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_PROTOCOL,
92                 DEFAULT_VALUE_CONSUMER_PROTOCOL);
93         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_HOST_PORT,
94                 DEFAULT_VALUE_CONSUMER_HOST_PORT);
95         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_CONTENTTYPE,
96                 DEFAULT_VALUE_CONSUMER_CONTENTTYPE);
97         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_GROUP,
98                 DEFAULT_VALUE_CONSUMER_GROUP);
99         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_ID, DEFAULT_VALUE_CONSUMER_ID);
100         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_TIMEOUT,
101                 DEFAULT_VALUE_CONSUMER_TIMEOUT);
102         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_LIMIT,
103                 DEFAULT_VALUE_CONSUMER_LIMIT);
104         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_FETCHPAUSE,
105                 DEFAULT_VALUE_CONSUMER_FETCHPAUSE);
106         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT,
107                 DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT);
108         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT,
109                 DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT);
110         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_AUTH_USER,
111                 DEFAULT_VALUE_CONSUMER_CLIENT_HTTPPROXY_AUTH_USER);
112         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_AUTH_PASSWORD,
113                 DEFAULT_VALUE_CONSUMER_CLIENT_HTTPPROXY_AUTH_PASSWORD);
114         configuration.setPropertyIfNotAvailable(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_URI,
115                 DEFAULT_VALUE_CONSUMER_CLIENT_HTTPPROXY_URI);
116     }
117
118
119
120     public String getHostPort() {
121         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_HOST_PORT);
122     }
123
124     public String getTransportType() {
125         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE);
126     }
127
128     public String getProtocol() {
129         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_PROTOCOL);
130     }
131
132     public String getUsername() {
133         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_USERNAME);
134     }
135
136     public String getPassword() {
137         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_PASSWORD);
138     }
139
140     public String getTopic() {
141         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_TOPIC);
142     }
143
144     public String getConsumerGroup() {
145         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_GROUP);
146     }
147
148     public String getConsumerId() {
149         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_ID);
150     }
151
152     public String getTimeout() {
153         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_TIMEOUT);
154     }
155
156     public String getLimit() {
157         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_LIMIT);
158     }
159
160     public String getFetchPause() {
161         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_FETCHPAUSE);
162     }
163
164     public String getContenttype() {
165         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_CONTENTTYPE);
166     }
167
168     public String getClientReadTimeout() {
169         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT);
170     }
171
172     public String getClientConnectTimeout() {
173         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT);
174     }
175
176     public String getHTTPProxyURI() {
177         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_URI);
178     }
179
180     public String getHTTPProxyUsername() {
181         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_AUTH_USER);
182     }
183
184     public String getHTTPProxyPassword() {
185         return configuration.getProperty(sectionMarker, PROPERTY_KEY_CONSUMER_CLIENT_HTTPPROXY_AUTH_PASSWORD);
186     }
187 }