636df4104def5f4909bedf39de277c8c03e2af1a
[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     private final ConfigurationFileRepresentation configuration;
70
71     public PNFRegistrationConfig(ConfigurationFileRepresentation configuration) {
72         this.configuration = configuration;
73         this.configuration.addSection(SECTION_MARKER);
74         defaults();
75     }
76
77     @Override
78     public String getSectionName() {
79         return SECTION_MARKER;
80     }
81
82     @Override
83     public void defaults() {
84
85         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE,
86                 DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE);
87         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PROTOCOL,
88                 DEFAULT_VALUE_CONSUMER_PROTOCOL);
89         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_USERNAME,
90                 DEFAULT_VALUE_CONSUMER_USERNAME);
91         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PASSWORD,
92                 DEFAULT_VALUE_CONSUMER_PASSWORD);
93         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_HOST_PORT,
94                 DEFAULT_VALUE_CONSUMER_HOST_PORT);
95         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TOPIC,
96                 DEFAULT_VALUE_CONSUMER_TOPIC);
97         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE,
98                 DEFAULT_VALUE_CONSUMER_CONTENTTYPE);
99         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_GROUP,
100                 DEFAULT_VALUE_CONSUMER_GROUP);
101         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_ID, DEFAULT_VALUE_CONSUMER_ID);
102         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT,
103                 DEFAULT_VALUE_CONSUMER_TIMEOUT);
104         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT,
105                 DEFAULT_VALUE_CONSUMER_LIMIT);
106         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE,
107                 DEFAULT_VALUE_CONSUMER_FETCHPAUSE);
108         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT,
109                 DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT);
110         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT,
111                 DEFAULT_VALUE_CONSUMER_CLIENT_CONNECTTIMEOUT);
112     }
113
114     public String getHostPort() {
115         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_HOST_PORT);
116     }
117
118     public String getTransportType() {
119         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE);
120     }
121
122     public String getProtocol() {
123         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PROTOCOL);
124     }
125
126     public String getUsername() {
127         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_USERNAME);
128     }
129
130     public String getPassword() {
131         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PASSWORD);
132     }
133
134     public String getTopic() {
135         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TOPIC);
136     }
137
138     public String getConsumerGroup() {
139         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_GROUP);
140     }
141
142     public String getConsumerId() {
143         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_ID);
144     }
145
146     public String getTimeout() {
147         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT);
148     }
149
150     public String getLimit() {
151         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT);
152     }
153
154     public String getFetchPause() {
155         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE);
156     }
157
158     public String getContenttype() {
159         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE);
160     }
161
162     public String getClientReadTimeout() {
163         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT);
164     }
165
166     public String getClientConnectTimeout() {
167         return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT);
168     }
169 }