summaryrefslogtreecommitdiffstats
path: root/models-pdp/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'models-pdp/src/main')
-rw-r--r--models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatistics.java79
-rw-r--r--models-pdp/src/main/java/org/onap/policy/models/pdp/concepts/PdpStatus.java3
-rw-r--r--models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/concepts/JpaPdpStatistics.java296
-rw-r--r--models-pdp/src/main/java/org/onap/policy/models/pdp/persistence/provider/PdpProvider.java30
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