136 lines
3.4 KiB
Java
136 lines
3.4 KiB
Java
package eu.dnetlib.validator2.validation.guideline;
|
|
|
|
import eu.dnetlib.validator2.engine.Status;
|
|
|
|
import java.io.Serializable;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
public final class StandardResult implements Guideline.Result, Serializable {
|
|
|
|
private static final List<String> EMPTY = Collections.emptyList();
|
|
|
|
private List<String> warnings;
|
|
private List<String> errors;
|
|
private String internalError;
|
|
private Status status;
|
|
private int score;
|
|
|
|
public StandardResult(int score, Status status, List<String> warnings, List<String> errors, String internalError) {
|
|
this.status = status;
|
|
this.score = score;
|
|
this.warnings = warnings;
|
|
this.errors = errors;
|
|
this.internalError = internalError;
|
|
}
|
|
|
|
@Override
|
|
public int score() {
|
|
return score;
|
|
}
|
|
|
|
@Override
|
|
public Status status() {
|
|
return status;
|
|
}
|
|
|
|
@Override
|
|
public Iterable<String> warnings() {
|
|
return warnings;
|
|
}
|
|
|
|
@Override
|
|
public Iterable<String> errors() {
|
|
return errors;
|
|
}
|
|
|
|
@Override
|
|
public String internalError() {
|
|
return internalError;
|
|
}
|
|
|
|
@Override
|
|
public int getScore() {
|
|
return score;
|
|
}
|
|
|
|
@Override
|
|
public void setScore(int score) {
|
|
this.score = score;
|
|
}
|
|
|
|
@Override
|
|
public Status getStatus() {
|
|
return status;
|
|
}
|
|
|
|
@Override
|
|
public void setStatus(Status status) {
|
|
this.status = status;
|
|
}
|
|
|
|
@Override
|
|
public Iterable<String> getWarnings() {
|
|
return warnings;
|
|
}
|
|
|
|
@Override
|
|
public void setWarnings(Iterable<String> warnings) {
|
|
this.warnings = (List<String>) warnings;
|
|
}
|
|
|
|
@Override
|
|
public Iterable<String> getErrors() {
|
|
return errors;
|
|
}
|
|
|
|
@Override
|
|
public void setErrors(Iterable<String> errors) {
|
|
this.errors = (List<String>) errors;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalError() {
|
|
return internalError;
|
|
}
|
|
|
|
@Override
|
|
public void setInternalError(String internalError) {
|
|
this.internalError = internalError;
|
|
}
|
|
|
|
public static StandardResult forError(String message) {
|
|
return new StandardResult(-1, Status.ERROR, EMPTY, EMPTY, message);
|
|
}
|
|
|
|
public static StandardResult forSuccess(int score, List<String> warnings) {
|
|
return new StandardResult(score, Status.SUCCESS, sanitize(warnings), EMPTY, null);
|
|
// LEONIDAS
|
|
// if (warnings.isEmpty()) {
|
|
// return new StandardResult(score, Status.SUCCESS, sanitize(warnings), EMPTY, null);
|
|
// }
|
|
// else {
|
|
// return new StandardResult(0, Status.SUCCESS, sanitize(warnings), EMPTY, null);
|
|
// }
|
|
}
|
|
|
|
public static StandardResult forFailure(List<String> warnings, List<String> errors) {
|
|
return new StandardResult(0, Status.FAILURE, sanitize(warnings), sanitize(errors), null);
|
|
}
|
|
|
|
private static List<String> sanitize(List<String> list) {
|
|
if (list == null || list.size() == 0) return EMPTY;
|
|
return Collections.unmodifiableList(list);
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
if (status == Status.SUCCESS || status == Status.FAILURE) {
|
|
return status + " (" + warnings.size() + " warnings) - score " + score;
|
|
}
|
|
else {
|
|
return status + " (" + warnings.size() + " warnings) - " + internalError;
|
|
}
|
|
}
|
|
}
|