2  * ============LICENSE_START====================================
 
   3  * DCAEGEN2-SERVICES-SDK
 
   4  * =========================================================
 
   5  * Copyright (C) 2019 Nokia. All rights reserved.
 
   6  * =========================================================
 
   7  * Licensed under the Apache License, Version 2.0 (the "License");
 
   8  * you may not use this file except in compliance with the License.
 
   9  * You may obtain a copy of the License at
 
  11  *       http://www.apache.org/licenses/LICENSE-2.0
 
  13  * Unless required by applicable law or agreed to in writing, software
 
  14  * distributed under the License is distributed on an "AS IS" BASIS,
 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  16  * See the License for the specific language governing permissions and
 
  17  * limitations under the License.
 
  18  * ============LICENSE_END=====================================
 
  20 package org.onap.dcaegen2.services.sdk.rest.services.cbs.client.impl.streams.gson.dmaap.mr;
 
  22 import org.jetbrains.annotations.NotNull;
 
  23 import org.jetbrains.annotations.Nullable;
 
  24 import org.onap.dcaegen2.services.sdk.model.streams.AafCredentials;
 
  25 import org.onap.dcaegen2.services.sdk.model.streams.dmaap.MessageRouter;
 
  27 import java.util.Objects;
 
  30  * @author <a href="mailto:kornel.janiak@nokia.com">Kornel Janiak</a>
 
  33 abstract class GsonMessageRouter implements MessageRouter {
 
  34     private final String name;
 
  35     private final MessageRouterDmaapInfo dmaapInfo;
 
  36     private final AafCredentials aafCredentials;
 
  38     GsonMessageRouter(String name, @NotNull MessageRouterDmaapInfo dmaapInfo,
 
  39             @Nullable AafCredentials aafCredentials) {
 
  41         this.dmaapInfo = Objects.requireNonNull(dmaapInfo, "dmaapInfo");
 
  42         this.aafCredentials = aafCredentials;
 
  45     public String name() {
 
  50     public String topicUrl() {
 
  51         return dmaapInfo.topicUrl();
 
  55     public @Nullable String clientRole() {
 
  56         return dmaapInfo.clientRole();
 
  60     public @Nullable String clientId() {
 
  61         return dmaapInfo.clientId();
 
  65     public @Nullable String location() {
 
  66         return dmaapInfo.location();
 
  70     public @Nullable AafCredentials aafCredentials() {
 
  71         return aafCredentials;