Skip to content

Commit 8a2fc3b

Browse files
author
zxBCN Valeriu_Tuguran,Constantin (IT EDP) EXTERNAL
committed
Add mapper.
1 parent 589098f commit 8a2fc3b

4 files changed

Lines changed: 26 additions & 10 deletions

File tree

api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/controller/ComponentsResponseFactory.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,4 @@ public static CreateComponentResponse entityCreated(String projectId, String com
2222
response.setMessage(componentName + " component created successfully in project " + projectId);
2323
return response;
2424
}
25-
26-
public static ResponseEntity<CreateComponentResponse> toResponseEntity(CreateComponentResponse response) {
27-
return new ResponseEntity<>(response, HttpStatus.valueOf(response.getErrorCode()));
28-
}
2925
}

api-project-component-v0/src/main/java/org/opendevstack/apiservice/project/controller/ProjectComponentsController.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import lombok.AllArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
55
import org.opendevstack.apiservice.project.api.ProjectComponentsApi;
6+
import org.opendevstack.apiservice.project.mapper.ComponentResponseMapper;
67
import org.opendevstack.apiservice.project.model.Component;
78
import org.opendevstack.apiservice.project.model.CreateComponentRequest;
89
import org.opendevstack.apiservice.project.model.CreateComponentResponse;
@@ -11,27 +12,27 @@
1112
import org.springframework.http.ResponseEntity;
1213
import org.springframework.web.bind.annotation.RestController;
1314

14-
import static org.opendevstack.apiservice.project.controller.ComponentsResponseFactory.toResponseEntity;
15-
1615
@RestController
1716
@AllArgsConstructor
1817
@Slf4j
1918
public class ProjectComponentsController implements ProjectComponentsApi {
2019

2120
private final ComponentsService componentsService;
2221

22+
private final ComponentResponseMapper componentResponseMapper;
23+
2324
@Override
2425
public ResponseEntity<CreateComponentResponse> createProjectComponent(String projectId, CreateComponentRequest createComponentRequest) {
2526
try {
2627
Component component = componentsService.createProjectComponent(projectId, createComponentRequest);
2728
if (component == null) {
2829
log.error("Failed to create component for project '{}'", projectId);
29-
return toResponseEntity(ComponentsResponseFactory.error(projectId));
30+
return componentResponseMapper.toResponseEntity(ComponentsResponseFactory.error(projectId));
3031
}
31-
return toResponseEntity(ComponentsResponseFactory.entityCreated(projectId, component.getName()));
32+
return componentResponseMapper.toResponseEntity(ComponentsResponseFactory.entityCreated(projectId, component.getName()));
3233
} catch (Exception e) {
3334
log.error("Error while trying to create component for project '" + projectId + "': " + e.getMessage(), e);
34-
return toResponseEntity(ComponentsResponseFactory.error(projectId));
35+
return componentResponseMapper.toResponseEntity(ComponentsResponseFactory.error(projectId));
3536
}
3637
}
3738

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.opendevstack.apiservice.project.mapper;
2+
3+
import org.mapstruct.Mapper;
4+
import org.opendevstack.apiservice.project.model.CreateComponentResponse;
5+
import org.springframework.http.HttpStatus;
6+
import org.springframework.http.ResponseEntity;
7+
8+
@Mapper(componentModel = "spring")
9+
public interface ComponentResponseMapper {
10+
11+
default ResponseEntity<CreateComponentResponse> toResponseEntity(CreateComponentResponse response) {
12+
return new ResponseEntity<>(response, HttpStatus.valueOf(response.getErrorCode()));
13+
}
14+
15+
}

api-project-component-v0/src/test/java/org/opendevstack/apiservice/project/controller/ProjectComponentsControllerTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
import org.junit.jupiter.api.BeforeEach;
44
import org.junit.jupiter.api.Test;
55
import org.junit.jupiter.api.extension.ExtendWith;
6+
import org.mapstruct.factory.Mappers;
67
import org.mockito.Mock;
78
import org.mockito.junit.jupiter.MockitoExtension;
9+
import org.opendevstack.apiservice.project.mapper.ComponentResponseMapper;
810
import org.opendevstack.apiservice.project.model.Component;
911
import org.opendevstack.apiservice.project.model.CreateComponentRequest;
1012
import org.opendevstack.apiservice.project.model.CreateComponentResponse;
@@ -24,11 +26,13 @@ class ProjectComponentsControllerTest {
2426
@Mock
2527
private ComponentsService componentsService;
2628

29+
private final ComponentResponseMapper componentResponseMapper = Mappers.getMapper(ComponentResponseMapper.class);
30+
2731
private ProjectComponentsController projectComponentsController;
2832

2933
@BeforeEach
3034
void setup() {
31-
projectComponentsController = new ProjectComponentsController(componentsService);
35+
projectComponentsController = new ProjectComponentsController(componentsService, componentResponseMapper);
3236
}
3337

3438
@Test

0 commit comments

Comments
 (0)