summaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/CompositionEntityDataManager.java76
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/CompositionEntityDataManagerFactory.java32
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java2
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java4
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/CompositionEntityDataManagerFactoryImpl.java47
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/CompositionEntityDataManagerImpl.java636
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerFactoryImpl.java2
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java5
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java2
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java3
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerFactoryImpl.java2
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java4
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerFactoryImpl.java2
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImpl.java5
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerFactoryImpl.java2
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java3
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java5
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationUtil.java4
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/factoryConfiguration.json1
19 files changed, 808 insertions, 29 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/CompositionEntityDataManager.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/CompositionEntityDataManager.java
new file mode 100644
index 0000000000..c4cb95808a
--- /dev/null
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/CompositionEntityDataManager.java
@@ -0,0 +1,76 @@
+/*-
+ * ============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;
+
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Component;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateInput;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+public interface CompositionEntityDataManager {
+
+ Map<CompositionEntityId, Collection<String>> validateEntitiesQuestionnaire();
+
+ void addEntity(CompositionEntity entity, SchemaTemplateInput schemaTemplateInput);
+
+ CompositionEntityValidationData validateEntity(CompositionEntity entity,
+ SchemaTemplateContext schemaTemplateContext,
+ SchemaTemplateInput schemaTemplateInput);
+
+ void buildTrees();
+
+ void addErrorsToTrees(Map<CompositionEntityId, Collection<String>> errors);
+
+ Set<CompositionEntityValidationData> getEntityListWithErrors();
+
+ Collection<CompositionEntityValidationData> getTrees();
+
+ void saveCompositionData(String vspId, Version version, CompositionData compositionData);
+
+ Set<CompositionEntityValidationData> getAllErrorsByVsp(String vspId);
+
+ ComponentEntity createComponent(ComponentEntity component);
+
+ NicEntity createNic(NicEntity nic);
+
+ DeploymentFlavorEntity createDeploymentFlavor(DeploymentFlavorEntity deploymentFlavor);
+
+ ImageEntity createImage(ImageEntity image);
+
+ void saveComputesFlavorByComponent(String vspId, Version version, Component component,
+ String componentId);
+
+ void saveImagesByComponent(String vspId, Version version, Component component,
+ String componentId);
+
+}
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/CompositionEntityDataManagerFactory.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/CompositionEntityDataManagerFactory.java
new file mode 100644
index 0000000000..b8e2fd7b0c
--- /dev/null
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/CompositionEntityDataManagerFactory.java
@@ -0,0 +1,32 @@
+/*-
+ * ============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;
+
+import org.openecomp.core.factory.api.AbstractComponentFactory;
+import org.openecomp.core.factory.api.AbstractFactory;
+
+public abstract class CompositionEntityDataManagerFactory extends
+ AbstractComponentFactory<CompositionEntityDataManager> {
+
+ public static CompositionEntityDataManagerFactory getInstance() {
+ return AbstractFactory.getInstance(CompositionEntityDataManagerFactory.class);
+ }
+}
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java
index dac68b5c47..b1d9063966 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java
@@ -25,7 +25,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.NicManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
public class ComponentManagerFactoryImpl extends ComponentManagerFactory {
private static final ComponentManager INSTANCE =
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java
index f509658b37..16f40d64e0 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java
@@ -38,7 +38,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.errors.CompositionEditNotAllowedErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse;
@@ -64,8 +64,6 @@ public class ComponentManagerImpl implements ComponentManager {
private final CompositionEntityDataManager compositionEntityDataManager;
private final NicManager nicManager;
private final VendorSoftwareProductInfoDao vspInfoDao;
- private static final String VSP_ID = "VSP id";
- private static final String VSP_ID_COMPONENT_ID = "VSP id, component id";
public ComponentManagerImpl(ComponentDao componentDao,
CompositionEntityDataManager compositionEntityDataManager,
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/CompositionEntityDataManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/CompositionEntityDataManagerFactoryImpl.java
new file mode 100644
index 0000000000..cf38fe12f6
--- /dev/null
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/CompositionEntityDataManagerFactoryImpl.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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.impl;
+
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
+
+public class CompositionEntityDataManagerFactoryImpl extends CompositionEntityDataManagerFactory {
+
+ @Override
+ public CompositionEntityDataManager createInterface() {
+ // this class is stateful! it must be recreated from scratch on every use!!!
+ return new CompositionEntityDataManagerImpl(
+ VendorSoftwareProductInfoDaoFactory.getInstance().createInterface(),
+ ComponentDaoFactory.getInstance().createInterface(),
+ NicDaoFactory.getInstance().createInterface(),
+ NetworkDaoFactory.getInstance().createInterface(),
+ ImageDaoFactory.getInstance().createInterface(),
+ ComputeDaoFactory.getInstance().createInterface(),
+ DeploymentFlavorDaoFactory.getInstance().createInterface());
+ }
+}
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/CompositionEntityDataManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/CompositionEntityDataManagerImpl.java
new file mode 100644
index 0000000000..a00bd8e967
--- /dev/null
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/CompositionEntityDataManagerImpl.java
@@ -0,0 +1,636 @@
+/*-
+ * ============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.impl;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
+import org.openecomp.core.utilities.CommonMethods;
+import org.openecomp.core.utilities.json.JsonSchemaDataGenerator;
+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.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Component;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComputeData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Network;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.NetworkType;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
+import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateInput;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+
+public class CompositionEntityDataManagerImpl implements 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 static final String MISSING_OR_INVALID_QUESTIONNAIRE_MSG =
+ "Data is missing/invalid for this %s. Please refill and resubmit.";
+
+ private static final Logger logger =
+ LoggerFactory.getLogger(CompositionEntityDataManagerImpl.class);
+ private Map<CompositionEntityId, CompositionEntityData> entities = new HashMap<>();
+ private Map<CompositionEntityType, String> nonDynamicSchemas = new HashMap<>();
+ private List<CompositionEntityValidationData> roots = new ArrayList<>();
+
+ private VendorSoftwareProductInfoDao vspInfoDao;
+ private ComponentDao componentDao;
+ private NicDao nicDao;
+ private NetworkDao networkDao;
+ private ImageDao imageDao;
+ private ComputeDao computeDao;
+ private DeploymentFlavorDao deploymentFlavorDao;
+
+ public CompositionEntityDataManagerImpl(VendorSoftwareProductInfoDao vspInfoDao,
+ ComponentDao componentDao,
+ NicDao nicDao, NetworkDao networkDao,
+ ImageDao imageDao, ComputeDao computeDao,
+ DeploymentFlavorDao deploymentFlavorDao) {
+ this.vspInfoDao = vspInfoDao;
+ this.componentDao = componentDao;
+ this.nicDao = nicDao;
+ this.networkDao = networkDao;
+ this.imageDao = imageDao;
+ this.computeDao = computeDao;
+ this.deploymentFlavorDao = deploymentFlavorDao;
+ }
+
+ /**
+ * 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
+ */
+ @Override
+ public CompositionEntityValidationData validateEntity(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,
+ generateSchema(schemaTemplateContext, entity.getType(), schemaTemplateInput)));
+ return validationData;
+ }
+
+ /**
+ * Add entity.
+ *
+ * @param entity the entity
+ * @param schemaTemplateInput the schema template input
+ */
+ @Override
+ public void addEntity(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
+ */
+ @Override
+ public Map<CompositionEntityId, Collection<String>> validateEntitiesQuestionnaire() {
+ Map<CompositionEntityId, Collection<String>> errorsByEntityId = new HashMap<>();
+ entities.entrySet().forEach(entry -> {
+ Collection<String> errors = validateQuestionnaire(entry.getValue());
+ if (errors != null) {
+ errorsByEntityId.put(entry.getKey(), errors);
+ }
+ });
+ return errorsByEntityId;
+ }
+
+ /**
+ * Build trees.
+ */
+ @Override
+ public void buildTrees() {
+ Map<CompositionEntityId, CompositionEntityValidationData> entitiesValidationData =
+ new HashMap<>();
+ entities.entrySet().forEach(
+ entry -> addValidationDataEntity(entitiesValidationData, entry.getKey(),
+ entry.getValue().entity));
+ }
+
+ public Collection<CompositionEntityValidationData> getTrees() {
+ return roots;
+ }
+
+ @Override
+ public void saveCompositionData(String vspId, Version version, CompositionData compositionData) {
+ if (Objects.isNull(compositionData)) {
+ return;
+ }
+
+ Map<String, String> networkIdByName = saveNetworks(vspId, version, compositionData);
+ saveComponents(vspId, version, compositionData, networkIdByName);
+ }
+
+ @Override
+ public Set<CompositionEntityValidationData> getAllErrorsByVsp(String vspId) {
+ CompositionEntityValidationData matchVsp = null;
+ Set<CompositionEntityValidationData> entitiesWithErrors = new HashSet<>();
+ for (CompositionEntityValidationData root : roots) {
+ if (root.getEntityId().equals(vspId)) {
+ matchVsp = root;
+ break;
+ }
+ }
+
+ getEntityListWithErrors(matchVsp, entitiesWithErrors);
+ if (CollectionUtils.isNotEmpty(entitiesWithErrors)) {
+ updateValidationCompositionEntityName(entitiesWithErrors);
+ return entitiesWithErrors;
+ }
+
+ return null;
+ }
+
+ private boolean isThereErrorsInSubTree(CompositionEntityValidationData entity) {
+ if (Objects.isNull(entity)) {
+ return false;
+ }
+
+ if (CollectionUtils.isNotEmpty(entity.getErrors())) {
+ return true;
+ }
+
+ Collection<CompositionEntityValidationData> subEntitiesValidationData =
+ entity.getSubEntitiesValidationData();
+ return !CollectionUtils.isEmpty(subEntitiesValidationData) &&
+ checkForErrorsInChildren(subEntitiesValidationData);
+
+ }
+
+ private boolean checkForErrorsInChildren(
+ Collection<CompositionEntityValidationData> subEntitiesValidationData) {
+ boolean result = false;
+ for (CompositionEntityValidationData subEntity : subEntitiesValidationData) {
+ if (CollectionUtils.isNotEmpty(subEntity.getErrors())) {
+ return true;
+ }
+
+ result = isThereErrorsInSubTree(subEntity) || result;
+ if (result) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private void saveComponents(String vspId, Version version, CompositionData compositionData,
+ Map<String, String> networkIdByName) {
+ if (CollectionUtils.isNotEmpty(compositionData.getComponents())) {
+ for (Component component : compositionData.getComponents()) {
+ ComponentEntity componentEntity = new ComponentEntity(vspId, version, null);
+ componentEntity.setComponentCompositionData(component.getData());
+
+ String componentId = createComponent(componentEntity).getId();
+
+ saveImagesByComponent(vspId, version, component, componentId);
+ saveComputesFlavorByComponent(vspId, version, component, componentId);
+
+ saveNicsByComponent(vspId, version, networkIdByName, component, componentId);
+ }
+ }
+ }
+
+ private void saveNicsByComponent(String vspId, Version version,
+ Map<String, String> networkIdByName, Component component,
+ String componentId) {
+ if (CollectionUtils.isNotEmpty(component.getNics())) {
+ for (Nic nic : component.getNics()) {
+ if (nic.getNetworkName() != null && MapUtils.isNotEmpty(networkIdByName)) {
+ nic.setNetworkId(networkIdByName.get(nic.getNetworkName()));
+ }
+ nic.setNetworkName(null);
+ //For heat flow set network type to be internal by default for NIC
+ nic.setNetworkType(NetworkType.Internal);
+
+ NicEntity nicEntity = new NicEntity(vspId, version, componentId, null);
+ nicEntity.setNicCompositionData(nic);
+ createNic(nicEntity);
+ }
+ }
+ }
+
+ private Map<String, String> saveNetworks(String vspId, Version version,
+ CompositionData compositionData) {
+ Map<String, String> networkIdByName = new HashMap<>();
+ if (CollectionUtils.isNotEmpty(compositionData.getNetworks())) {
+ for (Network network : compositionData.getNetworks()) {
+
+ NetworkEntity networkEntity = new NetworkEntity(vspId, version, null);
+ networkEntity.setNetworkCompositionData(network);
+
+ if (network.getName() != null) {
+ networkIdByName.put(network.getName(), createNetwork(networkEntity).getId());
+ }
+ }
+ }
+ return networkIdByName;
+ }
+
+ private NetworkEntity createNetwork(NetworkEntity network) {
+ //network.setId(CommonMethods.nextUuId()); will be set by the dao
+ networkDao.create(network);
+ return network;
+ }
+
+ @Override
+ public ComponentEntity createComponent(ComponentEntity component) {
+ //component.setId(CommonMethods.nextUuId()); will be set by the dao
+ component.setQuestionnaireData(
+ new JsonSchemaDataGenerator(
+ generateSchema(SchemaTemplateContext.questionnaire, CompositionEntityType.component,
+ null))
+ .generateData());
+
+ componentDao.create(component);
+ return component;
+ }
+
+ @Override
+ public NicEntity createNic(NicEntity nic) {
+ //nic.setId(CommonMethods.nextUuId()); will be set by the dao
+ nic.setQuestionnaireData(
+ new JsonSchemaDataGenerator(
+ generateSchema(SchemaTemplateContext.questionnaire, CompositionEntityType.nic, null))
+ .generateData());
+
+ nicDao.create(nic);
+ return nic;
+ }
+
+
+ public void addErrorsToTrees(Map<CompositionEntityId, Collection<String>> errors) {
+ roots.forEach(root -> addErrorsToTree(root, null, errors));
+ }
+
+ /* *
+ * get a flat list of all questionnaire entities that have validation errors
+ * */
+ public Set<CompositionEntityValidationData> getEntityListWithErrors() {
+ Set<CompositionEntityValidationData> treeAsList = new HashSet<>();
+
+ for (CompositionEntityValidationData entity : roots) {
+ if (CollectionUtils.isNotEmpty(entity.getErrors())) {
+ addNodeWithErrors(entity, treeAsList);
+ }
+ getEntityListWithErrors(entity, treeAsList);
+ }
+
+ updateValidationCompositionEntityName(treeAsList);
+ return treeAsList;
+ }
+
+ private void getEntityListWithErrors(CompositionEntityValidationData entity,
+ Set<CompositionEntityValidationData> compositionSet) {
+ if (CollectionUtils.isNotEmpty(entity.getErrors())) {
+ addNodeWithErrors(entity, compositionSet);
+ }
+
+ if (CollectionUtils.isEmpty(entity.getSubEntitiesValidationData())) {
+ return;
+ }
+
+ for (CompositionEntityValidationData child : entity.getSubEntitiesValidationData()) {
+ getEntityListWithErrors(child, compositionSet);
+ }
+ }
+
+
+ private void addNodeWithErrors(CompositionEntityValidationData node,
+ Set<CompositionEntityValidationData> entitiesWithErrors) {
+ CompositionEntityValidationData compositionNodeToAdd = new CompositionEntityValidationData(node
+ .getEntityType(), node.getEntityId());
+ compositionNodeToAdd.setErrors(node.getErrors());
+ compositionNodeToAdd.setSubEntitiesValidationData(null);
+
+ entitiesWithErrors.add(compositionNodeToAdd);
+ }
+
+ public void removeNodesWithoutErrors() {
+ roots.forEach(root -> removeNodesWithoutErrors(root, null));
+ }
+
+
+ private CompositionEntityData getCompositionEntityDataById(CompositionEntityValidationData
+ entity) {
+ for (Map.Entry<CompositionEntityId, CompositionEntityData> entityEntry : entities
+ .entrySet()) {
+ if (entityEntry.getKey().getId().equals(entity.getEntityId())) {
+ return entityEntry.getValue();
+ }
+ }
+ return null;
+ }
+
+
+ private void updateValidationCompositionEntityName(Set<CompositionEntityValidationData>
+ compositionSet) {
+ for (CompositionEntityValidationData entity : compositionSet) {
+ String compositionData = getCompositionDataAsString(entity);
+ if (entity.getEntityType().equals(CompositionEntityType.vsp) ||
+ Objects.nonNull(compositionData)) {
+ entity.setEntityName(getEntityNameByEntityType(compositionData, entity));
+ }
+ }
+ }
+
+ private String getCompositionDataAsString(CompositionEntityValidationData entity) {
+ CompositionEntityData compositionEntityData = getCompositionEntityDataById(entity);
+ return compositionEntityData == null ? null : compositionEntityData.entity.getCompositionData();
+ }
+
+
+ private String getEntityNameByEntityType(String compositionData,
+ CompositionEntityValidationData entity) {
+ switch (entity.getEntityType()) {
+ case component:
+ ComponentData component = JsonUtil.json2Object(compositionData, ComponentData.class);
+ return component.getDisplayName();
+
+ case nic:
+ Nic nic = JsonUtil.json2Object(compositionData, Nic.class);
+ return nic.getName();
+
+ case network:
+ Network network = JsonUtil.json2Object(compositionData, Network.class);
+ return network.getName();
+
+ case image:
+ Image image = JsonUtil.json2Object(compositionData, Image.class);
+ return image.getFileName();
+
+ case vsp:
+ CompositionEntityData vspEntity = getCompositionEntityDataById(entity);
+ VspQuestionnaireEntity vspQuestionnaireEntity = (VspQuestionnaireEntity) vspEntity.entity;
+ VspDetails vspDetails =
+ vspInfoDao.get(new VspDetails(vspQuestionnaireEntity.getId(),
+ vspQuestionnaireEntity.getVersion()));
+ return vspDetails.getName();
+ }
+
+ return null;
+ }
+
+ private void removeNodesWithoutErrors(CompositionEntityValidationData node,
+ CompositionEntityValidationData parent) {
+
+ if (Objects.isNull(node)) {
+ return;
+ }
+
+ if (hasChildren(node)) {
+ Collection<CompositionEntityValidationData> subNodes =
+ new ArrayList<>(node.getSubEntitiesValidationData());
+ subNodes.forEach(subNode -> removeNodesWithoutErrors(subNode, node));
+ node.setSubEntitiesValidationData(subNodes);
+
+ if (canNodeGetRemovedFromValidationDataTree(node)) {
+ removeNodeFromChildren(parent, node);
+ }
+ } else if (canNodeGetRemovedFromValidationDataTree(node)) {
+ removeNodeFromChildren(parent, node);
+ }
+ }
+
+ private void removeNodeFromChildren(CompositionEntityValidationData parent,
+ CompositionEntityValidationData childToRemove) {
+ if (!Objects.isNull(parent)) {
+ parent.getSubEntitiesValidationData().remove(childToRemove);
+ }
+ }
+
+ private boolean hasChildren(CompositionEntityValidationData node) {
+ return !CollectionUtils.isEmpty(node.getSubEntitiesValidationData());
+ }
+
+ private boolean canNodeGetRemovedFromValidationDataTree(CompositionEntityValidationData node) {
+ return !hasChildren(node) && CollectionUtils.isEmpty(node.getErrors());
+ }
+
+
+ private void addValidationDataEntity(
+ Map<CompositionEntityId, CompositionEntityValidationData> entitiesValidationData,
+ CompositionEntityId entityId, CompositionEntity entity) {
+ if (entitiesValidationData.containsKey(entityId)) {
+ return;
+ }
+
+ CompositionEntityValidationData validationData =
+ new CompositionEntityValidationData(entity.getType(), entity.getId());
+ entitiesValidationData.put(entityId, validationData);
+
+ 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,
+ CompositionEntityId parentNodeId,
+ Map<CompositionEntityId, Collection<String>> errors) {
+ if (node == null) {
+ return;
+ }
+ CompositionEntityId nodeId = new CompositionEntityId(node.getEntityId(), parentNodeId);
+ node.setErrors(errors.get(nodeId));
+
+ if (node.getSubEntitiesValidationData() != null) {
+ node.getSubEntitiesValidationData()
+ .forEach(subNode -> addErrorsToTree(subNode, nodeId, errors));
+ }
+ }
+
+ private Collection<String> validateQuestionnaire(CompositionEntityData compositionEntityData) {
+ logger.debug(String.format("validateQuestionnaire start: " +
+ "[entity.type]=%s, [entity.id]=%s, [entity.questionnaireString]=%s",
+ compositionEntityData.entity.getType().name(),
+ compositionEntityData.entity.getCompositionEntityId().toString(),
+ compositionEntityData.entity.getQuestionnaireData()));
+
+ if (Objects.isNull(compositionEntityData.entity.getQuestionnaireData()) ||
+ !JsonUtil.isValidJson(compositionEntityData.entity.getQuestionnaireData())) {
+ return Collections.singletonList(String
+ .format(MISSING_OR_INVALID_QUESTIONNAIRE_MSG, compositionEntityData.entity.getType()));
+ }
+
+ 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(CompositionEntityType compositionEntityType,
+ SchemaTemplateContext schemaTemplateContext,
+ SchemaTemplateInput schemaTemplateInput) {
+ return schemaTemplateInput == null
+ ? nonDynamicSchemas.computeIfAbsent(compositionEntityType,
+ k -> generateSchema(schemaTemplateContext, compositionEntityType, null))
+ : generateSchema(schemaTemplateContext, compositionEntityType, schemaTemplateInput);
+ }
+
+ private static class CompositionEntityData {
+ private CompositionEntity entity;
+ private SchemaTemplateInput schemaTemplateInput;
+
+ CompositionEntityData(CompositionEntity entity, SchemaTemplateInput schemaTemplateInput) {
+ this.entity = entity;
+ this.schemaTemplateInput = schemaTemplateInput;
+ }
+
+ }
+
+ // todo - make SchemaGenerator non static and mock it in UT instead of mocking this method (and
+ // make the method private
+ protected String generateSchema(SchemaTemplateContext schemaTemplateContext,
+ CompositionEntityType compositionEntityType,
+ SchemaTemplateInput schemaTemplateInput) {
+ return SchemaGenerator
+ .generate(schemaTemplateContext, compositionEntityType, schemaTemplateInput);
+ }
+
+ @Override
+ public DeploymentFlavorEntity createDeploymentFlavor(DeploymentFlavorEntity deploymentFlavor) {
+ deploymentFlavor.setId(CommonMethods.nextUuId());
+ deploymentFlavorDao.create(deploymentFlavor);
+ return deploymentFlavor;
+ }
+
+ @Override
+ public ImageEntity createImage(ImageEntity image) {
+ image.setId(CommonMethods.nextUuId());
+
+ image.setQuestionnaireData(
+ new JsonSchemaDataGenerator(SchemaGenerator
+ .generate(SchemaTemplateContext.questionnaire, CompositionEntityType.image, null))
+ .generateData());
+
+ imageDao.create(image);
+ return image;
+ }
+
+ public void saveComputesFlavorByComponent(String vspId, Version version, Component component,
+ String componentId) {
+ if (CollectionUtils.isNotEmpty(component.getCompute())) {
+ for (ComputeData flavor : component.getCompute()) {
+ ComputeEntity computeEntity = new ComputeEntity(vspId, version, componentId, null);
+ computeEntity.setComputeCompositionData(flavor);
+ computeEntity.setQuestionnaireData(
+ new JsonSchemaDataGenerator(SchemaGenerator
+ .generate(SchemaTemplateContext.questionnaire, CompositionEntityType.compute,
+ null)).generateData());
+
+ computeDao.create(computeEntity);
+ }
+ }
+ }
+
+ public void saveImagesByComponent(String vspId, Version version, Component component, String
+ componentId) {
+ if (CollectionUtils.isNotEmpty(component.getImages())) {
+ for (Image img : component.getImages()) {
+ ImageEntity imageEntity = new ImageEntity(vspId, version, componentId, null);
+ imageEntity.setImageCompositionData(img);
+ createImage(imageEntity);
+ }
+ }
+ }
+
+}
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerFactoryImpl.java
index 598c45f323..cefc0dd0ef 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerFactoryImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerFactoryImpl.java
@@ -5,7 +5,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.ComputeManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
public class ComputeManagerFactoryImpl extends ComputeManagerFactory {
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java
index 9641f3322e..32946a0aa9 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java
@@ -39,7 +39,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.errors.DuplicateComputeInComponentErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.NotSupportedHeatOnboardMethodErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.ListComputeResponse;
@@ -66,9 +66,6 @@ public class ComputeManagerImpl implements ComputeManager {
private final CompositionEntityDataManager compositionEntityDataManager;
private final VendorSoftwareProductInfoDao vspInfoDao;
private final DeploymentFlavorDao deploymentFlavorDao;
- private static final String VSP_ID_COMPONENT_ID = "VSP id, component id";
- private static final String VSP_ID_COMPONENT_ID_COMPUTE_ID
- = "VSP id, component id, compute id";
public ComputeManagerImpl(VendorSoftwareProductInfoDao vspInfoDao,
ComputeDao computeDao,
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java
index dd46d60f7e..0eef5246c3 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java
@@ -22,7 +22,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.DeploymentFlavorManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
public class DeploymentFlavorManagerFactoryImpl extends DeploymentFlavorManagerFactory {
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java
index 14c5044984..b32ed637e2 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java
@@ -33,7 +33,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.errors.DeploymentFlavorErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.NotSupportedHeatOnboardMethodErrorBuilder;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentComputeAssociation;
@@ -56,7 +56,6 @@ public class DeploymentFlavorManagerImpl implements DeploymentFlavorManager {
private final DeploymentFlavorDao deploymentFlavorDao;
private final CompositionEntityDataManager compositionEntityDataManager;
private final ComputeDao computeDao;
- private static final String VSP_ID_DEPLOYMENT_FLAVOR_ID = "VSP id, deployment flavor id";
public DeploymentFlavorManagerImpl(VendorSoftwareProductInfoDao vspInfoDao,
DeploymentFlavorDao deploymentFlavorDao,
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerFactoryImpl.java
index 9689615c70..6eb8582fc1 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerFactoryImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerFactoryImpl.java
@@ -5,7 +5,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.ImageManager;
import org.openecomp.sdc.vendorsoftwareproduct.ImageManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
public class ImageManagerFactoryImpl extends ImageManagerFactory {
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java
index 228d244872..efc50908cf 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java
@@ -34,7 +34,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.errors.ImageErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.NotSupportedHeatOnboardMethodErrorBuilder;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse;
@@ -56,8 +56,6 @@ public class ImageManagerImpl implements ImageManager {
private final VendorSoftwareProductInfoDao vspInfoDao;
private final ImageDao imageDao;
private final CompositionEntityDataManager compositionEntityDataManager;
- private static final String VSP_ID = "VSP id";
- private static final String VSP_ID_COMPONENT_ID = "VSP id, component id";
public ImageManagerImpl(VendorSoftwareProductInfoDao vspInfoDao,
ImageDao imageDao,
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerFactoryImpl.java
index a427b74c4f..25b22598d7 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerFactoryImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerFactoryImpl.java
@@ -24,7 +24,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.NetworkManager;
import org.openecomp.sdc.vendorsoftwareproduct.NetworkManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
public class NetworkManagerFactoryImpl extends NetworkManagerFactory {
private static final NetworkManager INSTANCE =
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImpl.java
index 106adaa625..027d7a1664 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImpl.java
@@ -29,7 +29,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.errors.CompositionEditNotAllowedErrorBuilder;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
@@ -47,9 +47,6 @@ public class NetworkManagerImpl implements NetworkManager {
private final CompositionEntityDataManager compositionEntityDataManager;
private final VendorSoftwareProductInfoDao VSPInfoDao;
- private static final String VSP_ID = "VSP id";
- private static final String VSP_ID_NETWORK_ID = "VSP id, network id";
-
public NetworkManagerImpl(NetworkDao networkDao,
CompositionEntityDataManager compositionEntityDataManager,
VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao) {
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerFactoryImpl.java
index 6110519d81..cd4e3eaae9 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerFactoryImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerFactoryImpl.java
@@ -25,7 +25,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.NicManager;
import org.openecomp.sdc.vendorsoftwareproduct.NicManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
public class NicManagerFactoryImpl extends NicManagerFactory {
private static final NicManager INSTANCE =
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java
index 2a86042040..35157264aa 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java
@@ -38,7 +38,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.errors.NicErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.NicInternalNetworkErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.NicNetworkIdNotAllowedExternalNetworkErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.NotSupportedHeatOnboardMethodErrorBuilder;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse;
@@ -61,7 +61,6 @@ public class NicManagerImpl implements NicManager {
private final CompositionEntityDataManager compositionEntityDataManager;
private final NetworkManager networkManager;
private final VendorSoftwareProductInfoDao vspInfoDao;
- private static final String VSP_ID_COMPONENT_ID = "VSP id, component id";
public NicManagerImpl(NicDao nicDao,
CompositionEntityDataManager compositionEntityDataManager,
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java
index 692f6f3db7..a022fb697e 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java
@@ -82,9 +82,9 @@ import org.openecomp.sdc.vendorsoftwareproduct.errors.PackageInvalidErrorBuilder
import org.openecomp.sdc.vendorsoftwareproduct.errors.PackageNotFoundErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.TranslationFileCreationErrorBuilder;
import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductInvalidErrorBuilder;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.InformationArtifactGenerator;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireValidationResult;
@@ -134,7 +134,6 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa
private final ComputeDao computeDao;
private final ImageDao imageDao;
private final ManualVspToscaManager manualVspToscaManager;
- private static final String VSP_ID = "VSP id";
private static final String PACKAGE_NOT_FOUND = "Package not found";
public VendorSoftwareProductManagerImpl(
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationUtil.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationUtil.java
index 73598a2aee..9031e926a4 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationUtil.java
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/orchestration/OrchestrationUtil.java
@@ -61,9 +61,9 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEnt
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity;
import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionDataExtractorFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionDataExtractor;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManager;
import org.openecomp.sdc.vendorsoftwareproduct.types.UploadFileResponse;
import org.openecomp.sdc.versioning.dao.types.Version;
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/factoryConfiguration.json b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/factoryConfiguration.json
index 71d42932d9..24c2f260d8 100644
--- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/factoryConfiguration.json
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/resources/factoryConfiguration.json
@@ -1,5 +1,6 @@
{
"org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory": "org.openecomp.sdc.vendorsoftwareproduct.impl.VspManagerFactoryImpl",
+ "org.openecomp.sdc.vendorsoftwareproduct.CompositionEntityDataManagerFactory": "org.openecomp.sdc.vendorsoftwareproduct.impl.CompositionEntityDataManagerFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory": "org.openecomp.sdc.vendorsoftwareproduct.impl.ComponentManagerFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.NetworkManagerFactory": "org.openecomp.sdc.vendorsoftwareproduct.impl.NetworkManagerFactoryImpl",
"org.openecomp.sdc.vendorsoftwareproduct.NicManagerFactory": "org.openecomp.sdc.vendorsoftwareproduct.impl.NicManagerFactoryImpl",