X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fakraino%2Fvalidation%2Fui%2Fservice%2FJenkinsJobNotificationService.java;h=429696a43b39a44929a008904823367fc7466035;hb=770d403ce7ae30a6c5404887c0e0fcb0ca5c6f48;hp=0a50ad8180ed0cd0e785b0aec110a4b23c410bb4;hpb=258e9371b09efc06f8e82fe73d92a96cbecd98a5;p=validation.git diff --git a/ui/src/main/java/org/akraino/validation/ui/service/JenkinsJobNotificationService.java b/ui/src/main/java/org/akraino/validation/ui/service/JenkinsJobNotificationService.java index 0a50ad8..429696a 100644 --- a/ui/src/main/java/org/akraino/validation/ui/service/JenkinsJobNotificationService.java +++ b/ui/src/main/java/org/akraino/validation/ui/service/JenkinsJobNotificationService.java @@ -15,11 +15,18 @@ */ package org.akraino.validation.ui.service; +import java.util.ArrayList; +import java.util.List; + +import org.akraino.validation.ui.client.nexus.resources.ValidationNexusTestResult; +import org.akraino.validation.ui.dao.ValidationTestResultDAO; import org.akraino.validation.ui.data.JnksJobNotify; import org.akraino.validation.ui.data.SubmissionStatus; +import org.akraino.validation.ui.entity.LabSilo; import org.akraino.validation.ui.entity.Submission; +import org.akraino.validation.ui.entity.ValidationDbTestResult; import org.akraino.validation.ui.service.utils.SubmissionHelper; -import org.apache.log4j.Logger; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,30 +35,61 @@ import org.springframework.transaction.annotation.Transactional; @Transactional public class JenkinsJobNotificationService { + private static final EELFLoggerDelegate LOGGER = EELFLoggerDelegate.getLogger(JenkinsJobNotificationService.class); + @Autowired private SubmissionHelper submissionHelper; @Autowired - private SubmissionService submissionService; + private DbSubmissionAdapter submissionService; + + @Autowired + private SiloService siloService; + + @Autowired + private DbResultAdapter dbAdapter; - private static final Logger LOGGER = Logger.getLogger(JenkinsJobNotificationService.class); + @Autowired + private IntegratedResultService iService; + + @Autowired + private ValidationTestResultDAO vTestResultDAO; - public void handle(JnksJobNotify jnksJobNotify) { - String jenkinsJobName = System.getenv("jenkins_job_name"); + public void handle(JnksJobNotify jnksJobNotify) throws Exception { + String jenkinsJobName = System.getenv("JENKINS_JOB_NAME"); if (!jenkinsJobName.equals(jnksJobNotify.getName())) { return; } Submission submission = submissionService.getSubmission(Integer.toString(jnksJobNotify.getSubmissionId())); if (submission == null) { - LOGGER.debug("No related submission was found."); + LOGGER.debug(EELFLoggerDelegate.debugLogger, "No related submission was found"); return; } - submission.setNexusResultUrl(System.getenv("nexus_results_url") + "/" - + submission.getBlueprintInstance().getTimeslot().getLab().name().toLowerCase() + "-blu-val" - + "/job/validation/" + String.valueOf(jnksJobNotify.getbuildNumber())); - LOGGER.info("Updating submission with id: " + submission.getSubmissionId()); + String siloText = null; + for (LabSilo silo : siloService.getSilos()) { + if (silo.getLab().getLab().equals(submission.getTimeslot().getLab().getLab())) { + siloText = silo.getSilo(); + } + } + if (siloText == null) { + throw new IllegalArgumentException("Could not retrieve silo of the selected lab : " + + submission.getTimeslot().getLab().getLab().toString()); + } + LOGGER.info(EELFLoggerDelegate.applicationLogger, + "Updating submission with id: " + submission.getSubmissionId()); submission.setSubmissionStatus(SubmissionStatus.Completed); submissionHelper.saveSubmission(submission); + ValidationDbTestResult vDbResult = vTestResultDAO.getValidationTestResult(submission); + if (vDbResult != null) { + ValidationNexusTestResult vNexusResult = iService.getResult(vDbResult.getBlueprintName(), + vDbResult.getVersion(), vDbResult.getLab().getLab(), jnksJobNotify.getTimestamp()); + if (vNexusResult != null) { + List vNexusResults = new ArrayList(); + vNexusResults.add(vNexusResult); + dbAdapter.storeResultInDb(vNexusResults); + } + } + dbAdapter.updateTimestamp(jnksJobNotify); } }