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
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==========================================================================
17 ******************************************************************************/
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 = "org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.impl.DMaaPPNFRegVESMsgConsumer";
30 public static final String PROPERTY_KEY_CONSUMER_TRANSPORTTYPE = "TransportType";
31 private static final String DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE = "HTTPNOAUTH";
33 public static final String PROPERTY_KEY_CONSUMER_PROTOCOL = "Protocol";
34 private static final String DEFAULT_VALUE_CONSUMER_PROTOCOL = "http";
36 public static final String PROPERTY_KEY_CONSUMER_USERNAME = "username";
37 private static final String DEFAULT_VALUE_CONSUMER_USERNAME = "username";
39 public static final String PROPERTY_KEY_CONSUMER_PASSWORD = "password";
40 private static final String DEFAULT_VALUE_CONSUMER_PASSWORD = "password";
42 public static final String PROPERTY_KEY_CONSUMER_HOST_PORT = "host";
43 private static final String DEFAULT_VALUE_CONSUMER_HOST_PORT = "onap-dmaap:3904";
45 public static final String PROPERTY_KEY_CONSUMER_TOPIC = "topic";
46 private static final String DEFAULT_VALUE_CONSUMER_TOPIC = "unauthenticated.VES_PNFREG_OUTPUT";
48 public static final String PROPERTY_KEY_CONSUMER_CONTENTTYPE = "contenttype";
49 private static final String DEFAULT_VALUE_CONSUMER_CONTENTTYPE = "application/json";
51 public static final String PROPERTY_KEY_CONSUMER_GROUP = "group";
52 private static final String DEFAULT_VALUE_CONSUMER_GROUP = "myG";
54 public static final String PROPERTY_KEY_CONSUMER_ID = "id";
55 private static final String DEFAULT_VALUE_CONSUMER_ID = "C1";
57 public static final String PROPERTY_KEY_CONSUMER_TIMEOUT = "timeout";
58 private static final String DEFAULT_VALUE_CONSUMER_TIMEOUT = "20000";
60 public static final String PROPERTY_KEY_CONSUMER_LIMIT = "limit";
61 private static final String DEFAULT_VALUE_CONSUMER_LIMIT = "10000";
63 public static final String PROPERTY_KEY_CONSUMER_FETCHPAUSE = "fetchPause";
64 private static final String DEFAULT_VALUE_CONSUMER_FETCHPAUSE = "5000";
66 private final ConfigurationFileRepresentation configuration;
68 public PNFRegistrationConfig(ConfigurationFileRepresentation configuration) {
69 this.configuration = configuration;
70 this.configuration.addSection(SECTION_MARKER);
74 public String getSectionName() {
75 return SECTION_MARKER;
79 public void defaults() {
81 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLASS, DEFAULT_VALUE_CONSUMER_CLASS);
82 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE, DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE);
83 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PROTOCOL, DEFAULT_VALUE_CONSUMER_PROTOCOL);
84 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_USERNAME, DEFAULT_VALUE_CONSUMER_USERNAME);
85 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PASSWORD, DEFAULT_VALUE_CONSUMER_PASSWORD);
86 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_HOST_PORT, DEFAULT_VALUE_CONSUMER_HOST_PORT);
87 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TOPIC, DEFAULT_VALUE_CONSUMER_TOPIC);
88 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE, DEFAULT_VALUE_CONSUMER_CONTENTTYPE);
89 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_GROUP, DEFAULT_VALUE_CONSUMER_GROUP);
90 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_ID, DEFAULT_VALUE_CONSUMER_ID);
91 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT, DEFAULT_VALUE_CONSUMER_TIMEOUT);
92 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT, DEFAULT_VALUE_CONSUMER_LIMIT);
93 configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE, DEFAULT_VALUE_CONSUMER_FETCHPAUSE);
97 public String getConsumerClass() {
98 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLASS);
101 public String getHostPort() {
102 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_HOST_PORT);
105 public String getTransportType() {
106 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE);
109 public String getProtocol() {
110 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PROTOCOL);
113 public String getUsername() {
114 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_USERNAME);
117 public String getPassword() {
118 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PASSWORD);
121 public String getTopic() {
122 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TOPIC);
125 public String getConsumerGroup() {
126 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_GROUP);
129 public String getConsumerId() {
130 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_ID);
133 public String getTimeout() {
134 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT);
137 public String getLimit() {
138 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT);
141 public String getFetchPause() {
142 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE);
145 public String getContenttype() {
146 return configuration.getProperty(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE);