X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fakraino%2Fvalidation%2Fui%2Fentity%2FSubmission.java;h=a4c797ca3215d624ce78850e282e6f137e7375db;hb=147ecf7bf79ea9967a121d0038103151a38ebef2;hp=797343f499df3610f43a2fea112fe38037b2f802;hpb=ab9486c87090e0670d44825db7fc5d4eb900fd89;p=validation.git diff --git a/ui/src/main/java/org/akraino/validation/ui/entity/Submission.java b/ui/src/main/java/org/akraino/validation/ui/entity/Submission.java index 797343f..a4c797c 100644 --- a/ui/src/main/java/org/akraino/validation/ui/entity/Submission.java +++ b/ui/src/main/java/org/akraino/validation/ui/entity/Submission.java @@ -15,23 +15,36 @@ */ package org.akraino.validation.ui.entity; +import java.io.IOException; import java.io.Serializable; +import java.util.HashSet; +import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.OneToOne; import javax.persistence.Table; import org.akraino.validation.ui.data.SubmissionStatus; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; +import org.onap.portalsdk.core.web.support.UserUtils; + +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; @Entity @Table(name = "submission") public class Submission implements Serializable { + private static final EELFLoggerDelegate LOGGER = EELFLoggerDelegate.getLogger(Submission.class); + /** * */ @@ -45,20 +58,14 @@ public class Submission implements Serializable { @Column(name = "status") private SubmissionStatus status; - @Column(name = "jenkins_queue_job_item_url") - private String jnksJobUrl; - - @Column(name = "nexus_result_url") - private String nexusResultUrl; - - @ManyToOne - @JoinColumn(name = "blueprint_instance_for_validation_id") - private BlueprintInstanceForValidation blueprintInst; - @ManyToOne @JoinColumn(name = "timeslot_id") private Timeslot timeslot; + @OneToOne(mappedBy = "submission", targetEntity = ValidationDbTestResult.class, fetch = FetchType.EAGER) + @JsonSerialize(using = ValidationDbTestResultSerializer.class) + private ValidationDbTestResult validationDbTestResult; + public void setSubmissionId(int submissionId) { this.submissionId = submissionId; } @@ -75,38 +82,63 @@ public class Submission implements Serializable { this.status = submissionStatus; } - public String getJenkinsQueueJobItemUrl() { - return this.jnksJobUrl; - } - - public void setJnksQueueJobItemUrl(String url) { - this.jnksJobUrl = url; - } - - public String getNexusResultUrl() { - return this.nexusResultUrl; - } - - public void setNexusResultUrl(String nexusResultUrl) { - this.nexusResultUrl = nexusResultUrl; + public void setTimeslot(Timeslot timeslot) { + this.timeslot = timeslot; } - public void setBlueprintInstanceForValidation(BlueprintInstanceForValidation blueprintInst) { - this.blueprintInst = blueprintInst; + public Timeslot getTimeslot() { + return this.timeslot; } - public BlueprintInstanceForValidation getBlueprintInstanceForValidation() { - return this.blueprintInst; + public void setValidationDbTestResult(ValidationDbTestResult validationDbTestResult) { + this.validationDbTestResult = validationDbTestResult; } - - public void setTimeslot(Timeslot timeslot) { - this.timeslot = timeslot; + public ValidationDbTestResult getValidationDbTestResult() { + return validationDbTestResult; } - public Timeslot getTimeslot() { - return this.timeslot; + static class ValidationDbTestResultSerializer extends StdSerializer { + + public ValidationDbTestResultSerializer() { + this(null); + } + + public ValidationDbTestResultSerializer(Class t) { + super(t); + } + + @Override + public void serialize(ValidationDbTestResult validationDbTestResult, + com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider) throws IOException { + ValidationDbTestResult result = new ValidationDbTestResult(); + try { + result.setResultId(validationDbTestResult.getResultId()); + result.setAllLayers(validationDbTestResult.getAllLayers()); + result.setBlueprintInstance(validationDbTestResult.getBlueprintInstance()); + result.setDateStorage(validationDbTestResult.getDateStorage()); + result.setLab(validationDbTestResult.getLab()); + result.setOptional(validationDbTestResult.getOptional()); + result.setResult(validationDbTestResult.getResult()); + result.setTimestamp(validationDbTestResult.getTimestamp()); + Set wRobotDbTestResults = new HashSet(); + if (validationDbTestResult.getWRobotDbTestResults() != null + && validationDbTestResult.getWRobotDbTestResults().size() > 0) { + for (WRobotDbTestResult wRobotDbTestResult : validationDbTestResult.getWRobotDbTestResults()) { + WRobotDbTestResult temp = new WRobotDbTestResult(); + temp.setLayer(wRobotDbTestResult.getLayer()); + // No need for robot results when fetching submissions + // temp.setRobotTestResults(wRobotDbTestResult.getRobotTestResults()); + temp.setWRobotResultId(wRobotDbTestResult.getWRobotResultId()); + wRobotDbTestResults.add(temp); + } + } + result.setWRobotDbTestResults(wRobotDbTestResults); + } catch (Exception ex) { + LOGGER.error(EELFLoggerDelegate.errorLogger, "Error when serializing." + UserUtils.getStackTrace(ex)); + } + gen.writeObject(result); + } } - }