- 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.
This commit is contained in:
Lampros Smyrnaios 2023-12-04 17:32:58 +02:00
parent 0f01a962a8
commit 7693532124
4 changed files with 50 additions and 11 deletions

View File

@ -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<String, Result> results;
private String id;
private double score;
private Map<String, Guideline.Result> results;
public StandardValidationResult(String id, double score, Map<String, Result> results) {
public StandardValidationResult() {
}
public StandardValidationResult(String id, double score, Map<String, Guideline.Result> results) {
this.id = id;
this.score = score;
this.results = results;
@ -28,8 +32,40 @@ public class StandardValidationResult implements XMLApplicationProfile.Validatio
}
@Override
public Map<String, Result> results() {
public Map<String, Guideline.Result> 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<String, Guideline.Result> getResults() {
return results;
}
public void setResults(Map<String, Guideline.Result> results) {
this.results = results;
}
@Override
public String toString() {
return "StandardValidationResult{" +
"id='" + id + '\'' +
", score=" + score +
", results=" + results +
'}';
}
}

View File

@ -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();

View File

@ -2,6 +2,8 @@ package eu.dnetlib.validator2.validation.guideline;
import eu.dnetlib.validator2.engine.Status;
import java.io.Serializable;
public interface Guideline<T> {
String getName();
@ -22,7 +24,7 @@ public interface Guideline<T> {
Result validate(String id, T t);
interface Result {
interface Result extends Serializable {
int score();

View File

@ -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<String, Guideline.Result> results = new HashMap<>();