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