aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/CompositionEntityDataManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/CompositionEntityDataManager.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/CompositionEntityDataManager.java257
1 files changed, 0 insertions, 257 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/CompositionEntityDataManager.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/CompositionEntityDataManager.java
deleted file mode 100644
index e3f56a6578..0000000000
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/CompositionEntityDataManager.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 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.
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.vendorsoftwareproduct.services;
-
-import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.sdc.common.errors.CoreException;
-import org.openecomp.sdc.common.errors.ErrorCategory;
-import org.openecomp.sdc.common.errors.ErrorCode;
-import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityValidationData;
-import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
-import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateInput;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * The type Composition entity data manager.
- */
-public class CompositionEntityDataManager {
-
- private static final String COMPOSITION_ENTITY_DATA_MANAGER_ERR =
- "COMPOSITION_ENTITY_DATA_MANAGER_ERR";
- private static final String COMPOSITION_ENTITY_DATA_MANAGER_ERR_MSG =
- "Invalid input: %s may not be null";
-
- private Map<org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId,
- CompositionEntityData> entities = new HashMap<>();
- private Map<org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType,
- String> nonDynamicSchemas = new HashMap<>();
- private List<CompositionEntityValidationData> roots = new ArrayList<>();
-
- /**
- * Validate entity composition entity validation data.
- *
- * @param entity the entity
- * @param schemaTemplateContext the schema template context
- * @param schemaTemplateInput the schema template input
- * @return the composition entity validation data
- */
- public static CompositionEntityValidationData validateEntity(
- org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity entity,
- SchemaTemplateContext schemaTemplateContext,
- SchemaTemplateInput schemaTemplateInput) {
- if (entity == null) {
- throw new CoreException(
- new ErrorCode.ErrorCodeBuilder().withCategory(ErrorCategory.APPLICATION)
- .withId(COMPOSITION_ENTITY_DATA_MANAGER_ERR).withMessage(
- String.format(COMPOSITION_ENTITY_DATA_MANAGER_ERR_MSG, "composition entity"))
- .build());
- }
- if (schemaTemplateContext == null) {
- throw new CoreException(
- new ErrorCode.ErrorCodeBuilder().withCategory(ErrorCategory.APPLICATION)
- .withId(COMPOSITION_ENTITY_DATA_MANAGER_ERR).withMessage(
- String.format(COMPOSITION_ENTITY_DATA_MANAGER_ERR_MSG, "schema template context"))
- .build());
- }
-
- CompositionEntityValidationData validationData =
- new CompositionEntityValidationData(entity.getType(), entity.getId());
- String json =
- schemaTemplateContext == SchemaTemplateContext.composition ? entity.getCompositionData()
- : entity.getQuestionnaireData();
- validationData.setErrors(JsonUtil.validate(
- json == null ? JsonUtil.object2Json(new Object()) : json,
- SchemaGenerator.generate(schemaTemplateContext, entity.getType(), schemaTemplateInput)));
-
- return validationData;
- }
-
- /**
- * Add entity.
- *
- * @param entity the entity
- * @param schemaTemplateInput the schema template input
- */
- public void addEntity(org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity entity,
- SchemaTemplateInput schemaTemplateInput) {
- if (entity == null) {
- throw new CoreException(
- new ErrorCode.ErrorCodeBuilder().withCategory(ErrorCategory.APPLICATION)
- .withId(COMPOSITION_ENTITY_DATA_MANAGER_ERR).withMessage(
- String.format(COMPOSITION_ENTITY_DATA_MANAGER_ERR_MSG, "composition entity"))
- .build());
- }
- entities.put(entity.getCompositionEntityId(),
- new CompositionEntityData(entity, schemaTemplateInput));
- }
-
- /**
- * Validate entities questionnaire map.
- *
- * @return the map
- */
- public Map<org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId,
- Collection<String>> validateEntitiesQuestionnaire() {
- Map<org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId,
- Collection<String>>
- errorsByEntityId = new HashMap<>();
-
- entities.entrySet().stream().forEach(entry -> {
- Collection<String> errors = validateQuestionnaire(entry.getValue());
- if (errors != null) {
- errorsByEntityId.put(entry.getKey(), errors);
- }
- });
-
- return errorsByEntityId;
- }
-
- /**
- * Build trees.
- */
- public void buildTrees() {
- Map<org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId,
- CompositionEntityValidationData>
- entitiesValidationData =
- new HashMap<>();
- entities.entrySet().stream().forEach(
- entry -> addValidationDataEntity(entitiesValidationData, entry.getKey(),
- entry.getValue().entity));
- }
-
- /**
- * Gets trees.
- *
- * @return the trees
- */
- public Collection<CompositionEntityValidationData> getTrees() {
- return roots;
- }
-
- /**
- * Add errors to trees.
- *
- * @param errors the errors
- */
- public void addErrorsToTrees(
- Map<org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId,
- Collection<String>> errors) {
- roots.stream().forEach(root -> addErrorsToTree(root, null, errors));
- }
-
- private void addValidationDataEntity(
- Map<org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId,
- CompositionEntityValidationData> entitiesValidationData,
- org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId entityId,
- org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity entity) {
- if (entitiesValidationData.containsKey(entityId)) {
- return;
- }
-
- CompositionEntityValidationData validationData =
- new CompositionEntityValidationData(entity.getType(), entity.getId());
- entitiesValidationData.put(entityId, validationData);
-
- org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId parentEntityId =
- entityId.getParentId();
- if (parentEntityId == null) {
- roots.add(validationData);
- } else {
- CompositionEntityData parentEntity = entities.get(parentEntityId);
- if (parentEntity == null) {
- roots.add(validationData);
- } else {
- addValidationDataEntity(entitiesValidationData, parentEntityId, parentEntity.entity);
- entitiesValidationData.get(parentEntityId).addSubEntityValidationData(validationData);
- }
- }
- }
-
- private void addErrorsToTree(CompositionEntityValidationData node,
- org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId parentNodeId,
- Map<org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId,
- Collection<String>> errors) {
- if (node == null) {
- return;
- }
- org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId
- nodeId = new org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId(
- node.getEntityId(), parentNodeId);
- node.setErrors(errors.get(nodeId));
-
- if (node.getSubEntitiesValidationData() != null) {
- node.getSubEntitiesValidationData().stream()
- .forEach(subNode -> addErrorsToTree(subNode, nodeId, errors));
- }
- }
-
- private Collection<String> validateQuestionnaire(CompositionEntityData compositionEntityData) {
- return JsonUtil.validate(
- compositionEntityData.entity.getQuestionnaireData() == null ? JsonUtil
- .object2Json(new Object()) : compositionEntityData.entity.getQuestionnaireData(),
- getSchema(compositionEntityData.entity.getType(), SchemaTemplateContext.questionnaire,
- compositionEntityData.schemaTemplateInput));
- }
-
- private String getSchema(
- org.openecomp.sdc.vendorsoftwareproduct.types
- .composition.CompositionEntityType compositionEntityType,
- SchemaTemplateContext schemaTemplateContext,
- SchemaTemplateInput schemaTemplateInput) {
- return schemaTemplateInput == null ? getNonDynamicSchema(schemaTemplateContext,
- compositionEntityType) : SchemaGenerator
- .generate(schemaTemplateContext, compositionEntityType, schemaTemplateInput);
- }
-
- private String getNonDynamicSchema(SchemaTemplateContext schemaTemplateContext,
- org.openecomp.sdc.vendorsoftwareproduct.types.composition
- .CompositionEntityType compositionEntityType) {
- String schema = nonDynamicSchemas.get(compositionEntityType);
- if (schema == null) {
- schema = SchemaGenerator.generate(schemaTemplateContext, compositionEntityType, null);
- nonDynamicSchemas.put(compositionEntityType, schema);
- }
- return schema;
- }
-
- private static class CompositionEntityData {
- private org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity entity;
- private SchemaTemplateInput schemaTemplateInput;
-
- /**
- * Instantiates a new Composition entity data.
- *
- * @param entity the entity
- * @param schemaTemplateInput the schema template input
- */
- public CompositionEntityData(
- org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity entity,
- SchemaTemplateInput schemaTemplateInput) {
- this.entity = entity;
- this.schemaTemplateInput = schemaTemplateInput;
- }
- }
-}