summaryrefslogtreecommitdiffstats
path: root/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/TcaAppProperties.java
diff options
context:
space:
mode:
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.java112
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