UI initial implementation.
[validation.git] / ui / src / main / java / org / akraino / validation / ui / service / JenkinsJobNotificationService.java
1 /*
2  * Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may
5  * not use this file except in compliance with the License. You may obtain
6  * a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13  * implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  */
16 package org.akraino.validation.ui.service;
17
18 import org.akraino.validation.ui.data.JnksJobNotify;
19 import org.akraino.validation.ui.data.SubmissionStatus;
20 import org.akraino.validation.ui.entity.Submission;
21 import org.akraino.validation.ui.service.utils.SubmissionHelper;
22 import org.apache.log4j.Logger;
23 import org.springframework.beans.factory.annotation.Autowired;
24 import org.springframework.stereotype.Service;
25 import org.springframework.transaction.annotation.Transactional;
26
27 @Service
28 @Transactional
29 public class JenkinsJobNotificationService {
30
31     @Autowired
32     private SubmissionHelper submissionHelper;
33
34     @Autowired
35     private SubmissionService submissionService;
36
37     private static final Logger LOGGER = Logger.getLogger(JenkinsJobNotificationService.class);
38
39     public void handle(JnksJobNotify jnksJobNotify) {
40         String jenkinsJobName = System.getenv("jenkins_job_name");
41         if (!jenkinsJobName.equals(jnksJobNotify.getName())) {
42             return;
43         }
44         Submission submission = submissionService.getSubmission(Integer.toString(jnksJobNotify.getSubmissionId()));
45         if (submission == null) {
46             LOGGER.debug("No related submission was found.");
47             return;
48         }
49         submission.setNexusResultUrl(System.getenv("nexus_results_url") + "/"
50                 + submission.getBlueprintInstance().getTimeslot().getLab().name().toLowerCase() + "-blu-val"
51                 + "/job/validation/" + String.valueOf(jnksJobNotify.getbuildNumber()));
52         LOGGER.info("Updating submission with id: " + submission.getSubmissionId());
53         submission.setSubmissionStatus(SubmissionStatus.Completed);
54         submissionHelper.saveSubmission(submission);
55     }
56
57 }