/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
+ * Copyright (C) 2019-2020 Nordix Foundation.
* Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
import lombok.Data;
import lombok.EqualsAndHashCode;
+import lombok.NonNull;
import lombok.ToString;
+
import org.onap.policy.models.base.PfConceptContainer;
import org.onap.policy.models.base.PfConceptKey;
+import org.onap.policy.models.base.PfValidationResult;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
+import org.onap.policy.models.tosca.utils.ToscaUtils;
/**
* This class is a container for TOSCA policy types.
* @param authorativeConceptMapList the authorative concept to copy from
*/
public JpaToscaPolicyTypes(final List<Map<String, ToscaPolicyType>> authorativeConceptMapList) {
+ super(new PfConceptKey(DEFAULT_NAME, DEFAULT_VERSION));
this.fromAuthorative(authorativeConceptMapList);
}
+
+ @Override
+ public PfValidationResult validate(@NonNull final PfValidationResult resultIn) {
+ PfValidationResult result = super.validate(resultIn);
+
+ // Check that all ancestors of this policy type exist
+ for (JpaToscaPolicyType policyType : this.getConceptMap().values()) {
+ ToscaUtils.getEntityTypeAncestors(this, policyType, result);
+ }
+
+ return result;
+ }
}