summaryrefslogtreecommitdiff
path: root/src/main/java/com/stileeducation/markr/dto
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/stileeducation/markr/dto')
-rw-r--r--src/main/java/com/stileeducation/markr/dto/AggregateResponseDTO.java (renamed from src/main/java/com/stileeducation/markr/dto/AggregatedTestResultsDTO.java)4
-rw-r--r--src/main/java/com/stileeducation/markr/dto/ImportResponseDTO.java115
-rw-r--r--src/main/java/com/stileeducation/markr/dto/MCQTestResultDTO.java15
-rw-r--r--src/main/java/com/stileeducation/markr/dto/MCQTestResultsDTO.java2
-rw-r--r--src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java12
5 files changed, 144 insertions, 4 deletions
diff --git a/src/main/java/com/stileeducation/markr/dto/AggregatedTestResultsDTO.java b/src/main/java/com/stileeducation/markr/dto/AggregateResponseDTO.java
index f5970c3..7232174 100644
--- a/src/main/java/com/stileeducation/markr/dto/AggregatedTestResultsDTO.java
+++ b/src/main/java/com/stileeducation/markr/dto/AggregateResponseDTO.java
@@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.Objects;
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class AggregatedTestResultsDTO {
+public class AggregateResponseDTO {
private double mean;
private double stddev;
@@ -85,7 +85,7 @@ public class AggregatedTestResultsDTO {
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- AggregatedTestResultsDTO that = (AggregatedTestResultsDTO) o;
+ AggregateResponseDTO that = (AggregateResponseDTO) o;
return Double.compare(mean, that.mean) == 0
&& Double.compare(stddev, that.stddev) == 0
&& Double.compare(min, that.min) == 0
diff --git a/src/main/java/com/stileeducation/markr/dto/ImportResponseDTO.java b/src/main/java/com/stileeducation/markr/dto/ImportResponseDTO.java
new file mode 100644
index 0000000..8613865
--- /dev/null
+++ b/src/main/java/com/stileeducation/markr/dto/ImportResponseDTO.java
@@ -0,0 +1,115 @@
+package com.stileeducation.markr.dto;
+
+public class ImportResponseDTO {
+
+ private String status;
+ private String message;
+ private ImportData data;
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public ImportData getData() {
+ return data;
+ }
+
+ public void setData(ImportData data) {
+ this.data = data;
+ }
+
+ public static class ImportData {
+ private int studentsCreated = 0;
+ private int studentsUpdated = 0;
+
+ private int testsCreated = 0;
+ private int testsUpdated = 0;
+
+ private int testResultsCreated = 0;
+ private int testResultsUpdated = 0;
+
+ public int getStudentsCreated() {
+ return studentsCreated;
+ }
+
+ public void setStudentsCreated(int studentsCreated) {
+ this.studentsCreated = studentsCreated;
+ }
+
+ public int getStudentsUpdated() {
+ return studentsUpdated;
+ }
+
+ public void setStudentsUpdated(int studentsUpdated) {
+ this.studentsUpdated = studentsUpdated;
+ }
+
+ public int getTestsCreated() {
+ return testsCreated;
+ }
+
+ public void setTestsCreated(int testsCreated) {
+ this.testsCreated = testsCreated;
+ }
+
+ public int getTestsUpdated() {
+ return testsUpdated;
+ }
+
+ public void setTestsUpdated(int testsUpdated) {
+ this.testsUpdated = testsUpdated;
+ }
+
+ public int getTestResultsCreated() {
+ return testResultsCreated;
+ }
+
+ public void setTestResultsCreated(int testResultsCreated) {
+ this.testResultsCreated = testResultsCreated;
+ }
+
+ public int getTestResultsUpdated() {
+ return testResultsUpdated;
+ }
+
+ public void setTestResultsUpdated(int testResultsUpdated) {
+ this.testResultsUpdated = testResultsUpdated;
+ }
+
+ public void incrementStudentsCreated() {
+ this.studentsCreated++;
+ }
+
+ public void incrementStudentsUpdated() {
+ this.studentsUpdated++;
+ }
+
+ public void incrementTestsCreated() {
+ this.testsCreated++;
+ }
+
+ public void incrementTestsUpdated() {
+ this.testsUpdated++;
+ }
+
+ public void incrementTestResultsCreated() {
+ this.testResultsCreated++;
+ }
+
+ public void incrementTestResultsUpdated() {
+ this.testResultsUpdated++;
+ }
+ }
+}
diff --git a/src/main/java/com/stileeducation/markr/dto/MCQTestResultDTO.java b/src/main/java/com/stileeducation/markr/dto/MCQTestResultDTO.java
index b227fe3..da6a0e1 100644
--- a/src/main/java/com/stileeducation/markr/dto/MCQTestResultDTO.java
+++ b/src/main/java/com/stileeducation/markr/dto/MCQTestResultDTO.java
@@ -1,5 +1,8 @@
package com.stileeducation.markr.dto;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
@@ -9,11 +12,23 @@ import java.util.Objects;
@XmlRootElement(name = "mcq-test-result")
public class MCQTestResultDTO {
+ @NotBlank
private String scannedOn;
+
+ @NotBlank(message = "First name is mandatory")
private String firstName;
+
+ @NotBlank(message = "Last name is mandatory")
private String lastName;
+
+ @NotBlank(message = "Last name is mandatory")
private String studentNumber;
+
+ @NotBlank(message = "Test id is mandatory")
private String testId;
+
+ @Valid
+ @NotNull
private SummaryMarksDTO summaryMarks;
@XmlAttribute(name = "scanned-on")
diff --git a/src/main/java/com/stileeducation/markr/dto/MCQTestResultsDTO.java b/src/main/java/com/stileeducation/markr/dto/MCQTestResultsDTO.java
index e9ee8a7..fb77125 100644
--- a/src/main/java/com/stileeducation/markr/dto/MCQTestResultsDTO.java
+++ b/src/main/java/com/stileeducation/markr/dto/MCQTestResultsDTO.java
@@ -1,5 +1,6 @@
package com.stileeducation.markr.dto;
+import jakarta.validation.Valid;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
@@ -9,6 +10,7 @@ import java.util.Objects;
@XmlRootElement(name = "mcq-test-results")
public class MCQTestResultsDTO {
+ @Valid
private List<MCQTestResultDTO> mcqTestResults;
@XmlElement(name = "mcq-test-result")
diff --git a/src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java b/src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java
index a67d19c..788eea0 100644
--- a/src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java
+++ b/src/main/java/com/stileeducation/markr/dto/SummaryMarksDTO.java
@@ -1,5 +1,7 @@
package com.stileeducation.markr.dto;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotNull;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlRootElement;
@@ -7,8 +9,14 @@ import java.util.Objects;
@XmlRootElement(name = "summary-marks")
public class SummaryMarksDTO {
- private int available;
- private int obtained;
+
+ @NotNull(message = "Available marks must not be null")
+ @Min(value = 0, message = "Available marks must be non-negative")
+ private Integer available;
+
+ @NotNull(message = "Obtained marks must not be null")
+ @Min(value = 0, message = "Obtained marks must be non-negative")
+ private Integer obtained;
@XmlAttribute(name = "available")
public int getAvailable() {