summaryrefslogtreecommitdiffstats
path: root/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/domain/TcaPolicyWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/domain/TcaPolicyWrapper.java')
-rw-r--r--dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/domain/TcaPolicyWrapper.java84
1 files changed, 51 insertions, 33 deletions
diff --git a/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/domain/TcaPolicyWrapper.java b/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/domain/TcaPolicyWrapper.java
index e85932a..c54d27c 100644
--- a/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/domain/TcaPolicyWrapper.java
+++ b/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/domain/TcaPolicyWrapper.java
@@ -21,78 +21,96 @@ package org.onap.dcae.analytics.tca.web.domain;
import static org.onap.dcae.analytics.tca.model.util.json.TcaModelJsonConversion.TCA_POLICY_JSON_FUNCTION;
-import lombok.Getter;
-import lombok.ToString;
-
import java.time.ZonedDateTime;
import java.util.concurrent.atomic.AtomicInteger;
import org.onap.dcae.analytics.model.common.ConfigSource;
import org.onap.dcae.analytics.tca.model.policy.TcaPolicy;
import org.onap.dcae.analytics.tca.model.policy.TcaPolicyModel;
-import org.onap.dcae.analytics.tca.web.validation.TcaPolicyValidator;
+import org.onap.dcae.analytics.tca.web.TcaAppProperties;
import org.onap.dcae.analytics.web.exception.AnalyticsParsingException;
-import org.onap.dcae.analytics.web.util.ValidationUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author Rajiv Singla
*/
-@Getter
-@ToString
public class TcaPolicyWrapper implements TcaPolicyModel {
- private static final long serialVersionUID = 1L;
-
private static final Logger logger = LoggerFactory.getLogger(TcaPolicyWrapper.class);
private final ZonedDateTime creationTime;
private ZonedDateTime updateDateTime;
- private TcaPolicy tcaPolicy;
+ private String tcaPolicy;
private ConfigSource configSource;
private AtomicInteger policyUpdateSequence;
private String policyVersion;
- public TcaPolicyWrapper(final String tcaPolicyString, final ConfigSource configSource) {
- createOrUpdatePolicy(getTcaPolicy(tcaPolicyString), configSource);
- this.creationTime = ZonedDateTime.now();
- }
+ private final TcaAppProperties tcaAppProperties;
- public void setTcaPolicy(final String tcaPolicyString, final ConfigSource configSource) {
- createOrUpdatePolicy(getTcaPolicy(tcaPolicyString), configSource);
- }
-
- public void setTcaPolicy(final TcaPolicy tcaPolicy, final ConfigSource configSource) {
- createOrUpdatePolicy(tcaPolicy, configSource);
+ public TcaPolicyWrapper(final TcaAppProperties tcaAppProperties) {
+ this.tcaAppProperties = tcaAppProperties;
+ this.creationTime = ZonedDateTime.now();
+ this.tcaPolicy = tcaAppProperties.getTca().getPolicy();
+ policyUpdateSequence = new AtomicInteger(0);
+ this.updateDateTime = ZonedDateTime.now();
+ this.policyVersion = getPolicyVersion(new AtomicInteger(0));
}
- private void createOrUpdatePolicy(final TcaPolicy tcaPolicy, final ConfigSource configSource) {
- ValidationUtils.validate(tcaPolicy, new TcaPolicyValidator());
- this.tcaPolicy = tcaPolicy;
- this.configSource = configSource;
- this.updateDateTime = ZonedDateTime.now();
- if (policyUpdateSequence == null) {
- policyUpdateSequence = new AtomicInteger(0);
+ public TcaPolicy getTcaPolicy() {
+ String tcaPolicyString = tcaAppProperties.getTca().getPolicy();
+ boolean isConfigBindingServiceProfileActive = tcaAppProperties.isConfigBindingServiceProfileActive();
+ if (isConfigBindingServiceProfileActive) {
+ this.configSource = ConfigSource.CONFIG_BINDING_SERVICE;
} else {
+ this.configSource = ConfigSource.CLASSPATH;
+ }
+
+ if (!tcaPolicyString.equals(tcaPolicy)) {
+ this.tcaPolicy = tcaPolicyString;
+ this.updateDateTime = ZonedDateTime.now();
policyUpdateSequence.getAndUpdate(sequence -> sequence + 1);
+ this.policyVersion = getPolicyVersion(policyUpdateSequence);
+ logger.info("Updated Tca Policy Wrapper with policy: {}, from Source: {}, policy Version: {}",
+ tcaPolicy, configSource.name(), policyVersion);
}
- this.policyVersion = getPolicyVersion(policyUpdateSequence);
- final String configSourceName = configSource.name();
- logger.info("Updated Tca Policy Wrapper with policy: {}, from Source: {}, policy Version: {}",
- tcaPolicy, configSourceName, policyVersion);
+
+ return convertTcaPolicy(tcaPolicyString);
}
+ public void setTcaPolicy(TcaPolicy tcaPolicy, ConfigSource configSource) {
+ this.tcaPolicy = tcaPolicy.toString();
+ this.configSource = configSource;
+ }
- private TcaPolicy getTcaPolicy(final String tcaPolicyString) {
+ public TcaPolicy convertTcaPolicy(String tcaPolicyString) {
return TCA_POLICY_JSON_FUNCTION.apply(tcaPolicyString).orElseThrow(
() -> new AnalyticsParsingException("Unable to parse Tca Policy String: " + tcaPolicyString,
new IllegalArgumentException()));
}
-
private static String getPolicyVersion(final AtomicInteger policyUpdateSequence) {
return "version-" + policyUpdateSequence.intValue();
}
+ public ZonedDateTime getCreationTime() {
+ return creationTime;
+ }
+
+ public ZonedDateTime getUpdateDateTime() {
+ return updateDateTime;
+ }
+
+ public ConfigSource getConfigSource() {
+ return configSource;
+ }
+
+ public AtomicInteger getPolicyUpdateSequence() {
+ return policyUpdateSequence;
+ }
+
+ public String getPolicyVersion() {
+ return policyVersion;
+ }
+
}