diff options
Diffstat (limited to 'policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event')
5 files changed, 129 insertions, 64 deletions
diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusConsumer.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusConsumer.java index ecc90139..690a6d0b 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusConsumer.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusConsumer.java @@ -3,7 +3,7 @@ * policy-endpoints * ================================================================================ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd. + * Modifications Copyright (C) 2018 Samsung Electronics Co., Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,6 +36,7 @@ import java.util.ArrayList; import java.util.Map; import java.util.Properties; +import org.apache.commons.lang3.StringUtils; import org.onap.policy.common.endpoints.event.comm.bus.DmaapTopicSinkFactory; import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties; import org.slf4j.Logger; @@ -294,7 +295,7 @@ public interface BusConsumer { this.fetchTimeout = busTopicParams.getFetchTimeout(); - if (busTopicParams.isTopicNullOrEmpty()) { + if (busTopicParams.isTopicInvalid()) { throw new IllegalArgumentException("No topic for DMaaP"); } @@ -391,7 +392,7 @@ public interface BusConsumer { super(busTopicParams); // super constructor sets servers = {""} if empty to avoid errors when using DME2 - if (busTopicParams.isServersNullOrEmpty()) { + if (busTopicParams.isServersInvalid()) { throw new IllegalArgumentException("Must provide at least one host for HTTP AAF"); } @@ -445,25 +446,25 @@ public interface BusConsumer { final String dme2RouteOffer = busTopicParams.getAdditionalProps() .get(DmaapTopicSinkFactory.DME2_ROUTE_OFFER_PROPERTY); - if (busTopicParams.isEnvironmentNullOrEmpty()) { + if (busTopicParams.isEnvironmentInvalid()) { throw parmException(busTopicParams.getTopic(), PolicyEndPointProperties.PROPERTY_DMAAP_DME2_ENVIRONMENT_SUFFIX); } - if (busTopicParams.isAftEnvironmentNullOrEmpty()) { + if (busTopicParams.isAftEnvironmentInvalid()) { throw parmException(busTopicParams.getTopic(), PolicyEndPointProperties.PROPERTY_DMAAP_DME2_AFT_ENVIRONMENT_SUFFIX); } - if (busTopicParams.isLatitudeNullOrEmpty()) { + if (busTopicParams.isLatitudeInvalid()) { throw parmException(busTopicParams.getTopic(), PolicyEndPointProperties.PROPERTY_DMAAP_DME2_LATITUDE_SUFFIX); } - if (busTopicParams.isLongitudeNullOrEmpty()) { + if (busTopicParams.isLongitudeInvalid()) { throw parmException(busTopicParams.getTopic(), PolicyEndPointProperties.PROPERTY_DMAAP_DME2_LONGITUDE_SUFFIX); } - if ((busTopicParams.isPartnerNullOrEmpty()) - && (dme2RouteOffer == null || dme2RouteOffer.isEmpty())) { + if ((busTopicParams.isPartnerInvalid()) + && StringUtils.isBlank(dme2RouteOffer)) { throw new IllegalArgumentException( "Must provide at least " + PolicyEndPointProperties.PROPERTY_DMAAP_SOURCE_TOPICS + "." + busTopicParams.getTopic() diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusPublisher.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusPublisher.java index 2d1d8257..aaf0cfb5 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusPublisher.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusPublisher.java @@ -3,7 +3,7 @@ * policy-endpoints * ================================================================================ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd. + * Modifications Copyright (C) 2018 Samsung Electronics Co., Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,6 +38,7 @@ import java.util.Map; import java.util.Properties; import java.util.concurrent.TimeUnit; +import org.apache.commons.lang3.StringUtils; import org.onap.policy.common.endpoints.event.comm.bus.DmaapTopicSinkFactory; import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties; import org.slf4j.Logger; @@ -176,7 +177,7 @@ public interface BusPublisher { String username, String password, boolean useHttps) { - if (topic == null || topic.isEmpty()) { + if (StringUtils.isBlank(topic)) { throw new IllegalArgumentException("No topic for DMaaP"); } @@ -313,25 +314,25 @@ public interface BusPublisher { DmaapTopicSinkFactory.DME2_ROUTE_OFFER_PROPERTY); } - if (busTopicParams.isEnvironmentNullOrEmpty()) { + if (busTopicParams.isEnvironmentInvalid()) { throw parmException(busTopicParams.getTopic(), PolicyEndPointProperties.PROPERTY_DMAAP_DME2_ENVIRONMENT_SUFFIX); } - if (busTopicParams.isAftEnvironmentNullOrEmpty()) { + if (busTopicParams.isAftEnvironmentInvalid()) { throw parmException(busTopicParams.getTopic(), PolicyEndPointProperties.PROPERTY_DMAAP_DME2_AFT_ENVIRONMENT_SUFFIX); } - if (busTopicParams.isLatitudeNullOrEmpty()) { + if (busTopicParams.isLatitudeInvalid()) { throw parmException(busTopicParams.getTopic(), PolicyEndPointProperties.PROPERTY_DMAAP_DME2_LATITUDE_SUFFIX); } - if (busTopicParams.isLongitudeNullOrEmpty()) { + if (busTopicParams.isLongitudeInvalid()) { throw parmException(busTopicParams.getTopic(), PolicyEndPointProperties.PROPERTY_DMAAP_DME2_LONGITUDE_SUFFIX); } - if ((busTopicParams.isPartnerNullOrEmpty()) - && (dme2RouteOffer == null || dme2RouteOffer.trim().isEmpty())) { + if ((busTopicParams.isPartnerInvalid()) + && StringUtils.isBlank(dme2RouteOffer)) { throw new IllegalArgumentException( "Must provide at least " + PolicyEndPointProperties.PROPERTY_DMAAP_SOURCE_TOPICS + "." + busTopicParams.getTopic() diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusTopicParams.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusTopicParams.java index b133f1c7..7f03286f 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusTopicParams.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/BusTopicParams.java @@ -20,12 +20,14 @@ package org.onap.policy.common.endpoints.event.comm.bus.internal; +import org.apache.commons.lang3.StringUtils; + import java.util.List; import java.util.Map; /** * Member variables of this Params class are as follows. - * + * * <p>servers DMaaP servers * topic DMaaP Topic to be monitored * apiKey DMaaP API Key (optional) @@ -45,11 +47,9 @@ import java.util.Map; */ public class BusTopicParams { - public static TopicParamsBuilder builder() { - return new TopicParamsBuilder(); - } - + private int port; private List<String> servers; + private Map<String, String> additionalProps; private String topic; private String apiKey; private String apiSecret; @@ -59,6 +59,7 @@ public class BusTopicParams { private int fetchLimit; private boolean useHttps; private boolean allowSelfSignedCerts; + private boolean managed; private String userName; private String password; @@ -67,9 +68,14 @@ public class BusTopicParams { private String partner; private String latitude; private String longitude; - private Map<String, String> additionalProps; private String partitionId; - private boolean managed; + private String clientName; + private String hostname; + private String basePath; + + public static TopicParamsBuilder builder() { + return new TopicParamsBuilder(); + } public String getPartitionId() { return partitionId; @@ -139,6 +145,26 @@ public class BusTopicParams { return fetchLimit; } + public String getClientName() { + return clientName; + } + + public String getHostname() { + return hostname; + } + + public int getPort() { + return port; + } + + public String getBasePath() { + return basePath; + } + + public boolean isManaged() { + return managed; + } + public boolean isUseHttps() { return useHttps; } @@ -147,74 +173,90 @@ public class BusTopicParams { return allowSelfSignedCerts; } - boolean isEnvironmentNullOrEmpty() { - return (environment == null || environment.trim().isEmpty()); + /** + * Methods to Check if the property is INVALID + */ + + boolean isEnvironmentInvalid() { + return StringUtils.isBlank(environment); } - boolean isAftEnvironmentNullOrEmpty() { - return (aftEnvironment == null || aftEnvironment.trim().isEmpty()); + boolean isAftEnvironmentInvalid() { + return StringUtils.isBlank(aftEnvironment); } - boolean isLatitudeNullOrEmpty() { - return (latitude == null || latitude.trim().isEmpty()); + boolean isLatitudeInvalid() { + return StringUtils.isBlank(latitude); } - boolean isLongitudeNullOrEmpty() { - return (longitude == null || longitude.trim().isEmpty()); + boolean isLongitudeInvalid() { + return StringUtils.isBlank(longitude); } - boolean isConsumerInstanceNullOrEmpty() { - return (consumerInstance == null || consumerInstance.trim().isEmpty()); + boolean isConsumerInstanceInvalid() { + return StringUtils.isBlank(consumerInstance); } - boolean isConsumerGroupNullOrEmpty() { - return (consumerGroup == null || consumerGroup.trim().isEmpty()); + boolean isConsumerGroupInvalid() { + return StringUtils.isBlank(consumerGroup); } - boolean isApiKeyValid() { - return !(apiKey == null || apiKey.trim().isEmpty()); + public boolean isClientNameInvalid() { + return StringUtils.isBlank(clientName); } - boolean isApiSecretValid() { - return !(apiSecret == null || apiSecret.trim().isEmpty()); + boolean isPartnerInvalid() { + return StringUtils.isBlank(partner); } - boolean isUserNameValid() { - return !(userName == null || userName.trim().isEmpty()); + boolean isServersInvalid() { + return (servers == null || servers.isEmpty() + || (servers.size() == 1 && ("".equals(servers.get(0))))); } - boolean isPasswordValid() { - return !(password == null || password.trim().isEmpty()); + boolean isTopicInvalid() { + return StringUtils.isBlank(topic); } - boolean isPartnerNullOrEmpty() { - return (partner == null || partner.trim().isEmpty()); + boolean isPartitionIdInvalid() { + return StringUtils.isBlank(partitionId); } - boolean isServersNullOrEmpty() { - return (servers == null || servers.isEmpty() - || (servers.size() == 1 && ("".equals(servers.get(0))))); + public boolean isHostnameInvalid() { + return StringUtils.isBlank(hostname); } - boolean isAdditionalPropsValid() { - return additionalProps != null; + public boolean isPortInvalid() { + return (getPort() <= 0 || getPort() >= 65535); + } + + /** + * Methods to Check if the property is Valid + */ + + boolean isApiKeyValid() { + return StringUtils.isNotBlank(apiKey); } - boolean isTopicNullOrEmpty() { - return (topic == null || topic.trim().isEmpty()); + boolean isApiSecretValid() { + return StringUtils.isNotBlank(apiSecret); } - boolean isPartitionIdNullOrEmpty() { - return (partitionId == null || partitionId.trim().isEmpty()); + boolean isUserNameValid() { + return StringUtils.isNotBlank(userName); } - public boolean isManaged() { - return managed; + boolean isPasswordValid() { + return StringUtils.isNotBlank(password); + } + + boolean isAdditionalPropsValid() { + return additionalProps != null; } public static class TopicParamsBuilder { - - BusTopicParams params = new BusTopicParams(); + + final BusTopicParams params = new BusTopicParams(); private TopicParamsBuilder() { } @@ -322,6 +364,27 @@ public class BusTopicParams { this.params.managed = managed; return this; } + + public TopicParamsBuilder hostname(String hostname) { + this.params.hostname = hostname; + return this; + } + + public TopicParamsBuilder clientName(String clientName) { + this.params.clientName = clientName; + return this; + } + + public TopicParamsBuilder port(int port) { + this.params.port = port; + return this; + } + + public TopicParamsBuilder basePath(String basePath) { + this.params.basePath = basePath; + return this; + } + } } diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/InlineBusTopicSink.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/InlineBusTopicSink.java index 043b8673..6e8c4011 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/InlineBusTopicSink.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/InlineBusTopicSink.java @@ -3,7 +3,7 @@ * policy-endpoints * ================================================================================ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd. + * Modifications Copyright (C) 2018 Samsung Electronics Co., Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -66,7 +66,7 @@ public abstract class InlineBusTopicSink extends BusTopicBase implements BusTopi super(busTopicParams); - if (busTopicParams.isPartitionIdNullOrEmpty()) { + if (busTopicParams.isPartitionIdInvalid()) { this.partitionId = UUID.randomUUID().toString(); } else { this.partitionId = busTopicParams.getPartitionId(); diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/SingleThreadedBusTopicSource.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/SingleThreadedBusTopicSource.java index f9dd4852..0482e860 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/SingleThreadedBusTopicSource.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/internal/SingleThreadedBusTopicSource.java @@ -3,7 +3,7 @@ * policy-endpoints * ================================================================================ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd. + * Modifications Copyright (C) 2018 Samsung Electronics Co., Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -88,13 +88,13 @@ public abstract class SingleThreadedBusTopicSource extends BusTopicBase super(busTopicParams); - if (busTopicParams.isConsumerGroupNullOrEmpty()) { + if (busTopicParams.isConsumerGroupInvalid()) { this.consumerGroup = UUID.randomUUID().toString(); } else { this.consumerGroup = busTopicParams.getConsumerGroup(); } - if (busTopicParams.isConsumerInstanceNullOrEmpty()) { + if (busTopicParams.isConsumerInstanceInvalid()) { this.consumerInstance = NetworkUtil.getHostname(); } else { this.consumerInstance = busTopicParams.getConsumerInstance(); |