From 76935321242a5f0530319c2ed413dee9eb165a03 Mon Sep 17 00:00:00 2001 From: LSmyrnaios Date: Mon, 4 Dec 2023 17:32:58 +0200 Subject: [PATCH] - Make the interfaces extend the "Serializable", instead of implementing the "Serializable" in the classes and have to return them, instead of their interface, thus reducing code-abstraction. - Add the ability to print a "StandardValidationResult" object in a user-friendly way. --- .../validation/StandardValidationResult.java | 52 ++++++++++++++++--- .../validation/XMLApplicationProfile.java | 3 +- .../validation/guideline/Guideline.java | 4 +- .../openaire/AbstractOpenAireProfile.java | 2 +- 4 files changed, 50 insertions(+), 11 deletions(-) diff --git a/src/main/java/eu/dnetlib/validator2/validation/StandardValidationResult.java b/src/main/java/eu/dnetlib/validator2/validation/StandardValidationResult.java index 3befcbf..a77ca84 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/StandardValidationResult.java +++ b/src/main/java/eu/dnetlib/validator2/validation/StandardValidationResult.java @@ -1,17 +1,21 @@ package eu.dnetlib.validator2.validation; -import java.io.Serializable; +import eu.dnetlib.validator2.validation.guideline.Guideline; + import java.util.Map; -import static eu.dnetlib.validator2.validation.guideline.Guideline.Result; -public class StandardValidationResult implements XMLApplicationProfile.ValidationResult, Serializable { +public class StandardValidationResult implements XMLApplicationProfile.ValidationResult { - private final String id; - private final double score; - private final Map results; + private String id; + private double score; + private Map results; - public StandardValidationResult(String id, double score, Map results) { + + public StandardValidationResult() { + } + + public StandardValidationResult(String id, double score, Map results) { this.id = id; this.score = score; this.results = results; @@ -28,8 +32,40 @@ public class StandardValidationResult implements XMLApplicationProfile.Validatio } @Override - public Map results() { + public Map results() { return results; } + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public double getScore() { + return score; + } + + public void setScore(double score) { + this.score = score; + } + + public Map getResults() { + return results; + } + + public void setResults(Map results) { + this.results = results; + } + + @Override + public String toString() { + return "StandardValidationResult{" + + "id='" + id + '\'' + + ", score=" + score + + ", results=" + results + + '}'; + } } diff --git a/src/main/java/eu/dnetlib/validator2/validation/XMLApplicationProfile.java b/src/main/java/eu/dnetlib/validator2/validation/XMLApplicationProfile.java index 2dc7984..21671f1 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/XMLApplicationProfile.java +++ b/src/main/java/eu/dnetlib/validator2/validation/XMLApplicationProfile.java @@ -3,6 +3,7 @@ package eu.dnetlib.validator2.validation; import eu.dnetlib.validator2.validation.guideline.Guideline; import org.w3c.dom.Document; +import java.io.Serializable; import java.util.Collection; import java.util.Map; @@ -21,7 +22,7 @@ public interface XMLApplicationProfile { int maxScore(); - interface ValidationResult { + interface ValidationResult extends Serializable { String id(); diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/Guideline.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/Guideline.java index d3946b1..4e1a018 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/Guideline.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/Guideline.java @@ -2,6 +2,8 @@ package eu.dnetlib.validator2.validation.guideline; import eu.dnetlib.validator2.engine.Status; +import java.io.Serializable; + public interface Guideline { String getName(); @@ -22,7 +24,7 @@ public interface Guideline { Result validate(String id, T t); - interface Result { + interface Result extends Serializable { int score(); diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/AbstractOpenAireProfile.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/AbstractOpenAireProfile.java index 8147bfa..ea66d3e 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/AbstractOpenAireProfile.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/AbstractOpenAireProfile.java @@ -37,7 +37,7 @@ public abstract class AbstractOpenAireProfile implements XMLApplicationProfile, } @Override - public StandardValidationResult validate(String id, Document document) { + public ValidationResult validate(String id, Document document) { int maxScore = maxScore(); double score = 0; final Map results = new HashMap<>();