Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import com.publicissapient.kpidashboard.apis.filter.service.FilterHelperService;
import com.publicissapient.kpidashboard.apis.model.KpiRequest;
import com.publicissapient.kpidashboard.apis.util.CommonUtils;
import com.publicissapient.kpidashboard.apis.util.KPIHelperUtil;
import com.publicissapient.kpidashboard.apis.util.KpiDataHelper;
import com.publicissapient.kpidashboard.common.constant.BuildStatus;
import com.publicissapient.kpidashboard.common.constant.CommonConstant;
Expand Down Expand Up @@ -1087,13 +1088,14 @@ public Map<String, Object> fetchFirstTimePassRateDataFromDb(
Map<String, Map<String, List<String>>> statusConfigsOfRejectedStoriesByProject =
new HashMap<>();
Map<String, Map<String, Integer>> projectWisePriorityCount = new HashMap<>();
Map<String, List<String>> configPriority = customApiConfig.getPriority();
Map<String, Set<String>> projectWiseRCA = new HashMap<>();

Map<String, Object> mapOfProjectFilters = new LinkedHashMap<>();
basicProjectConfigIds.add(basicProjectConfigId.toString());

FieldMapping fieldMapping = configHelperService.getFieldMappingMap().get(basicProjectConfigId);
Map<String, List<String>> configPriority =
KPIHelperUtil.buildPriorityMapFromFieldMapping(fieldMapping);

KpiHelperService.addPriorityCountProjectWiseForQuality(
projectWisePriorityCount,
Expand Down Expand Up @@ -1277,7 +1279,6 @@ public Map<String, Object> fetchDSRData(
Map<String, FieldMapping> projFieldMapping = new HashMap<>();
Map<String, Map<String, List<String>>> droppedDefects = new HashMap<>();
Map<String, List<String>> projectWisePriority = new HashMap<>();
Map<String, List<String>> configPriority = customApiConfig.getPriority();
Map<String, Set<String>> projectWiseRCA = new HashMap<>();

List<String> basicProjectConfigIds = List.of(basicProjectConfigId.toString());
Expand All @@ -1286,6 +1287,9 @@ public Map<String, Object> fetchDSRData(
FieldMapping fieldMapping = configHelperService.getFieldMappingMap().get(basicProjectConfigId);
projFieldMapping.put(basicProjectConfigId.toString(), fieldMapping);

Map<String, List<String>> configPriority =
KPIHelperUtil.buildPriorityMapFromFieldMapping(fieldMapping);

KpiHelperService.addPriorityProjectWise(
projectWisePriority,
configPriority,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -442,11 +442,12 @@ public Map<String, Object> fetchDIRDataFromDb(
Map<String, Map<String, Object>> uniqueProjectMap = new HashMap<>();
Map<String, Map<String, List<String>>> droppedDefects = new HashMap<>();
Map<String, List<String>> projectWisePriority = new HashMap<>();
Map<String, List<String>> configPriority = customApiConfig.getPriority();
Map<String, Set<String>> projectWiseRCA = new HashMap<>();
Map<String, Object> mapOfProjectFiltersFH = new LinkedHashMap<>();
Map<String, Object> mapOfProjectFilters = new LinkedHashMap<>();
FieldMapping fieldMapping = configHelperService.getFieldMappingMap().get(basicProjectConfigID);
Map<String, List<String>> configPriority =
KPIHelperUtil.buildPriorityMapFromFieldMapping(fieldMapping);
basicProjectConfigIds.add(basicProjectConfigID.toString());
addPriorityProjectWiseForQualityKPIs(
projectWisePriority,
Expand Down Expand Up @@ -551,7 +552,6 @@ public Map<String, Object> fetchQADDFromDb(
Map<String, Map<String, Object>> uniqueProjectMap = new HashMap<>();
Map<String, Map<String, List<String>>> droppedDefects = new HashMap<>();
Map<String, List<String>> projectWisePriority = new HashMap<>();
Map<String, List<String>> configPriority = customApiConfig.getPriority();
Map<String, Set<String>> projectWiseRCA = new HashMap<>();
Map<String, Object> mapOfProjectFiltersFH = new LinkedHashMap<>();
Map<String, Object> mapOfProjectFilters = new LinkedHashMap<>();
Expand All @@ -563,6 +563,8 @@ public Map<String, Object> fetchQADDFromDb(
mapOfProjectFiltersFH.put(
JiraFeatureHistory.STORY_TYPE.getFieldValueInFeature(),
CommonUtils.convertToPatternList(fieldMapping.getJiraQAKPI111IssueType()));
Map<String, List<String>> configPriority =
KPIHelperUtil.buildPriorityMapFromFieldMapping(fieldMapping);

addPriorityProjectWiseForQualityKPIs(
projectWisePriority,
Expand Down Expand Up @@ -1526,7 +1528,12 @@ public void populateJiraDateWiseIssues(
List<String> jiraClosedStatusList =
projectWiseClosedStoryStatus.get(issueCustomHistory.getBasicProjectConfigId());
LocalDate startLocalDateTemp = LocalDate.parse(startDate);
String fieldValues = basedOnKPIFieldNameFetchValues(fieldName, issueCustomHistory);
FieldMapping fieldMapping =
configHelperService
.getFieldMappingMap()
.get(new ObjectId(issueCustomHistory.getBasicProjectConfigId()));
String fieldValues =
basedOnKPIFieldNameFetchValues(fieldName, issueCustomHistory, fieldMapping);
List<KanbanIssueHistory> statusHistoryDetailsList =
issueCustomHistory.getHistoryDetails();
if (CollectionUtils.isNotEmpty(statusHistoryDetailsList)
Expand Down Expand Up @@ -1664,12 +1671,13 @@ private void checkStatusAndPopulateJiraHistoryFieldAndDateWiseIssues(
*
* @param fieldName
* @param issueCustomHistory
* @param fieldMapping
* @return
*/
private String basedOnKPIFieldNameFetchValues(
String fieldName, KanbanIssueCustomHistory issueCustomHistory) {
String fieldName, KanbanIssueCustomHistory issueCustomHistory, FieldMapping fieldMapping) {
if (fieldName.equals(FIELD_PRIORITY)) {
return KPIHelperUtil.mappingPriority(issueCustomHistory.getPriority(), customApiConfig);
return KPIHelperUtil.mappingPriority(issueCustomHistory.getPriority(), fieldMapping);
} else if (fieldName.equals(FIELD_RCA)
&& CollectionUtils.isNotEmpty(issueCustomHistory.getRootCauseList())) {
return StringUtils.capitalize(issueCustomHistory.getRootCauseList().get(0));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,6 @@ public class CustomApiConfig { // NOPMD
// default image name
private String applicationDefaultLogo;

// priority kpi wise. Key : priority. Value: priority value
private Map<String, List<String>> priority;

private Map<String, List<String>> severity;
// Severity kpi wise. Key : severity. Value: weightage
private Map<String, Integer> severityWeight;
Expand Down Expand Up @@ -145,21 +142,6 @@ public class CustomApiConfig { // NOPMD
@Value("${testconnection.argoCDApi}")
private String argoCDTestConnection;

@Value("${priority.P1}")
private String priorityP1;

@Value("${priority.P2}")
private String priorityP2;

@Value("${priority.P3}")
private String priorityP3;

@Value("${priority.P4}")
private String priorityP4;

@Value("p5-trivial, 5, trivial")
private String priorityP5;

private Map<String, String> notificationSubject;

@Value("${notification.switch}")
Expand Down Expand Up @@ -594,14 +576,6 @@ public void setDateRangeFilterCounts(List<Integer> dateRangeFilterCounts) {
this.dateRangeFilterCounts = dateRangeFilterCounts;
}

public String getPriorityP5() {
return priorityP5;
}

public void setPriorityP5(String priorityP5) {
this.priorityP5 = priorityP5;
}

public String getApprovalEmailSubject() {
return approvalEmailSubject;
}
Expand Down Expand Up @@ -1001,42 +975,6 @@ public String getArgoCDTestConnection() {
return argoCDTestConnection;
}

/**
* P4 priority
*
* @return
*/
public String getpriorityP4() {
return priorityP4;
}

/**
* P3 priority
*
* @return
*/
public String getpriorityP3() {
return priorityP3;
}

/**
* P2 priority
*
* @return
*/
public String getpriorityP2() {
return priorityP2;
}

/**
* P1 priority
*
* @return
*/
public String getpriorityP1() {
return priorityP1;
}

/**
* @return emmStatsMonth
*/
Expand Down Expand Up @@ -1132,24 +1070,6 @@ public void setJenkinsWeekCount(int jenkinsWeekCount) {
this.jenkinsWeekCount = jenkinsWeekCount;
}

/**
* get priority
*
* @return the priority
*/
public Map<String, List<String>> getPriority() {
return priority;
}

/**
* set priority
*
* @param priority to set
*/
public void setPriority(Map<String, List<String>> priority) {
this.priority = priority;
}

public int getNumberOfPastWeeksForKanbanCapacity() {
return numberOfPastWeeksForKanbanCapacity;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,13 @@ public enum FieldMappingEnum {
"epicLink",
"jiraSubTaskDefectType",
"jiraSubTaskIdentification",
"includeActiveSprintInBacklogKPI")),
"includeActiveSprintInBacklogKPI",
"priorityP1",
"priorityP2",
"priorityP3",
"priorityP4",
"priorityP5",
"priorityMisc")),

KPI1(
"Processor (Kanban)",
Expand All @@ -110,7 +116,13 @@ public enum FieldMappingEnum {
"storyPointToHourMapping",
"jiraStoryPointsCustomField",
"kanbanRCACountIssueType",
"jiraSubTaskDefectType")),
"jiraSubTaskDefectType",
"priorityP1",
"priorityP2",
"priorityP3",
"priorityP4",
"priorityP5",
"priorityMisc")),

KPI40(
"Issue Count",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -250,12 +250,15 @@ private void kpiWithFilter(
projectWiseJiraIssueMap.getOrDefault(projectNodeId, new ArrayList<>());

if (CollectionUtils.isNotEmpty(projectWiseJiraIssueList)) {
// Get field mapping for this project
FieldMapping fieldMapping =
configHelperService
.getFieldMappingMap()
.get(node.getProjectFilter().getBasicProjectConfigId());

Set<String> priorityList =
projectWiseJiraIssueList.stream()
.map(
issue ->
KPIHelperUtil.mappingPriority(issue.getPriority(), customApiConfig))
.map(issue -> KPIHelperUtil.mappingPriority(issue.getPriority(), fieldMapping))
.collect(Collectors.toSet());

Map<String, List<KanbanJiraIssue>> rangeWiseJiraIssuesMap = new LinkedHashMap<>();
Expand All @@ -266,7 +269,7 @@ private void kpiWithFilter(
rangeWiseJiraIssuesMap.forEach(
(range, issueList) -> {
Map<String, Long> priorityCountMap =
KPIHelperUtil.setpriorityKanban(issueList, customApiConfig);
KPIHelperUtil.setpriorityKanban(issueList, fieldMapping);
rangeWisePriorityCountMap.put(range, priorityCountMap);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,11 @@ private void kpiWithFilter(
projectWiseClosedJiraIssue.getOrDefault(projectNodeId, new ArrayList<>());
if (CollectionUtils.isNotEmpty(kanbanOpenedIssueList)
|| CollectionUtils.isNotEmpty(kanbanClosedIssueList)) {
// Get field mapping for this project
FieldMapping fieldMapping =
configHelperService
.getFieldMappingMap()
.get(node.getProjectFilter().getBasicProjectConfigId());

Map<String, List<DataCount>> projectFilterWiseDataMap = new HashMap<>();
List<String> issueClosedStatusList = projectWiseClosedStatusMap.get(projectNodeId);
Expand All @@ -327,7 +332,8 @@ private void kpiWithFilter(
priorityList,
dateRange.getStartDate(),
dateRange.getEndDate(),
dateWiseIssueTypeList);
dateWiseIssueTypeList,
fieldMapping);

Map<String, Long> closedIssueCountMap =
filterKanbanHistoryDataBasedOnStartAndEndDateAndIssueType(
Expand All @@ -336,7 +342,8 @@ private void kpiWithFilter(
issueClosedStatusList,
dateRange.getStartDate(),
dateRange.getEndDate(),
dateWiseIssueClosedStatusList);
dateWiseIssueClosedStatusList,
fieldMapping);

String date = getRange(dateRange, kpiRequest);

Expand Down Expand Up @@ -451,7 +458,8 @@ public Map<String, Long> filterKanbanDataBasedOnStartAndEndDateAndIssueType(
List<String> priorityList,
LocalDate startDate,
LocalDate endDate,
List<KanbanJiraIssue> dateWiseIssueTypeList) {
List<KanbanJiraIssue> dateWiseIssueTypeList,
FieldMapping fieldMapping) {
Predicate<KanbanJiraIssue> predicate =
issue ->
LocalDateTime.parse(issue.getCreatedDate().split("\\.")[0], DATE_TIME_FORMATTER)
Expand All @@ -461,7 +469,7 @@ public Map<String, Long> filterKanbanDataBasedOnStartAndEndDateAndIssueType(
List<KanbanJiraIssue> filteredIssue =
issueList.stream().filter(predicate).collect(Collectors.toList());
Map<String, Long> projectIssueTypeMap =
KPIHelperUtil.setpriorityKanban(filteredIssue, customApiConfig);
KPIHelperUtil.setpriorityKanban(filteredIssue, fieldMapping);
// adding missing priority

priorityList.forEach(priority -> projectIssueTypeMap.computeIfAbsent(priority, val -> 0L));
Expand All @@ -475,7 +483,8 @@ public Map<String, Long> filterKanbanHistoryDataBasedOnStartAndEndDateAndIssueTy
List<String> issueClosedStatusList,
LocalDate startDate,
LocalDate endDate,
List<KanbanIssueCustomHistory> dateWiseIssueClosedStatusList) {
List<KanbanIssueCustomHistory> dateWiseIssueClosedStatusList,
FieldMapping fieldMapping) {
Predicate<KanbanIssueHistory> predicate =
issue ->
issueClosedStatusList.contains(issue.getStatus())
Expand All @@ -493,7 +502,7 @@ public Map<String, Long> filterKanbanHistoryDataBasedOnStartAndEndDateAndIssueTy
}
});
Map<String, Long> projectIssueTypeMap =
KPIHelperUtil.setpriorityKanbanHistory(filteredIssue, customApiConfig);
KPIHelperUtil.setpriorityKanbanHistory(filteredIssue, fieldMapping);

// adding missing priority
priorityList.forEach(priority -> projectIssueTypeMap.computeIfAbsent(priority, val -> 0L));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -528,12 +528,7 @@ private void populateExcelData(
data.getInitialIssueNumber().stream()
.forEach(issue -> totalSprintStoryMap.putIfAbsent(issue.getNumber(), issue));
KPIExcelUtility.populateCommittmentReliability(
sprintName,
totalSprintStoryMap,
data,
excelData,
fieldMapping,
customApiConfig);
sprintName, totalSprintStoryMap, data, excelData, fieldMapping);
});
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,9 @@ private void populateExcelDataObject(
totalCreatedTicketsSprintStart,
closedIssuesWithStatus,
excelData,
customApiConfig,
configHelperService
.getFieldMappingMap()
.get(node.getProjectFilter().getBasicProjectConfigId()),
storyList);
}
}
Expand Down
Loading