X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-tosca%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Ftosca%2Fsimple%2Fconcepts%2FJpaToscaPolicies.java;h=caf999590bbdfb07e0c8efeda3aecc85218a44a6;hb=938005505883cf7a636a8840e20e3dc8a0ad9176;hp=012d8a26ff65040f8125995769d55a2090f14c17;hpb=0ac03692ecd0fbe69660b1246ca0c1fbac53e623;p=policy%2Fmodels.git diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java index 012d8a26f..caf999590 100644 --- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java +++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/concepts/JpaToscaPolicies.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. + * Copyright (C) 2019-2020, 2023 Nordix Foundation. + * Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. 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. @@ -20,22 +21,24 @@ package org.onap.policy.models.tosca.simple.concepts; +import jakarta.persistence.Entity; +import jakarta.persistence.Inheritance; +import jakarta.persistence.InheritanceType; +import jakarta.persistence.Table; +import java.io.Serial; import java.util.List; import java.util.Map; import java.util.TreeMap; - -import javax.persistence.Entity; -import javax.persistence.Inheritance; -import javax.persistence.InheritanceType; -import javax.persistence.Table; - import lombok.Data; import lombok.EqualsAndHashCode; - +import lombok.NonNull; +import lombok.ToString; +import org.onap.policy.common.parameters.BeanValidationResult; import org.onap.policy.models.base.PfAuthorative; import org.onap.policy.models.base.PfConceptContainer; import org.onap.policy.models.base.PfConceptKey; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; +import org.onap.policy.models.tosca.utils.ToscaUtils; /** * This class is a container for TOSCA data types. @@ -46,9 +49,11 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; @Table(name = "ToscaPolicies") @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) @Data +@ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class JpaToscaPolicies extends PfConceptContainer implements PfAuthorative>> { + @Serial private static final long serialVersionUID = -7526648702327776101L; public static final String DEFAULT_NAME = "ToscaPoliciesSimple"; @@ -69,7 +74,7 @@ public class JpaToscaPolicies extends PfConceptContainer()); + super(key, new TreeMap<>()); } /** @@ -97,6 +102,18 @@ public class JpaToscaPolicies extends PfConceptContainer> authorativeConceptMapList) { + super(new PfConceptKey(DEFAULT_NAME, DEFAULT_VERSION)); this.fromAuthorative(authorativeConceptMapList); } + + @Override + public BeanValidationResult validate(@NonNull String fieldName) { + BeanValidationResult result = super.validate(fieldName); + + for (JpaToscaPolicy policy : this.getConceptMap().values()) { + ToscaUtils.getEntityTypeAncestors(this, policy, result); + } + + return result; + } }