From 72a9ab9e886cdeabc4b43418a7054a5796a0ff55 Mon Sep 17 00:00:00 2001 From: sliard Date: Mon, 12 Apr 2021 15:58:22 +0200 Subject: [DMAAP-CLIENT] First sonar issues review part2 update Copyright informations fix checkstyle warning and fix code review comments remove Prop Issue-ID: DMAAP-1585 Change-Id: I445ca5d0888a555acbac70af7ed571be26d74f79 Signed-off-by: sliard --- .../org/onap/dmaap/mr/tools/ValidatorUtil.java | 338 ++++++++++++--------- 1 file changed, 191 insertions(+), 147 deletions(-) (limited to 'src/main/java/org/onap/dmaap/mr/tools/ValidatorUtil.java') diff --git a/src/main/java/org/onap/dmaap/mr/tools/ValidatorUtil.java b/src/main/java/org/onap/dmaap/mr/tools/ValidatorUtil.java index cdba1e0..d01c34f 100644 --- a/src/main/java/org/onap/dmaap/mr/tools/ValidatorUtil.java +++ b/src/main/java/org/onap/dmaap/mr/tools/ValidatorUtil.java @@ -4,11 +4,13 @@ * ================================================================================ * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright © 2021 Orange. + * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -17,158 +19,200 @@ * ============LICENSE_END========================================================= * * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * + * *******************************************************************************/ + package org.onap.dmaap.mr.tools; import java.util.Properties; - -import org.onap.dmaap.mr.test.clients.ProtocolTypeConstants; +import org.onap.dmaap.mr.client.ProtocolType; public class ValidatorUtil { - public static void validatePublisher(Properties props) { - String transportType = props.getProperty("TransportType"); - if (ProtocolTypeConstants.DME2.getValue().equalsIgnoreCase(transportType)) { - validateForDME2(props); - } else { - validateForNonDME2(props); - } - String maxBatchSize = props.getProperty("maxBatchSize"); - if (maxBatchSize == null || maxBatchSize.isEmpty()) { - throw new IllegalArgumentException ( "maxBatchSize is needed" ); - } - String maxAgeMs = props.getProperty("maxAgeMs"); - if (maxAgeMs == null || maxAgeMs.isEmpty()) { - throw new IllegalArgumentException ( "maxAgeMs is needed" ); - } - String messageSentThreadOccurance = props.getProperty("MessageSentThreadOccurance"); - if (messageSentThreadOccurance == null || messageSentThreadOccurance.isEmpty()) { - throw new IllegalArgumentException ( "MessageSentThreadOccurance is needed" ); - } - - } + private static final String ID = "id"; + private static final String AUTH_KEY = "authKey"; + private static final String AUTH_DATE = "authDate"; + private static final String PASSWORD = "password"; + private static final String USERNAME = "username"; + private static final String HOST = "host"; + private static final String DME2PREFERRED_ROUTER_FILE_PATH = "DME2preferredRouterFilePath"; + private static final String TOPIC = "topic"; + private static final String TRANSPORT_TYPE = "TransportType"; + private static final String MAX_BATCH_SIZE = "maxBatchSize"; + private static final String MAX_AGE_MS = "maxAgeMs"; + private static final String MESSAGE_SENT_THREAD_OCCURRENCE_OLD = "MessageSentThreadOccurance"; + private static final String MESSAGE_SENT_THREAD_OCCURRENCE = "MessageSentThreadOccurrence"; + private static final String GROUP = "group"; + private static final String SERVICE_NAME = "ServiceName"; + private static final String PARTNER = "Partner"; + private static final String ROUTE_OFFER = "routeOffer"; + private static final String PROTOCOL = "Protocol"; + private static final String METHOD_TYPE = "MethodType"; + private static final String CONTENT_TYPE = "contenttype"; + private static final String LATITUDE = "Latitude"; + private static final String LONGITUDE = "Longitude"; + private static final String AFT_ENVIRONMENT = "AFT_ENVIRONMENT"; + private static final String VERSION = "Version"; + private static final String ENVIRONMENT = "Environment"; + private static final String SUB_CONTEXT_PATH = "SubContextPath"; + private static final String SESSION_STICKINESS_REQUIRED = "sessionstickinessrequired"; + + public static final String IS_NEEDED = " is needed"; + + private ValidatorUtil() { + + } + + public static void validatePublisher(Properties props) { + String transportType = props.getProperty(TRANSPORT_TYPE); + if (ProtocolType.DME2.getValue().equalsIgnoreCase(transportType)) { + validateForDME2(props); + } else { + validateForNonDME2(props); + } + String maxBatchSize = props.getProperty(MAX_BATCH_SIZE, ""); + if (maxBatchSize.isEmpty()) { + throw new IllegalArgumentException(MAX_BATCH_SIZE + IS_NEEDED); + } + String maxAgeMs = props.getProperty(MAX_AGE_MS, ""); + if (maxAgeMs.isEmpty()) { + throw new IllegalArgumentException(MAX_AGE_MS + IS_NEEDED); + } + + String messageSentThreadOccurrence = props.getProperty(MESSAGE_SENT_THREAD_OCCURRENCE); + if (messageSentThreadOccurrence == null || messageSentThreadOccurrence.isEmpty()) { + messageSentThreadOccurrence = props.getProperty(MESSAGE_SENT_THREAD_OCCURRENCE_OLD); + } + if (messageSentThreadOccurrence == null || messageSentThreadOccurrence.isEmpty()) { + throw new IllegalArgumentException(MESSAGE_SENT_THREAD_OCCURRENCE + IS_NEEDED); + } + try { + Integer.parseInt(messageSentThreadOccurrence); + } catch (NumberFormatException e) { + throw new IllegalArgumentException(MESSAGE_SENT_THREAD_OCCURRENCE + " must be an integer"); + } + + } + + public static void validateSubscriber(Properties props) { + String transportType = props.getProperty(TRANSPORT_TYPE); + if (ProtocolType.DME2.getValue().equalsIgnoreCase(transportType)) { + validateForDME2(props); + } else { + validateForNonDME2(props); + } + String group = props.getProperty(GROUP, ""); + if (group.isEmpty()) { + throw new IllegalArgumentException(GROUP + IS_NEEDED); + } + String id = props.getProperty(ID, ""); + if (id.isEmpty()) { + throw new IllegalArgumentException("Consumer (" + ID + ")" + IS_NEEDED); + } + } + + private static void validateForDME2(Properties props) { + String serviceName = props.getProperty(SERVICE_NAME, ""); + if (serviceName.isEmpty()) { + throw new IllegalArgumentException(SERVICE_NAME + IS_NEEDED); + } + String topic = props.getProperty(TOPIC, ""); + if (topic.isEmpty()) { + throw new IllegalArgumentException(TOPIC + IS_NEEDED); + } + String username = props.getProperty(USERNAME, ""); + if (username.isEmpty()) { + throw new IllegalArgumentException(USERNAME + IS_NEEDED); + } + String password = props.getProperty(PASSWORD, ""); + if (password.isEmpty()) { + throw new IllegalArgumentException(PASSWORD + IS_NEEDED); + } + String dme2preferredRouterFilePath = props.getProperty(DME2PREFERRED_ROUTER_FILE_PATH, ""); + if (dme2preferredRouterFilePath.isEmpty()) { + throw new IllegalArgumentException(DME2PREFERRED_ROUTER_FILE_PATH + IS_NEEDED); + } + String partner = props.getProperty(PARTNER, ""); + String routeOffer = props.getProperty(ROUTE_OFFER, ""); + if (partner.isEmpty() && routeOffer.isEmpty()) { + throw new IllegalArgumentException(PARTNER + " or " + ROUTE_OFFER + IS_NEEDED); + } + String protocol = props.getProperty(PROTOCOL, ""); + if (protocol.isEmpty()) { + throw new IllegalArgumentException(PROTOCOL + IS_NEEDED); + } + String methodType = props.getProperty(METHOD_TYPE, ""); + if (methodType.isEmpty()) { + throw new IllegalArgumentException(METHOD_TYPE + IS_NEEDED); + } + String contentType = props.getProperty(CONTENT_TYPE, ""); + if (contentType.isEmpty()) { + throw new IllegalArgumentException(CONTENT_TYPE + IS_NEEDED); + } + String latitude = props.getProperty(LATITUDE, ""); + if (latitude.isEmpty()) { + throw new IllegalArgumentException(LATITUDE + IS_NEEDED); + } + String longitude = props.getProperty(LONGITUDE, ""); + if (longitude.isEmpty()) { + throw new IllegalArgumentException(LONGITUDE + IS_NEEDED); + } + String aftEnv = props.getProperty(AFT_ENVIRONMENT, ""); + if (aftEnv.isEmpty()) { + throw new IllegalArgumentException(AFT_ENVIRONMENT + IS_NEEDED); + } + String version = props.getProperty(VERSION, ""); + if (version.isEmpty()) { + throw new IllegalArgumentException(VERSION + IS_NEEDED); + } + String environment = props.getProperty(ENVIRONMENT, ""); + if (environment.isEmpty()) { + throw new IllegalArgumentException(ENVIRONMENT + IS_NEEDED); + } + String subContextPath = props.getProperty(SUB_CONTEXT_PATH, ""); + if (subContextPath.isEmpty()) { + throw new IllegalArgumentException(SUB_CONTEXT_PATH + IS_NEEDED); + } + String sessionstickinessrequired = props.getProperty(SESSION_STICKINESS_REQUIRED, ""); + if (sessionstickinessrequired.isEmpty()) { + throw new IllegalArgumentException(SESSION_STICKINESS_REQUIRED + IS_NEEDED); + } + } + + private static void validateForNonDME2(Properties props) { + String host = props.getProperty(HOST, ""); + if (host.isEmpty()) { + throw new IllegalArgumentException(HOST + IS_NEEDED); + } + String topic = props.getProperty(TOPIC, ""); + if (topic.isEmpty()) { + throw new IllegalArgumentException(TOPIC + IS_NEEDED); + } + String contenttype = props.getProperty(CONTENT_TYPE, ""); + if (contenttype.isEmpty()) { + throw new IllegalArgumentException(CONTENT_TYPE + IS_NEEDED); + } + String transportType = props.getProperty(TRANSPORT_TYPE); + if (!ProtocolType.HTTPNOAUTH.getValue().equalsIgnoreCase(transportType)) { + String username = props.getProperty(USERNAME, ""); + if (username.isEmpty()) { + throw new IllegalArgumentException(USERNAME + IS_NEEDED); + } + String password = props.getProperty(PASSWORD, ""); + if (password.isEmpty()) { + throw new IllegalArgumentException(PASSWORD + IS_NEEDED); + } + } + if (ProtocolType.AUTH_KEY.getValue().equalsIgnoreCase(transportType)) { + String authKey = props.getProperty(AUTH_KEY, ""); + if (authKey.isEmpty()) { + throw new IllegalArgumentException(AUTH_KEY + IS_NEEDED); + } + String authDate = props.getProperty(AUTH_DATE, ""); + if (authDate.isEmpty()) { + throw new IllegalArgumentException(AUTH_DATE + IS_NEEDED); + } + } + } - public static void validateSubscriber(Properties props) { - String transportType = props.getProperty("TransportType"); - if (ProtocolTypeConstants.DME2.getValue().equalsIgnoreCase(transportType)) { - validateForDME2(props); - } else { - validateForNonDME2(props); - } - String group = props.getProperty("group"); - if (group == null || group.isEmpty()) { - throw new IllegalArgumentException ( "group is needed" ); - } - String id = props.getProperty("id"); - if (id == null || id.isEmpty()) { - throw new IllegalArgumentException ( "Consumer (Id) is needed" ); - } - } - - private static void validateForDME2(Properties props) { - String serviceName = props.getProperty("ServiceName"); - if (serviceName == null || serviceName.isEmpty()) { - throw new IllegalArgumentException ( "Servicename is needed" ); - } - String topic = props.getProperty("topic"); - if (topic == null || topic.isEmpty()) { - throw new IllegalArgumentException ( "topic is needed" ); - } - String username = props.getProperty("username"); - if (username == null || username.isEmpty()) { - throw new IllegalArgumentException ( "username is needed" ); - } - String password = props.getProperty("password"); - if (password == null || password.isEmpty()) { - throw new IllegalArgumentException ( "password is needed" ); - } - String dME2preferredRouterFilePath = props.getProperty("DME2preferredRouterFilePath"); - if (dME2preferredRouterFilePath == null || dME2preferredRouterFilePath.isEmpty()) { - throw new IllegalArgumentException ( "DME2preferredRouterFilePath is needed" ); - } - String partner = props.getProperty("Partner"); - String routeOffer = props.getProperty("routeOffer"); - if ((partner == null || partner.isEmpty()) && (routeOffer == null || routeOffer.isEmpty())) { - throw new IllegalArgumentException ( "Partner or routeOffer is needed" ); - } - String protocol = props.getProperty("Protocol"); - if (protocol == null || protocol.isEmpty()) { - throw new IllegalArgumentException ( "Protocol is needed" ); - } - String methodType = props.getProperty("MethodType"); - if (methodType == null || methodType.isEmpty()) { - throw new IllegalArgumentException ( "MethodType is needed" ); - } - String contenttype = props.getProperty("contenttype"); - if (contenttype == null || contenttype.isEmpty()) { - throw new IllegalArgumentException ( "contenttype is needed" ); - } - String latitude = props.getProperty("Latitude"); - if (latitude == null || latitude.isEmpty()) { - throw new IllegalArgumentException ( "Latitude is needed" ); - } - String longitude = props.getProperty("Longitude"); - if (longitude == null || longitude.isEmpty()) { - throw new IllegalArgumentException ( "Longitude is needed" ); - } - String aftEnv = props.getProperty("AFT_ENVIRONMENT"); - if (aftEnv == null || aftEnv.isEmpty()) { - throw new IllegalArgumentException ( "AFT_ENVIRONMENT is needed" ); - } - String version = props.getProperty("Version"); - if (version == null || version.isEmpty()) { - throw new IllegalArgumentException ( "Version is needed" ); - } - String environment = props.getProperty("Environment"); - if (environment == null || environment.isEmpty()) { - throw new IllegalArgumentException ( "Environment is needed" ); - } - String subContextPath = props.getProperty("SubContextPath"); - if (subContextPath == null || subContextPath.isEmpty()) { - throw new IllegalArgumentException ( "SubContextPath is needed" ); - } - String sessionstickinessrequired = props.getProperty("sessionstickinessrequired"); - if (sessionstickinessrequired == null || sessionstickinessrequired.isEmpty()) { - throw new IllegalArgumentException ( "sessionstickinessrequired is needed" ); - } - } - - private static void validateForNonDME2(Properties props) { - String transportType = props.getProperty("TransportType"); - String host = props.getProperty("host"); - if (host == null || host.isEmpty()) { - throw new IllegalArgumentException ( "Servicename is needed" ); - } - String topic = props.getProperty("topic"); - if (topic == null || topic.isEmpty()) { - throw new IllegalArgumentException ( "topic is needed" ); - } - String contenttype = props.getProperty("contenttype"); - if (contenttype == null || contenttype.isEmpty()) { - throw new IllegalArgumentException ( "contenttype is needed" ); - } - if (!ProtocolTypeConstants.HTTPNOAUTH.getValue().equalsIgnoreCase(transportType)){ - String username = props.getProperty("username"); - if (username == null || username.isEmpty()) { - throw new IllegalArgumentException ( "username is needed" ); - } - String password = props.getProperty("password"); - if (password == null || password.isEmpty()) { - throw new IllegalArgumentException ( "password is needed" ); - } - } - if (ProtocolTypeConstants.AUTH_KEY.getValue().equalsIgnoreCase(transportType)) { - String authKey = props.getProperty("authKey"); - if (authKey == null || authKey.isEmpty()) { - throw new IllegalArgumentException ( "authKey is needed" ); - } - String authDate = props.getProperty("authDate"); - if (authDate == null || authDate.isEmpty()) { - throw new IllegalArgumentException ( "authDate is needed" ); - } - - } - } - } -- cgit 1.2.3-korg