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
10 * http://www.apache.org/licenses/LICENSE-2.0
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
16 * ============LICENSE_END==========================================================================
19 package org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.impl;
21 import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
22 import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
24 public class PNFRegistrationConfig implements Configuration {
25 private static final String SECTION_MARKER = "pnfRegistration";
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";
31 public static final String PROPERTY_KEY_CONSUMER_TRANSPORTTYPE = "TransportType";
32 private static final String DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE = "HTTPNOAUTH";
34 public static final String PROPERTY_KEY_CONSUMER_PROTOCOL = "Protocol";
35 private static final String DEFAULT_VALUE_CONSUMER_PROTOCOL = "http";
37 public static final String PROPERTY_KEY_CONSUMER_USERNAME = "username";
38 private static final String DEFAULT_VALUE_CONSUMER_USERNAME = "${DMAAP_PNFREG_TOPIC_USERNAME}";
40 public static final String PROPERTY_KEY_CONSUMER_PASSWORD = "password";
41 private static final String DEFAULT_VALUE_CONSUMER_PASSWORD = "${DMAAP_PNFREG_TOPIC_PASSWORD}";
43 public static final String PROPERTY_KEY_CONSUMER_HOST_PORT = "host";
44 private static final String DEFAULT_VALUE_CONSUMER_HOST_PORT = "onap-dmaap:3904";
46 public static final String PROPERTY_KEY_CONSUMER_TOPIC = "topic";
47 private static final String DEFAULT_VALUE_CONSUMER_TOPIC = "unauthenticated.VES_PNFREG_OUTPUT";
49 public static final String PROPERTY_KEY_CONSUMER_CONTENTTYPE = "contenttype";
50 private static final String DEFAULT_VALUE_CONSUMER_CONTENTTYPE = "application/json";
52 public static final String PROPERTY_KEY_CONSUMER_GROUP = "group";
53 private static final String DEFAULT_VALUE_CONSUMER_GROUP = "myG";
55 public static final String PROPERTY_KEY_CONSUMER_ID = "id";
56 private static final String DEFAULT_VALUE_CONSUMER_ID = "C1";
58 public static final String PROPERTY_KEY_CONSUMER_TIMEOUT = "timeout";
59 private static final String DEFAULT_VALUE_CONSUMER_TIMEOUT = "20000";
61 public static final String PROPERTY_KEY_CONSUMER_LIMIT = "limit";
62 private static final String DEFAULT_VALUE_CONSUMER_LIMIT = "10000";
64 public static final String PROPERTY_KEY_CONSUMER_FETCHPAUSE = "fetchPause";
65 private static final String DEFAULT_VALUE_CONSUMER_FETCHPAUSE = "5000";
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";
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";
73 private final ConfigurationFileRepresentation configuration;
75 public PNFRegistrationConfig(ConfigurationFileRepresentation configuration) {
76 this.configuration = configuration;
77 this.configuration.addSection(SECTION_MARKER);
82 public String getSectionName() {
83 return SECTION_MARKER;
87 public void defaults() {
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);
120 public String getConsumerClass() {
121 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLASS);
124 public String getHostPort() {
125 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_HOST_PORT);
128 public String getTransportType() {
129 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE);
132 public String getProtocol() {
133 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PROTOCOL);
136 public String getUsername() {
137 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_USERNAME);
140 public String getPassword() {
141 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PASSWORD);
144 public String getTopic() {
145 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TOPIC);
148 public String getConsumerGroup() {
149 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_GROUP);
152 public String getConsumerId() {
153 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_ID);
156 public String getTimeout() {
157 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT);
160 public String getLimit() {
161 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT);
164 public String getFetchPause() {
165 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE);
168 public String getContenttype() {
169 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE);
172 public String getClientReadTimeout() {
173 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT);
176 public String getClientConnectTimeout() {
177 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT);