b0e0bbbfefdd6eb6722b2d6770c57cbb487ed328
[sdc.git] / openecomp-be / api / openecomp-sdc-rest-webapp / vendor-software-products-rest / vendor-software-products-rest-services / src / main / java / org / openecomp / sdcrests / vsp / rest / mapping / MapComponentDependencyModelRequestToEntity.java
1 package org.openecomp.sdcrests.vsp.rest.mapping;
2
3
4 import org.openecomp.sdc.common.errors.CoreException;
5 import org.openecomp.sdc.common.errors.ErrorCode;
6 import org.openecomp.sdc.logging.api.Logger;
7 import org.openecomp.sdc.logging.api.LoggerFactory;
8 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity;
9 import org.openecomp.sdc.vendorsoftwareproduct.errors.ComponentDependencyModelErrorBuilder;
10 import org.openecomp.sdcrests.mapping.MappingBase;
11 import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModel;
12 import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentRelationType;
13
14 public class MapComponentDependencyModelRequestToEntity extends
15     MappingBase<ComponentDependencyModel, ComponentDependencyModelEntity> {
16   private static final Logger logger =
17       LoggerFactory.getLogger(MapComponentDependencyModelRequestToEntity.class);
18
19   @Override
20   public void doMapping(ComponentDependencyModel source,
21                         ComponentDependencyModelEntity target) {
22     target.setSourceComponentId(source.getSourceId());
23     target.setTargetComponentId(source.getTargetId());
24     try {
25       ComponentRelationType.valueOf(source.getRelationType());
26       target.setRelation(source.getRelationType());
27     } catch (IllegalArgumentException exception) {
28       logger.debug("",exception);
29       ErrorCode errorCode =
30           ComponentDependencyModelErrorBuilder.getInvalidRelationTypeErrorBuilder();
31       logger.error(errorCode.message(), exception);
32       throw new CoreException(errorCode);
33     }
34   }
35 }