- 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:
parent
0f01a962a8
commit
7693532124
|
@ -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 +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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<>();
|
||||
|
|
Loading…
Reference in New Issue