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