Search in sources :

Example 11 with InsightsReportsKPIConfig

use of com.cognizant.devops.platformdal.assessmentreport.InsightsReportsKPIConfig in project Insights by CognizantOneDevOps.

the class AssesmentReportServiceImpl method editReportConfig.

/**
 * Method to edit Report Template Configuration
 *
 * @param templateReportJson
 * @param reportEntity
 * @param reportId
 * @throws InsightsCustomException
 */
public int editReportConfig(JsonObject templateReportJson) throws InsightsCustomException {
    InsightsAssessmentReportTemplate reportEntity = new InsightsAssessmentReportTemplate();
    List<Integer> kpiIds = new ArrayList<>();
    Set<InsightsReportsKPIConfig> reportsKPIConfigSet = new LinkedHashSet<>();
    int reportId = templateReportJson.get(AssessmentReportAndWorkflowConstants.REPORTID).getAsInt();
    String reportName = templateReportJson.get(AssessmentReportAndWorkflowConstants.REPORTNAME).getAsString();
    boolean isActive = templateReportJson.get(AssessmentReportAndWorkflowConstants.ISACTIVE).getAsBoolean();
    String description = templateReportJson.get("description").getAsString();
    String visualizationutil = templateReportJson.get("visualizationutil").getAsString();
    String templateType = (templateReportJson.has("templateType")) ? templateReportJson.get("templateType").getAsString() : "Others";
    reportEntity.setReportId(reportId);
    reportEntity.setActive(isActive);
    reportEntity.setDescription(description);
    reportEntity.setTemplateName(reportName);
    reportEntity.setFile(reportName);
    reportEntity.setVisualizationutil(visualizationutil);
    reportEntity.setTemplateType(templateType);
    if (visualizationutil.equalsIgnoreCase(AssessmentReportAndWorkflowConstants.GRAFANAPDF)) {
        JsonObject dashboardTemplateJson = createDashboardJson(templateReportJson);
        byte[] dashboardTemplatebytes = dashboardTemplateJson.toString().getBytes();
        uploadReportTemplateFile(reportId, reportEntity, "JSON", "dashboardTemplate.json", dashboardTemplatebytes);
    }
    if (!templateReportJson.has("kpiConfigs")) {
        throw new InsightsCustomException(" no KPI config provided for report : " + reportId);
    }
    JsonArray kpiConfigArray = templateReportJson.get("kpiConfigs").getAsJsonArray();
    for (JsonElement eachKpiConfig : kpiConfigArray) {
        JsonObject kpiObject = eachKpiConfig.getAsJsonObject();
        int kpiId = kpiObject.get(AssessmentReportAndWorkflowConstants.KPIID).getAsInt();
        if (kpiIds.contains(kpiId)) {
            log.debug(" Kpi id already exists with the reportId {} ", reportId);
        } else {
            InsightsKPIConfig kpiConfig = reportConfigDAL.getKPIConfig(kpiId);
            if (kpiConfig == null) {
                throw new NoResultException("kpi Id does not exist in dB");
            }
            kpiIds.add(kpiId);
            String vConfig = (kpiObject.get("visualizationConfigs").getAsJsonArray()).toString();
            InsightsReportsKPIConfig reportsKPIConfig = new InsightsReportsKPIConfig();
            reportsKPIConfig.setKpiConfig(kpiConfig);
            reportsKPIConfig.setvConfig(vConfig);
            reportsKPIConfig.setReportTemplateEntity(reportEntity);
            reportsKPIConfigSet.add(reportsKPIConfig);
        }
    }
    reportEntity.setReportsKPIConfig(reportsKPIConfigSet);
    reportConfigDAL.updateReportTemplate(reportEntity);
    return reportId;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) InsightsReportsKPIConfig(com.cognizant.devops.platformdal.assessmentreport.InsightsReportsKPIConfig) InsightsAssessmentReportTemplate(com.cognizant.devops.platformdal.assessmentreport.InsightsAssessmentReportTemplate) ArrayList(java.util.ArrayList) JsonObject(com.google.gson.JsonObject) NoResultException(javax.persistence.NoResultException) JsonArray(com.google.gson.JsonArray) InsightsCustomException(com.cognizant.devops.platformcommons.exception.InsightsCustomException) JsonElement(com.google.gson.JsonElement) InsightsKPIConfig(com.cognizant.devops.platformdal.assessmentreport.InsightsKPIConfig)

Example 12 with InsightsReportsKPIConfig

use of com.cognizant.devops.platformdal.assessmentreport.InsightsReportsKPIConfig in project Insights by CognizantOneDevOps.

the class InsightsInferenceReportServiceImpl method getKPIDetails.

/**
 * Method to get KPI Details
 *
 * @param assessmentReport
 * @param group
 * @return List<InsightsKPIResultDetails>
 * @throws InsightsCustomException
 */
private List<InsightsKPIResultDetails> getKPIDetails(InsightsAssessmentConfiguration assessmentReport, String group) throws InsightsCustomException {
    List<Integer> kpiIds = new ArrayList<>();
    Set<InsightsReportsKPIConfig> reportsKPIConfigSet = assessmentReport.getReportTemplateEntity().getReportsKPIConfig();
    reportsKPIConfigSet.forEach(reportKpi -> kpiIds.add(reportKpi.getKpiConfig().getKpiId()));
    String graphQuery = getQueryForKPIResults(kpiIds, group, assessmentReport.getId());
    log.debug(" graphQuery for KPI in InsightsInferenceReport {} ", graphQuery);
    JsonObject kpiResultsJson = getKpiQueryResults(graphQuery);
    return creatingKpiResultDetailList(kpiResultsJson);
}
Also used : InsightsReportsKPIConfig(com.cognizant.devops.platformdal.assessmentreport.InsightsReportsKPIConfig) ArrayList(java.util.ArrayList) JsonObject(com.google.gson.JsonObject)

Aggregations

InsightsReportsKPIConfig (com.cognizant.devops.platformdal.assessmentreport.InsightsReportsKPIConfig)12 JsonObject (com.google.gson.JsonObject)9 InsightsCustomException (com.cognizant.devops.platformcommons.exception.InsightsCustomException)7 JsonArray (com.google.gson.JsonArray)7 ArrayList (java.util.ArrayList)7 InsightsKPIConfig (com.cognizant.devops.platformdal.assessmentreport.InsightsKPIConfig)6 IOException (java.io.IOException)6 JsonElement (com.google.gson.JsonElement)5 NoResultException (javax.persistence.NoResultException)5 FileNotFoundException (java.io.FileNotFoundException)4 LinkedHashSet (java.util.LinkedHashSet)4 InsightsAssessmentReportTemplate (com.cognizant.devops.platformdal.assessmentreport.InsightsAssessmentReportTemplate)3 InsightsContentConfig (com.cognizant.devops.platformdal.assessmentreport.InsightsContentConfig)1 InsightsWorkflowConfiguration (com.cognizant.devops.platformdal.workflow.InsightsWorkflowConfiguration)1 PDFKPIVisualizationProcesser (com.cognizant.devops.platformreports.assessment.pdf.PDFKPIVisualizationProcesser)1 InsightsJobFailedException (com.cognizant.devops.platformreports.exception.InsightsJobFailedException)1 Gson (com.google.gson.Gson)1 JsonIOException (com.google.gson.JsonIOException)1 JsonSyntaxException (com.google.gson.JsonSyntaxException)1 List (java.util.List)1