diff options
author | Suresh Charan <suresh.charan@bell.ca> | 2023-03-29 09:45:13 -0400 |
---|---|---|
committer | Suresh Charan <suresh.charan@bell.ca> | 2023-08-09 06:50:16 -0400 |
commit | d19537308cbdce440c1faf819eb586983d0a67c9 (patch) | |
tree | d7c070273f5f07fcae4152b41181a787c39a790e /models-pdp/src/main | |
parent | f78237c84420aa8db35ae70d8c9d177307471474 (diff) |
Removed db-based statistics feature
Statistics code cleanup
Issue-ID: POLICY-4109
Change-Id: I4b94d8c0c9b0ff68569c5861f8797920efe67b17
Signed-off-by: Suresh Charan <suresh.charan@bell.ca>
Diffstat (limited to 'models-pdp/src/main')
4 files changed, 2 insertions, 406 deletions
diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatistics.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatistics.java deleted file mode 100644 index 13b3bdc33..000000000 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatistics.java +++ /dev/null @@ -1,79 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019-2021 Nordix Foundation. - * Modifications Copyright (C) 2019 AT&T Intellectual Property. - * ================================================================================ - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.models.pdp.concepts; - - -import java.time.Instant; -import java.util.List; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.NonNull; -import org.onap.policy.models.base.PfUtils; - -/** - * Class to represent statistics of a running PDP. - * - * @author Ram Krishna Verma (ram.krishna.verma@est.tech) - */ -@Data -@NoArgsConstructor -public class PdpStatistics { - - private String pdpInstanceId; - private Instant timeStamp; - private Long generatedId; - private String pdpGroupName; - private String pdpSubGroupName; - private long policyExecutedCount; - private long policyExecutedSuccessCount; - private long policyExecutedFailCount; - private long policyDeployCount; - private long policyDeploySuccessCount; - private long policyDeployFailCount; - private long policyUndeployCount; - private long policyUndeploySuccessCount; - private long policyUndeployFailCount; - private List<PdpEngineWorkerStatistics> engineStats; - - /** - * Constructs the object, making a deep copy. - * - * @param source source from which to copy - */ - public PdpStatistics(@NonNull PdpStatistics source) { - this.pdpInstanceId = source.pdpInstanceId; - this.timeStamp = source.timeStamp; - this.generatedId = source.generatedId; - this.pdpGroupName = source.pdpGroupName; - this.pdpSubGroupName = source.pdpSubGroupName; - this.policyExecutedCount = source.policyExecutedCount; - this.policyExecutedFailCount = source.policyExecutedFailCount; - this.policyExecutedSuccessCount = source.policyExecutedSuccessCount; - this.policyDeployCount = source.policyDeployCount; - this.policyDeployFailCount = source.policyDeployFailCount; - this.policyDeploySuccessCount = source.policyDeploySuccessCount; - this.policyUndeployCount = source.policyUndeployCount; - this.policyUndeployFailCount = source.policyUndeployFailCount; - this.policyUndeploySuccessCount = source.policyUndeploySuccessCount; - this.engineStats = PfUtils.mapList(source.engineStats, PdpEngineWorkerStatistics::new, null); - } -} diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java index 3d85f4bc4..c51c1b277 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2019-2021 Nordix Foundation. * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property. + * Modifications Copyright (C) 2023 Bell Canada. 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. @@ -56,7 +57,6 @@ public class PdpStatus extends PdpMessage { private List<ToscaConceptIdentifier> policies; private String deploymentInstanceInfo; private String properties; - private PdpStatistics statistics; private PdpResponseDetails response; /** @@ -82,7 +82,6 @@ public class PdpStatus extends PdpMessage { this.policies = PfUtils.mapList(source.policies, ToscaConceptIdentifier::new, new ArrayList<>(0)); this.deploymentInstanceInfo = source.deploymentInstanceInfo; this.properties = source.properties; - this.statistics = (source.statistics == null ? null : new PdpStatistics(source.statistics)); this.response = (source.response == null ? null : new PdpResponseDetails(source.response)); } } diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpStatistics.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpStatistics.java deleted file mode 100644 index 57a8ec97e..000000000 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpStatistics.java +++ /dev/null @@ -1,296 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP Policy Model - * ================================================================================ - * Copyright (C) 2019-2021,2023 Nordix Foundation. - * Modifications Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright (C) 2022 Bell Canada. 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. - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.models.pdp.persistence.concepts; - -import java.io.Serializable; -import java.time.Instant; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import javax.persistence.Column; -import javax.persistence.ElementCollection; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Index; -import javax.persistence.Inheritance; -import javax.persistence.InheritanceType; -import javax.persistence.Table; -import javax.persistence.TableGenerator; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NonNull; -import org.apache.commons.lang3.builder.CompareToBuilder; -import org.onap.policy.common.parameters.BeanValidationResult; -import org.onap.policy.common.parameters.ValidationStatus; -import org.onap.policy.common.parameters.annotations.Pattern; -import org.onap.policy.models.base.PfAuthorative; -import org.onap.policy.models.base.PfConcept; -import org.onap.policy.models.base.PfConceptKey; -import org.onap.policy.models.base.PfKey; -import org.onap.policy.models.base.PfUtils; -import org.onap.policy.models.base.Validated; -import org.onap.policy.models.pdp.concepts.PdpEngineWorkerStatistics; -import org.onap.policy.models.pdp.concepts.PdpStatistics; - -/** - * Class to represent a PDP statistics in the database. - * - */ -@Entity -@Table( - name = "PdpStatistics", - indexes = { - @Index( - name = "IDXTSIDX1", - columnList = "timeStamp,name,version", - unique = true - ) - } -) -@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) -@Data -@AllArgsConstructor -@EqualsAndHashCode(callSuper = false) -public class JpaPdpStatistics extends PfConcept implements PfAuthorative<PdpStatistics>, Serializable { - private static final long serialVersionUID = -7312974966820980659L; - - @Id - @Column(name = "ID") - @GeneratedValue(strategy = GenerationType.TABLE, generator = "statisticsIdGen") - @TableGenerator( - name = "statisticsIdGen", - table = "statistics_sequence", - pkColumnName = "SEQ_NAME", - valueColumnName = "SEQ_COUNT", - pkColumnValue = "SEQ_GEN") - private Long generatedId; - - @Column(name = "name", length = 120) - @Pattern(regexp = PfKey.NAME_REGEXP) - private String name; - - @Column(name = "version", length = 20) - @Pattern(regexp = PfKey.VERSION_REGEXP) - private String version; - - @Column(precision = 3) - @Temporal(TemporalType.TIMESTAMP) - private Date timeStamp; - - @Column(length = 120) - private String pdpGroupName; - - @Column(length = 120) - private String pdpSubGroupName; - - @Column - private long policyDeployCount; - - @Column - private long policyDeploySuccessCount; - - @Column - private long policyDeployFailCount; - - @Column - private long policyExecutedCount; - - @Column - private long policyExecutedSuccessCount; - - @Column - private long policyExecutedFailCount; - - @Column - private long policyUndeployCount; - - @Column - private long policyUndeploySuccessCount; - - @Column - private long policyUndeployFailCount; - - @ElementCollection - private List<PdpEngineWorkerStatistics> engineStats; - - /** - * The Default Constructor creates a {@link JpaPdpStatistics} object with a null key. - */ - public JpaPdpStatistics() { - this.setName(PfKey.NULL_KEY_NAME); - this.setVersion(PfKey.NULL_KEY_VERSION); - } - - /** - * Copy constructor. - * - * @param copyConcept the concept to copy from - */ - public JpaPdpStatistics(@NonNull final JpaPdpStatistics copyConcept) { - super(copyConcept); - this.name = copyConcept.name; - this.version = copyConcept.version; - this.generatedId = copyConcept.generatedId; - this.timeStamp = copyConcept.timeStamp; - this.pdpGroupName = copyConcept.pdpGroupName; - this.pdpSubGroupName = copyConcept.pdpSubGroupName; - this.policyDeployCount = copyConcept.policyDeployCount; - this.policyDeploySuccessCount = copyConcept.policyDeploySuccessCount; - this.policyDeployFailCount = copyConcept.policyDeployFailCount; - this.policyUndeployCount = copyConcept.policyUndeployCount; - this.policyUndeploySuccessCount = copyConcept.policyUndeploySuccessCount; - this.policyUndeployFailCount = copyConcept.policyUndeployFailCount; - this.policyExecutedCount = copyConcept.policyExecutedCount; - this.policyExecutedSuccessCount = copyConcept.policyExecutedSuccessCount; - this.policyExecutedFailCount = copyConcept.policyExecutedFailCount; - this.engineStats = PfUtils.mapList(copyConcept.engineStats, PdpEngineWorkerStatistics::new, null); - } - - /** - * Authorative constructor. - * - * @param authorativeConcept the authorative concept to copy from - */ - public JpaPdpStatistics(@NonNull final PdpStatistics authorativeConcept) { - this.fromAuthorative(authorativeConcept); - } - - @Override - public int compareTo(PfConcept otherConcept) { - if (otherConcept == null) { - return -1; - } - if (this == otherConcept) { - return 0; - } - if (getClass() != otherConcept.getClass()) { - return getClass().getName().compareTo(otherConcept.getClass().getName()); - } - - final JpaPdpStatistics other = (JpaPdpStatistics) otherConcept; - return new CompareToBuilder() - .append(this.name, other.name) - .append(this.version, other.version) - .append(this.generatedId, other.generatedId) - .append(this.timeStamp, other.timeStamp) - .append(this.pdpGroupName, other.pdpGroupName) - .append(this.pdpSubGroupName, other.pdpSubGroupName) - .append(this.policyDeployCount, other.policyDeployCount) - .append(this.policyDeployFailCount, other.policyDeployFailCount) - .append(this.policyDeploySuccessCount, other.policyDeploySuccessCount) - .append(this.policyUndeployCount, other.policyUndeployCount) - .append(this.policyUndeployFailCount, other.policyUndeployFailCount) - .append(this.policyUndeploySuccessCount, other.policyUndeploySuccessCount) - .append(this.policyExecutedCount, other.policyExecutedCount) - .append(this.policyExecutedFailCount, other.policyExecutedFailCount) - .append(this.policyExecutedSuccessCount, other.policyExecutedSuccessCount).toComparison(); - } - - @Override - public PdpStatistics toAuthorative() { - var pdpStatistics = new PdpStatistics(); - pdpStatistics.setPdpInstanceId(name); - pdpStatistics.setGeneratedId(generatedId); - pdpStatistics.setTimeStamp(timeStamp.toInstant()); - pdpStatistics.setPdpGroupName(pdpGroupName); - pdpStatistics.setPdpSubGroupName(pdpSubGroupName); - pdpStatistics.setPolicyDeployCount(policyDeployCount); - pdpStatistics.setPolicyDeployFailCount(policyDeployFailCount); - pdpStatistics.setPolicyDeploySuccessCount(policyDeploySuccessCount); - pdpStatistics.setPolicyUndeployCount(policyUndeployCount); - pdpStatistics.setPolicyUndeployFailCount(policyUndeployFailCount); - pdpStatistics.setPolicyUndeploySuccessCount(policyUndeploySuccessCount); - pdpStatistics.setPolicyExecutedCount(policyExecutedCount); - pdpStatistics.setPolicyExecutedFailCount(policyExecutedFailCount); - pdpStatistics.setPolicyExecutedSuccessCount(policyExecutedSuccessCount); - pdpStatistics.setEngineStats(PfUtils.mapList(engineStats, PdpEngineWorkerStatistics::new, null)); - - return pdpStatistics; - } - - @Override - public void fromAuthorative(@NonNull final PdpStatistics pdpStatistics) { - if (pdpStatistics.getGeneratedId() != null) { - this.setGeneratedId(pdpStatistics.getGeneratedId()); - } - this.setName(pdpStatistics.getPdpInstanceId()); - this.setVersion(PfKey.NULL_KEY_VERSION); - if (pdpStatistics.getTimeStamp() == null) { - this.setTimeStamp(Date.from(Instant.EPOCH)); - } else { - this.setTimeStamp(Date.from(pdpStatistics.getTimeStamp())); - } - this.setPdpGroupName(pdpStatistics.getPdpGroupName()); - this.setPdpSubGroupName(pdpStatistics.getPdpSubGroupName()); - this.setPolicyDeployCount(pdpStatistics.getPolicyDeployCount()); - this.setPolicyDeployFailCount(pdpStatistics.getPolicyDeployFailCount()); - this.setPolicyDeploySuccessCount(pdpStatistics.getPolicyDeploySuccessCount()); - this.setPolicyUndeployCount(pdpStatistics.getPolicyUndeployCount()); - this.setPolicyUndeployFailCount(pdpStatistics.getPolicyUndeployFailCount()); - this.setPolicyUndeploySuccessCount(pdpStatistics.getPolicyUndeploySuccessCount()); - this.setPolicyExecutedCount(pdpStatistics.getPolicyExecutedCount()); - this.setPolicyExecutedFailCount(pdpStatistics.getPolicyExecutedFailCount()); - this.setPolicyExecutedSuccessCount(pdpStatistics.getPolicyExecutedSuccessCount()); - this.setEngineStats( - PfUtils.mapList(pdpStatistics.getEngineStats(), PdpEngineWorkerStatistics::new, null)); - } - - @Override - public List<PfKey> getKeys() { - final List<PfKey> keyList = new ArrayList<>(); - keyList.add(getKey()); - return keyList; - } - - @Override - public PfKey getKey() { - return new PfConceptKey(name, version); - } - - @Override - public void clean() { - pdpGroupName = pdpGroupName.trim(); - pdpSubGroupName = pdpSubGroupName.trim(); - if (engineStats != null) { - for (PdpEngineWorkerStatistics engineStat : engineStats) { - engineStat.clean(); - } - } - } - - @Override - public BeanValidationResult validate(@NonNull String fieldName) { - BeanValidationResult result = super.validate(fieldName); - if (PfKey.NULL_KEY_NAME.equals(name)) { - result.addResult("name", name, ValidationStatus.INVALID, Validated.IS_NULL); - } - return result; - } -} diff --git a/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java b/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java index 681e39e71..0cc0eb267 100644 --- a/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java +++ b/models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2023 Bell Canada. 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. @@ -41,7 +42,6 @@ import org.onap.policy.models.pdp.concepts.Pdp; import org.onap.policy.models.pdp.concepts.PdpGroup; import org.onap.policy.models.pdp.concepts.PdpGroupFilter; import org.onap.policy.models.pdp.concepts.PdpPolicyStatus; -import org.onap.policy.models.pdp.concepts.PdpStatistics; import org.onap.policy.models.pdp.concepts.PdpSubGroup; import org.onap.policy.models.pdp.persistence.concepts.JpaPdp; import org.onap.policy.models.pdp.persistence.concepts.JpaPdpGroup; @@ -228,34 +228,6 @@ public class PdpProvider { } /** - * Get PDP statistics. - * - * @param dao the DAO to use to access the database - * @param name the name of the PDP group to get statistics for, null to get all PDP groups - * @return the statistics found - * @throws PfModelException on errors getting statistics - */ - public List<PdpStatistics> getPdpStatistics(@NonNull final PfDao dao, final String name) throws PfModelException { - return new ArrayList<>(); - } - - /** - * Update PDP statistics for a PDP. - * - * @param dao the DAO to use to access the database - * @param pdpGroupName the name of the PDP group containing the PDP that the statistics are for - * @param pdpType the PDP type of the subgroup containing the PDP that the statistics are for - * @param pdpInstanceId the instance ID of the PDP to update statistics for - * @param pdpStatistics the statistics to update - * @throws PfModelException on errors updating statistics - */ - public void updatePdpStatistics(@NonNull final PfDao dao, @NonNull final String pdpGroupName, - @NonNull final String pdpType, @NonNull final String pdpInstanceId, - @NonNull final PdpStatistics pdpStatistics) throws PfModelException { - // Not implemented yet - } - - /** * Gets all policy deployments. * * @param dao the DAO to use to access the database |