*/
package org.akraino.validation.ui.service;
-import org.akraino.validation.ui.conf.UiUtils;
-import org.akraino.validation.ui.data.BlueprintLayer;
+import java.util.ArrayList;
+import java.util.List;
+
+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.LabInfo;
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.commons.httpclient.HttpException;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
+import org.onap.portalsdk.core.web.support.UserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
private SubmissionHelper submissionHelper;
@Autowired
- private SubmissionService submissionService;
+ private DbSubmissionAdapter submissionService;
+
+ @Autowired
+ private DbAdapter dbAdapter;
@Autowired
- private SiloService siloService;
+ private IntegratedResultService iService;
+
+ @Autowired
+ private ValidationTestResultDAO vTestResultDAO;
public void handle(JnksJobNotify jnksJobNotify) throws Exception {
String jenkinsJobName = System.getenv("JENKINS_JOB_NAME");
LOGGER.debug(EELFLoggerDelegate.debugLogger, "No related submission was found");
return;
}
- String siloText = null;
- for (LabSilo silo : siloService.getSilos()) {
- if (silo.getLab().getLab().equals(submission.getTimeslot().getLab().getLab())) {
- siloText = silo.getSilo();
- }
+ LabInfo labInfo = dbAdapter.getLab(submission.getTimeslot().getLabInfo().getLab());
+ if (labInfo == null) {
+ throw new IllegalArgumentException(
+ "Could not retrieve lab : " + submission.getTimeslot().getLabInfo().getLab().toString());
}
- if (siloText == null) {
- throw new Exception("Could not retrieve silo of the selected lab : "
- + submission.getTimeslot().getLab().getLab().toString());
- }
-
- String nexusUrl = UiUtils.NEXUS_URL + "/" + siloText + "/job/" + System.getenv("JENKINS_JOB_NAME") + "/"
- + String.valueOf(jnksJobNotify.getbuildNumber() + "/results");
- if (!submission.getBlueprintInstanceForValidation().getLayer().equals(BlueprintLayer.All)) {
- nexusUrl = nexusUrl + "/" + submission.getBlueprintInstanceForValidation().getLayer().name().toLowerCase();
- }
- submission.setNexusResultUrl(nexusUrl);
LOGGER.info(EELFLoggerDelegate.applicationLogger,
"Updating submission with id: " + submission.getSubmissionId());
submission.setSubmissionStatus(SubmissionStatus.Completed);
submissionHelper.saveSubmission(submission);
+ ValidationDbTestResult vDbResult = vTestResultDAO.getValidationTestResult(submission);
+ try {
+ if (vDbResult != null) {
+ // Fetch submission result from nexus
+ ValidationDbTestResult vNexusResult = iService.getResult(
+ vDbResult.getBlueprintInstance().getBlueprint().getBlueprintName(),
+ vDbResult.getBlueprintInstance().getVersion(), vDbResult.getLab().getLab(),
+ jnksJobNotify.getTimestamp());
+ if (vNexusResult != null) {
+ List<ValidationDbTestResult> vNexusResults = new ArrayList<ValidationDbTestResult>();
+ vNexusResults.add(vNexusResult);
+ dbAdapter.storeResultsInDb(vNexusResults);
+ }
+ }
+ } catch (HttpException ex) {
+ LOGGER.error(EELFLoggerDelegate.errorLogger,
+ "Error when retrieving Nexus results. " + UserUtils.getStackTrace(ex));
+ }
+ dbAdapter.updateTimestamp(jnksJobNotify);
}
}