diff options
Diffstat (limited to 'dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/TcaAppProperties.java')
-rw-r--r-- | dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/TcaAppProperties.java | 112 |
1 files changed, 87 insertions, 25 deletions
diff --git a/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/TcaAppProperties.java b/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/TcaAppProperties.java index 9ee625a..63fd2f6 100644 --- a/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/TcaAppProperties.java +++ b/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/TcaAppProperties.java @@ -1,6 +1,6 @@ /* * ================================================================================ - * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2019-2020 China Mobile. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,55 +19,49 @@ package org.onap.dcae.analytics.tca.web; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Stream; +import org.onap.dcae.analytics.model.AnalyticsProfile; import org.onap.dcae.analytics.model.TcaModelConstants; import org.onap.dcae.analytics.model.configbindingservice.BaseConfigBindingServiceProperties; import org.onap.dcae.analytics.model.configbindingservice.ConfigBindingServiceConstants; -import org.onap.dcae.analytics.model.configbindingservice.ConfigBindingServiceModel; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.validation.annotation.Validated; +import org.springframework.core.env.Environment; + +import lombok.Data; +import lombok.ToString; /** - * @author Rajiv Singla + * @author Kai Lu */ -@Data -@EqualsAndHashCode(callSuper = true) -@ConfigurationProperties(ConfigBindingServiceConstants.CONFIG_BINDING_SERVICE_PROPERTIES_KEY) -@Validated -public class TcaAppProperties extends BaseConfigBindingServiceProperties { - private static final long serialVersionUID = 1L; +public class TcaAppProperties extends BaseConfigBindingServiceProperties { - private Tca tca; + private final Environment environment; + public TcaAppProperties(final Environment environment) { + this.environment = environment; + } /** * TCA Application properties */ @Data - public static class Tca implements ConfigBindingServiceModel { - - private static final long serialVersionUID = 1L; - + public static class Tca { private String policy; private Integer processingBatchSize = TcaModelConstants.DEFAULT_TCA_PROCESSING_BATCH_SIZE; private Boolean enableAbatement = TcaModelConstants.DEFAULT_ABATEMENT_ENABLED; private Boolean enableEcompLogging = TcaModelConstants.DEFAULT_ECOMP_LOGGING_ENABLED; private Aai aai = new Aai(); - } - /** * A&AI properties */ @Data @ToString(exclude = "password") - public static class Aai implements ConfigBindingServiceModel { - - private static final long serialVersionUID = 1L; + public static class Aai { private Boolean enableEnrichment = TcaModelConstants.DEFAULT_AAI_ENRICHMENT_ENABLED; private String url; @@ -82,5 +76,73 @@ public class TcaAppProperties extends BaseConfigBindingServiceProperties { } + public Tca getTca() { + Tca tca = new Tca(); + tca.setPolicy(environment.getProperty(ConfigBindingServiceConstants.POLICY)); + tca.setProcessingBatchSize(environment.getProperty(ConfigBindingServiceConstants.PROCESSINGBATCHSIZE, Integer.class)); + tca.setEnableAbatement(environment.getProperty(ConfigBindingServiceConstants.ENABLEABATEMENT, Boolean.class)); + tca.setEnableEcompLogging(environment.getProperty(ConfigBindingServiceConstants.EnableEcompLogging, Boolean.class)); + + Aai aai = tca.getAai(); + aai.setEnableEnrichment(environment.getProperty(ConfigBindingServiceConstants.EnableEnrichment, Boolean.class)); + aai.setUrl(environment.getProperty(ConfigBindingServiceConstants.AAIURL)); + aai.setUsername(environment.getProperty(ConfigBindingServiceConstants.AAIUSERNAME)); + aai.setPassword(environment.getProperty(ConfigBindingServiceConstants.AAIPASSWORD)); + aai.setGenericVnfPath(ConfigBindingServiceConstants.AAIGENERICVNFPATH); + aai.setNodeQueryPath(environment.getProperty(ConfigBindingServiceConstants.AAINODEQUERYPATH)); + tca.setAai(aai); + + return tca; + } + + @Override + public Map<String, PublisherDetails> getStreamsPublishes() { + DmaapInfo dmaapInfo = new DmaapInfo(); + dmaapInfo.setTopicUrl(environment.getProperty(ConfigBindingServiceConstants.PUBTOPICURL)); + + PublisherDetails detail = new PublisherDetails(); + detail.setType(environment.getProperty(ConfigBindingServiceConstants.PUBTYPE)); + detail.setDmaapInfo(dmaapInfo); + streamsPublishes.put(ConfigBindingServiceConstants.PUBKEY, detail); + return streamsPublishes; + } + + @Override + public Map<String, SubscriberDetails> getStreamsSubscribes() { + DmaapInfo dmaapInfo = new DmaapInfo(); + dmaapInfo.setTopicUrl(environment.getProperty(ConfigBindingServiceConstants.SUBTOPICURL)); + + AutoAdjusting autoAdjust = new AutoAdjusting(); + autoAdjust.setStepUp(environment.getProperty(ConfigBindingServiceConstants.SUBAUTOADJUSTINGSTEPUP, Integer.class)); + autoAdjust.setStepDown(environment.getProperty(ConfigBindingServiceConstants.SUBAUTOADJUSTINGSTEPDOWN, Integer.class)); + autoAdjust.setMax(environment.getProperty(ConfigBindingServiceConstants.SUBAUTOADJUSTINGMAX, Integer.class)); + autoAdjust.setMin(environment.getProperty(ConfigBindingServiceConstants.SUBAUTOADJUSTINGMIN, Integer.class)); + + Polling poll = new Polling(); + poll.setAutoAdjusting(autoAdjust); + poll.setFixedRate(environment.getProperty(ConfigBindingServiceConstants.SUBFIXEDRATE, Integer.class)); + + SubscriberDetails detail = new SubscriberDetails(); + detail.setType(environment.getProperty(ConfigBindingServiceConstants.SUBTYPE)); + detail.setDmaapInfo(dmaapInfo); + detail.setPolling(poll); + + detail.setConsumerGroup(environment.getProperty(ConfigBindingServiceConstants.SUBCONSUMERGROUP)); + detail.setMessageLimit(environment.getProperty(ConfigBindingServiceConstants.SUBMESSAGELIMIT, Integer.class)); + detail.setTimeout(environment.getProperty(ConfigBindingServiceConstants.SUBTIMEOUT, Integer.class)); + List<String> consumerIds = new ArrayList<>(); + consumerIds.add(environment.getProperty(ConfigBindingServiceConstants.SUBCONSUMERIDS0)); + consumerIds.add(environment.getProperty(ConfigBindingServiceConstants.SUBCONSUMERIDS1)); + detail.setConsumerIds(consumerIds); + + streamsSubscribes.put(ConfigBindingServiceConstants.SUBKEY, detail); + return streamsSubscribes; + } -} + public boolean isConfigBindingServiceProfileActive() { + return Stream.of(environment.getActiveProfiles()) + .anyMatch(profile -> + profile.equalsIgnoreCase(AnalyticsProfile.CONFIG_BINDING_SERVICE_PROFILE_NAME)); + + } +}
\ No newline at end of file |