a8e12767f445a9153a8ac8c2ccbb8ac8326940eb
[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     private static final String PROPERTY_KEY_CONSUMER_CLASS = "pnfRegConsumerClass";
28     private static final String DEFAULT_VALUE_CONSUMER_CLASS =
29             "org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.impl.DMaaPPNFRegVESMsgConsumer";
30
31     public static final String PROPERTY_KEY_CONSUMER_TRANSPORTTYPE = "TransportType";
32     private static final String DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE = "HTTPNOAUTH";
33
34     public static final String PROPERTY_KEY_CONSUMER_PROTOCOL = "Protocol";
35     private static final String DEFAULT_VALUE_CONSUMER_PROTOCOL = "http";
36
37     public static final String PROPERTY_KEY_CONSUMER_USERNAME = "username";
38     private static final String DEFAULT_VALUE_CONSUMER_USERNAME = "username";
39
40     public static final String PROPERTY_KEY_CONSUMER_PASSWORD = "password";
41     private static final String DEFAULT_VALUE_CONSUMER_PASSWORD = "password";
42
43     public static final String PROPERTY_KEY_CONSUMER_HOST_PORT = "host";
44     private static final String DEFAULT_VALUE_CONSUMER_HOST_PORT = "onap-dmaap:3904";
45
46     public static final String PROPERTY_KEY_CONSUMER_TOPIC = "topic";
47     private static final String DEFAULT_VALUE_CONSUMER_TOPIC = "unauthenticated.VES_PNFREG_OUTPUT";
48
49     public static final String PROPERTY_KEY_CONSUMER_CONTENTTYPE = "contenttype";
50     private static final String DEFAULT_VALUE_CONSUMER_CONTENTTYPE = "application/json";
51
52     public static final String PROPERTY_KEY_CONSUMER_GROUP = "group";
53     private static final String DEFAULT_VALUE_CONSUMER_GROUP = "myG";
54
55     public static final String PROPERTY_KEY_CONSUMER_ID = "id";
56     private static final String DEFAULT_VALUE_CONSUMER_ID = "C1";
57
58     public static final String PROPERTY_KEY_CONSUMER_TIMEOUT = "timeout";
59     private static final String DEFAULT_VALUE_CONSUMER_TIMEOUT = "20000";
60
61     public static final String PROPERTY_KEY_CONSUMER_LIMIT = "limit";
62     private static final String DEFAULT_VALUE_CONSUMER_LIMIT = "10000";
63
64     public static final String PROPERTY_KEY_CONSUMER_FETCHPAUSE = "fetchPause";
65     private static final String DEFAULT_VALUE_CONSUMER_FETCHPAUSE = "5000";
66
67     public static final String PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT = "jersey.config.client.readTimeout";
68     private static final String DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT = "25000";
69
70     public static final String PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT = "jersey.config.client.connectTimeout";
71     private static final String DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT = "25000";
72
73     private final ConfigurationFileRepresentation configuration;
74
75     public PNFRegistrationConfig(ConfigurationFileRepresentation configuration) {
76         this.configuration = configuration;
77         this.configuration.addSection(SECTION_MARKER);
78         defaults();
79     }
80
81     @Override
82     public String getSectionName() {
83         return SECTION_MARKER;
84     }
85
86     @Override
87     public void defaults() {
88
89         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLASS,
90                 DEFAULT_VALUE_CONSUMER_CLASS);
91         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE,
92                 DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE);
93         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PROTOCOL,
94                 DEFAULT_VALUE_CONSUMER_PROTOCOL);
95         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_USERNAME,
96                 DEFAULT_VALUE_CONSUMER_USERNAME);
97         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PASSWORD,
98                 DEFAULT_VALUE_CONSUMER_PASSWORD);
99         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_HOST_PORT,
100                 DEFAULT_VALUE_CONSUMER_HOST_PORT);
101         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TOPIC,
102                 DEFAULT_VALUE_CONSUMER_TOPIC);
103         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE,
104                 DEFAULT_VALUE_CONSUMER_CONTENTTYPE);
105         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_GROUP,
106                 DEFAULT_VALUE_CONSUMER_GROUP);
107         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_ID, DEFAULT_VALUE_CONSUMER_ID);
108         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT,
109                 DEFAULT_VALUE_CONSUMER_TIMEOUT);
110         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT,
111                 DEFAULT_VALUE_CONSUMER_LIMIT);
112         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE,
113                 DEFAULT_VALUE_CONSUMER_FETCHPAUSE);
114         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT,
115                 DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT);
116         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT,
117                 DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT);
118     }
119
120     public String getConsumerClass() {
121         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLASS);
122     }
123
124     public String getHostPort() {
125         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_HOST_PORT);
126     }
127
128     public String getTransportType() {
129         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE);
130     }
131
132     public String getProtocol() {
133         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PROTOCOL);
134     }
135
136     public String getUsername() {
137         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_USERNAME);
138     }
139
140     public String getPassword() {
141         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PASSWORD);
142     }
143
144     public String getTopic() {
145         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TOPIC);
146     }
147
148     public String getConsumerGroup() {
149         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_GROUP);
150     }
151
152     public String getConsumerId() {
153         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_ID);
154     }
155
156     public String getTimeout() {
157         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT);
158     }
159
160     public String getLimit() {
161         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT);
162     }
163
164     public String getFetchPause() {
165         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE);
166     }
167
168     public String getContenttype() {
169         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE);
170     }
171
172     public String getClientReadTimeout() {
173         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT);
174     }
175
176     public String getClientConnectTimeout() {
177         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT);
178     }
179 }