Skip to content

Commit 0c8f193

Browse files
committed
feat: enhance compliance evaluation mappers to load full Standard object
1 parent 3af0ef3 commit 0c8f193

7 files changed

Lines changed: 46 additions & 5 deletions

File tree

backend/src/main/java/com/park/utmstack/repository/compliance/UtmComplianceControlConfigRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public interface UtmComplianceControlConfigRepository extends JpaRepository<UtmC
2828
SELECT DISTINCT c
2929
FROM UtmComplianceControlConfig c
3030
LEFT JOIN FETCH c.section s
31+
JOIN FETCH s.standard st
3132
LEFT JOIN FETCH c.queriesConfigs q
3233
WHERE c.id IN :ids
3334
""")
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.park.utmstack.service.dto.compliance;
2+
3+
import lombok.Data;
4+
5+
@Data
6+
public class UtmComplianceStandardDto {
7+
private Long id;
8+
private String standardName;
9+
private String standardDescription;
10+
}

backend/src/main/java/com/park/utmstack/service/dto/compliance/UtmComplianceStandardSectionDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ public class UtmComplianceStandardSectionDto {
77
private Long id;
88
private String standardSectionName;
99
private String standardSectionDescription;
10-
private Long standardId;
10+
private UtmComplianceStandardDto standard;
1111
}

backend/src/main/java/com/park/utmstack/service/mapper/compliance/UtmComplianceControlConfigMapper.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
import org.mapstruct.Mapping;
77
import org.mapstruct.MappingTarget;
88

9-
@Mapper(componentModel = "spring", uses = UtmComplianceQueryConfigMapper.class)
9+
@Mapper(componentModel = "spring", uses = {
10+
UtmComplianceQueryConfigMapper.class,
11+
UtmComplianceStandardSectionMapper.class,
12+
UtmComplianceStandardMapper.class})
1013
public interface UtmComplianceControlConfigMapper {
1114

1215
@Mapping(target = "queriesConfigs", ignore = true)

backend/src/main/java/com/park/utmstack/service/mapper/compliance/UtmComplianceControlEvaluationHistoryMapper.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.park.utmstack.service.mapper.compliance;
22

3+
import com.fasterxml.jackson.core.type.TypeReference;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
36
import com.park.utmstack.service.dto.compliance.UtmComplianceControlEvaluationHistoryDto;
47
import com.park.utmstack.service.dto.compliance.UtmComplianceQueryEvaluationDto;
58

69
import java.time.Instant;
710
import java.util.List;
811
import java.util.Map;
9-
1012
public class UtmComplianceControlEvaluationHistoryMapper {
1113

1214
private UtmComplianceControlEvaluationHistoryMapper() {
@@ -21,7 +23,9 @@ public static UtmComplianceControlEvaluationHistoryDto mapToEvaluationDto(Map<St
2123
dto.setStatus((String) src.get("status"));
2224
dto.setTimestamp(Instant.parse((String) src.get("timestamp")));
2325

24-
List<Map<String, Object>> q = (List<Map<String, Object>>) src.get("query_evaluations");
26+
27+
ObjectMapper mapper = new ObjectMapper();
28+
List<Map<String, Object>> q = mapper.convertValue(src.get("query_evaluations"), new TypeReference<>() {});
2529
if (q != null) {
2630
dto.setQueryEvaluations(q.stream().map(UtmComplianceControlEvaluationHistoryMapper::mapQueryEval).toList());
2731
}
@@ -41,7 +45,10 @@ private static UtmComplianceQueryEvaluationDto mapQueryEval(Map<String, Object>
4145

4246
dto.setHits(((Number) src.get("hits")).intValue());
4347
dto.setStatus((String) src.get("status"));
44-
dto.setEvidence((List<Map<String, Object>>) src.get("evidence"));
48+
49+
ObjectMapper mapper = new ObjectMapper();
50+
List<Map<String, Object>> evidence = mapper.convertValue(src.get("evidence"), new TypeReference<>() {});
51+
dto.setEvidence(evidence);
4552

4653
return dto;
4754
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.park.utmstack.service.mapper.compliance;
2+
3+
import com.park.utmstack.domain.compliance.UtmComplianceStandard;
4+
import com.park.utmstack.service.dto.compliance.UtmComplianceStandardDto;
5+
import org.mapstruct.Mapper;
6+
7+
@Mapper(componentModel = "spring")
8+
public interface UtmComplianceStandardMapper {
9+
UtmComplianceStandardDto toDto(UtmComplianceStandard entity);
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.park.utmstack.service.mapper.compliance;
2+
3+
import com.park.utmstack.domain.compliance.UtmComplianceStandardSection;
4+
import com.park.utmstack.service.dto.compliance.UtmComplianceStandardSectionDto;
5+
import org.mapstruct.Mapper;
6+
7+
@Mapper(componentModel = "spring", uses = {UtmComplianceStandardMapper.class})
8+
public interface UtmComplianceStandardSectionMapper {
9+
UtmComplianceStandardSectionDto toDto(UtmComplianceStandardSection entity);
10+
}

0 commit comments

Comments
 (0)