*/
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);
+
/**
*
*/
@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;
}
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<ValidationDbTestResult> {
+
+ public ValidationDbTestResultSerializer() {
+ this(null);
+ }
+
+ public ValidationDbTestResultSerializer(Class<ValidationDbTestResult> 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<WRobotDbTestResult> wRobotDbTestResults = new HashSet<WRobotDbTestResult>();
+ 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);
+ }
}
-
}