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==========================================================================
 
  18 package org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.impl;
 
  20 import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
 
  21 import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
 
  23 public class FaultConfig implements Configuration {
 
  24     private static final String SECTION_MARKER = "fault";
 
  26     private static final String PROPERTY_KEY_CONSUMER_CLASS = "faultConsumerClass";
 
  27     private static final String DEFAULT_VALUE_CONSUMER_CLASS =
 
  28             "org.onap.ccsdk.features.sdnr.wt.mountpointregistrar.impl.DMaaPFaultVESMsgConsumer";
 
  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 = "${DMAAP_FAULT_TOPIC_USERNAME}";
 
  39     public static final String PROPERTY_KEY_CONSUMER_PASSWORD = "password";
 
  40     private static final String DEFAULT_VALUE_CONSUMER_PASSWORD = "${DMAAP_FAULT_TOPIC_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.SEC_FAULT_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     public static final String PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT = "jersey.config.client.readTimeout";
 
  67     private static final String DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT = "25000";
 
  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";
 
  72     private final ConfigurationFileRepresentation configuration;
 
  74     public FaultConfig(ConfigurationFileRepresentation configuration) {
 
  75         this.configuration = configuration;
 
  76         this.configuration.addSection(SECTION_MARKER);
 
  81     public String getSectionName() {
 
  82         return SECTION_MARKER;
 
  86     public void defaults() {
 
  88         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLASS,
 
  89                 DEFAULT_VALUE_CONSUMER_CLASS);
 
  90         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TRANSPORTTYPE,
 
  91                 DEFAULT_VALUE_CONSUMER_TRANSPORTTYPE);
 
  92         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PROTOCOL,
 
  93                 DEFAULT_VALUE_CONSUMER_PROTOCOL);
 
  94         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_USERNAME,
 
  95                 DEFAULT_VALUE_CONSUMER_USERNAME);
 
  96         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_PASSWORD,
 
  97                 DEFAULT_VALUE_CONSUMER_PASSWORD);
 
  98         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_HOST_PORT,
 
  99                 DEFAULT_VALUE_CONSUMER_HOST_PORT);
 
 100         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TOPIC,
 
 101                 DEFAULT_VALUE_CONSUMER_TOPIC);
 
 102         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CONTENTTYPE,
 
 103                 DEFAULT_VALUE_CONSUMER_CONTENTTYPE);
 
 104         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_GROUP,
 
 105                 DEFAULT_VALUE_CONSUMER_GROUP);
 
 106         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_ID, DEFAULT_VALUE_CONSUMER_ID);
 
 107         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_TIMEOUT,
 
 108                 DEFAULT_VALUE_CONSUMER_TIMEOUT);
 
 109         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_LIMIT,
 
 110                 DEFAULT_VALUE_CONSUMER_LIMIT);
 
 111         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_FETCHPAUSE,
 
 112                 DEFAULT_VALUE_CONSUMER_FETCHPAUSE);
 
 113         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_READTIMEOUT,
 
 114                 DEFAULT_VALUE_CONSUMER_CLIENT_READTIMEOUT);
 
 115         configuration.setPropertyIfNotAvailable(SECTION_MARKER, PROPERTY_KEY_CONSUMER_CLIENT_CONNECTTIMEOUT,
 
 116                 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);