1 package org.openecomp.sdcrests.vsp.rest.services;
3 import org.openecomp.sdc.logging.context.MdcUtil;
4 import org.openecomp.sdc.logging.types.LoggerServiceName;
5 import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManager;
6 import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManagerFactory;
7 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity;
8 import org.openecomp.sdc.versioning.dao.types.Version;
9 import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyCreationDto;
10 import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModel;
11 import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyResponseDto;
12 import org.openecomp.sdcrests.vsp.rest.ComponentDependencies;
13 import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDependencyEntityToCreationDto;
14 import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDependencyEntityToDto;
15 import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDependencyModelRequestToEntity;
16 import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper;
17 import org.springframework.context.annotation.Scope;
18 import org.springframework.stereotype.Service;
20 import javax.inject.Named;
21 import javax.ws.rs.core.Response;
22 import java.util.ArrayList;
23 import java.util.Collection;
24 import java.util.List;
27 @Service("componentDependencies")
28 @Scope(value = "prototype")
29 public class ComponentDependenciesImpl implements ComponentDependencies {
31 private ComponentDependencyModelManager componentDependencyModelManager =
32 ComponentDependencyModelManagerFactory.getInstance().createInterface();
35 public Response create(ComponentDependencyModel request, String vspId, String versionId,
37 MdcUtil.initMdc(LoggerServiceName.CREATE_COMPONENT_DEPENDENCY_MODEL.toString());
38 List<ComponentDependencyModelEntity> modelEntities = new
39 ArrayList<ComponentDependencyModelEntity>();
41 final Version version = new Version(versionId);
43 ComponentDependencyModelEntity modelEntity =
44 new MapComponentDependencyModelRequestToEntity().applyMapping(request,
45 ComponentDependencyModelEntity.class);
47 modelEntity.setVspId(vspId);
48 modelEntity.setVersion(version);
50 ComponentDependencyModelEntity componentDependency =
51 componentDependencyModelManager.createComponentDependency(modelEntity, vspId, version);
53 MapComponentDependencyEntityToCreationDto mapping =
54 new MapComponentDependencyEntityToCreationDto();
55 ComponentDependencyCreationDto createdComponentDependencyDto = mapping.applyMapping(
56 componentDependency, ComponentDependencyCreationDto.class);
57 return Response.ok(componentDependency != null ? createdComponentDependencyDto : null)
62 public Response list(String vspId, String versionId, String user) {
63 MdcUtil.initMdc(LoggerServiceName.GET_LIST_COMPONENT_DEPENDENCY.toString());
64 Version vspVersion = new Version(versionId);
66 Collection<ComponentDependencyModelEntity> componentDependencies =
67 componentDependencyModelManager.list(vspId, vspVersion);
69 MapComponentDependencyEntityToDto mapper = new MapComponentDependencyEntityToDto();
70 GenericCollectionWrapper<ComponentDependencyResponseDto> results = new GenericCollectionWrapper
71 <ComponentDependencyResponseDto>();
72 for (ComponentDependencyModelEntity entity : componentDependencies) {
73 results.add(mapper.applyMapping(entity, ComponentDependencyResponseDto.class));
76 return Response.ok(results).build();
80 public Response delete(String vspId, String versionId, String dependencyId, String user) {
81 MdcUtil.initMdc(LoggerServiceName.DELETE_COMPONENT_DEPENDENCY.toString());
82 Version vspVersion = new Version(versionId);
83 componentDependencyModelManager.delete(vspId, vspVersion, dependencyId);
84 return Response.ok().build();
88 public Response update(ComponentDependencyModel request, String vspId, String versionId, String
89 dependencyId, String user) {
91 MdcUtil.initMdc(LoggerServiceName.UPDATE_COMPONENT_DEPENDENCY.toString());
93 final Version version = new Version(versionId);
94 ComponentDependencyModelEntity modelEntity =
95 new MapComponentDependencyModelRequestToEntity().applyMapping(request,
96 ComponentDependencyModelEntity.class);
98 modelEntity.setId(dependencyId);
99 modelEntity.setVspId(vspId);
100 modelEntity.setVersion(version);
101 componentDependencyModelManager.update(modelEntity);
102 return Response.ok().build();
106 public Response get(String vspId, String version, String dependencyId, String user) {
107 MdcUtil.initMdc(LoggerServiceName.GET_COMPONENT_DEPENDENCY.toString());
108 ComponentDependencyModelEntity componentDependencyModelEntity = componentDependencyModelManager
109 .get(vspId, new Version(version), dependencyId);
111 MapComponentDependencyEntityToDto mapper = new MapComponentDependencyEntityToDto();
112 ComponentDependencyResponseDto componentDependencyResponseDto =
113 mapper.applyMapping(componentDependencyModelEntity, ComponentDependencyResponseDto.class);
115 return Response.ok(componentDependencyModelEntity != null ? componentDependencyResponseDto :