From 674a8ca833ca51fa9299e5dbb14d54203d9c8d76 Mon Sep 17 00:00:00 2001 From: pispis Date: Thu, 8 Dec 2022 15:53:29 +0200 Subject: [PATCH] Built synthetic FAIR guidelines that needed to get through rules of the data archives guidelines. --- .../validation/guideline/StandardResult.java | 2 +- .../validation/guideline/openaire/F2_01M.java | 2 +- .../validation/guideline/openaire/F3_01M.java | 2 +- .../openaire/FAIR_Data_GuidelinesProfile.java | 378 +++++++++--------- .../validation/guideline/openaire/I2_01M.java | 2 +- .../validation/guideline/openaire/R1_01M.java | 2 +- .../guideline/openaire/R1_2_01M.java | 2 +- .../eu/dnetlib/validator2/engine/Test.java | 6 +- .../dnetlib/validator2/engine/Test_FAIR.java | 15 +- 9 files changed, 212 insertions(+), 199 deletions(-) diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/StandardResult.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/StandardResult.java index d18ef80..583bbce 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/StandardResult.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/StandardResult.java @@ -16,7 +16,7 @@ public final class StandardResult implements Guideline.Result { private final Status status; private final int score; - private StandardResult(int score, Status status, List warnings, List errors, String internalError) { + public StandardResult(int score, Status status, List warnings, List errors, String internalError) { this.status = status; this.score = score; this.warnings = warnings; diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/F2_01M.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/F2_01M.java index 41b99cd..391c356 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/F2_01M.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/F2_01M.java @@ -88,7 +88,7 @@ public final class F2_01M extends AbstractOpenAireProfile { private static final int MAX_SCORE = GUIDELINES.stream().map(Guideline::getWeight).reduce(0, Integer::sum); public F2_01M() { - super("F2_01M Guideline for the OpenAIRE FAIR Guidelines for Data Repositories Profile v4"); + super("Rich metadata is provided to allow discovery"); } @Override diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/F3_01M.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/F3_01M.java index 671bb4f..1c76d42 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/F3_01M.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/F3_01M.java @@ -53,7 +53,7 @@ public final class F3_01M extends AbstractOpenAireProfile { private static final int MAX_SCORE = GUIDELINES.stream().map(Guideline::getWeight).reduce(0, Integer::sum); public F3_01M() { - super("F3_01M Guideline for the OpenAIRE FAIR Guidelines for Data Repositories Profile v4"); + super("Metadata includes the identifier for the data"); } @Override diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/FAIR_Data_GuidelinesProfile.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/FAIR_Data_GuidelinesProfile.java index 32624a7..a950e2d 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/FAIR_Data_GuidelinesProfile.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/FAIR_Data_GuidelinesProfile.java @@ -1,5 +1,6 @@ package eu.dnetlib.validator2.validation.guideline.openaire; +//import com.google.gson.Gson; import eu.dnetlib.validator2.engine.Status; import eu.dnetlib.validator2.validation.XMLApplicationProfile; import eu.dnetlib.validator2.validation.guideline.*; @@ -9,8 +10,7 @@ import org.w3c.dom.Document; import java.util.*; import java.util.stream.Collectors; -import static eu.dnetlib.validator2.validation.guideline.Cardinality.ONE; -import static eu.dnetlib.validator2.validation.guideline.Cardinality.ONE_TO_N; +import static eu.dnetlib.validator2.validation.guideline.Cardinality.*; public final class FAIR_Data_GuidelinesProfile extends AbstractOpenAireProfile { @@ -289,80 +289,80 @@ public final class FAIR_Data_GuidelinesProfile extends AbstractOpenAireProfile { } -// TODO this goes to FAIRProfile -class MetadataCompleteness extends AbstractGuideline { - - public MetadataCompleteness() { - super("MetadataCompleteness", 40); - } - - @Override - public Result validate(String id, Document t) { - DataArchiveGuidelinesV2Profile profile = new DataArchiveGuidelinesV2Profile(); - - // <>ODO: iterate over results and build one Guideline.Result - try { -// System.out.println("Processing MetadataCompleteness..."); - XMLApplicationProfile.ValidationResult res = profile.validate(id, t); - Map results = res.results(); - int MaxScoreMetadataCompleteness = (int) ((res.score()*getWeight())/100); - -// System.out.println("Max score DataValidator(%): " + res.score()); -// System.out.println("Weight FAIRG: " + getWeight()); -// System.out.println("Max score MetadataCompleteness: " + MaxScoreMetadataCompleteness); -// System.out.println("\n\n\n\n"); - -// for (Map.Entry entry : results.entrySet()) { -// System.out.println(entry.getKey() + " = " + entry.getValue()); +//// TODO this goes to FAIRProfile +//class MetadataCompleteness extends AbstractGuideline { +// +// public MetadataCompleteness() { +// super("MetadataCompleteness", 40); +// } +// +// @Override +// public Result validate(String id, Document t) { +// DataArchiveGuidelinesV2Profile profile = new DataArchiveGuidelinesV2Profile(); +// +// // <>ODO: iterate over results and build one Guideline.Result +// try { +//// System.out.println("Processing MetadataCompleteness..."); +// XMLApplicationProfile.ValidationResult res = profile.validate(id, t); +// Map results = res.results(); +// int MaxScoreMetadataCompleteness = (int) ((res.score()*getWeight())/100); +// +//// System.out.println("Max score DataValidator(%): " + res.score()); +//// System.out.println("Weight FAIRG: " + getWeight()); +//// System.out.println("Max score MetadataCompleteness: " + MaxScoreMetadataCompleteness); +//// System.out.println("\n\n\n\n"); +// +//// for (Map.Entry entry : results.entrySet()) { +//// System.out.println(entry.getKey() + " = " + entry.getValue()); +//// } +//// System.out.println(score); +// return getResult(MaxScoreMetadataCompleteness); +// +//// System.out.println(tempp.status() + " - " + tempp.score()); +//// String printout = results.entrySet().stream(). +//// map(entry -> entry.getValue() + ": " + entry.getKey()).collect(Collectors.joining("\n")); +//// System.out.println(printout); +// +//// System.out.println("\n\n\n\n"); +// } catch (Exception e) { +// System.out.println(e.getMessage()); +// System.out.println(e); +// e.printStackTrace(); +// } +// +// return null; +// } +// +// private static Result getResult(int score) { +// String aa; +// aa = (score > 0) ? "SUCCESS" : "FAILURE"; +// return new Result() { +// @Override +// public int score() { +// return score; // } -// System.out.println(score); - return getResult(MaxScoreMetadataCompleteness); - -// System.out.println(tempp.status() + " - " + tempp.score()); -// String printout = results.entrySet().stream(). -// map(entry -> entry.getValue() + ": " + entry.getKey()).collect(Collectors.joining("\n")); -// System.out.println(printout); - -// System.out.println("\n\n\n\n"); - } catch (Exception e) { - System.out.println(e.getMessage()); - System.out.println(e); - e.printStackTrace(); - } - - return null; - } - - private static Result getResult(int score) { - String aa; - aa = (score > 0) ? "SUCCESS" : "FAILURE"; - return new Result() { - @Override - public int score() { - return score; - } - - @Override - public Status status() { -// return null; - return Status.valueOf(aa); - } - - @Override - public Iterable warnings() { return null; } - - @Override - public Iterable errors() { - return null; - } - - @Override - public String internalError() { - return null; - } - }; - } -} +// +// @Override +// public Status status() { +//// return null; +// return Status.valueOf(aa); +// } +// +// @Override +// public Iterable warnings() { return null; } +// +// @Override +// public Iterable errors() { +// return null; +// } +// +// @Override +// public String internalError() { +// return null; +// } +// }; +// } +//} class F2_01M_SPEC extends AbstractGuideline { @@ -374,39 +374,47 @@ class F2_01M_SPEC extends AbstractGuideline { public Result validate(String id, Document t) { F2_01M profile = new F2_01M(); - // <>ODO: iterate over results and build one Guideline.Result + // TODO: iterate over results and build one Guideline.Result try { - System.out.println("\nRich metadata is provided to allow discovery"); XMLApplicationProfile.ValidationResult res_F = profile.validate(id, t); - Map results = res_F.results(); - int MaxScoreF2_01M_SPEC = (int) ((res_F.score()*getWeight())/100); + +// Get actual score and not (%) to incorporate to FAIR score + final int MaxScoreF2_01M_SPEC = (int) ((res_F.score()*getWeight())/100); // System.out.println("Max score DataValidator(%): " + res_F.score()); // System.out.println("Weight FAIRG: " + getWeight()); // System.out.println("Max score F2_01M_SPEC: " + MaxScoreF2_01M_SPEC); -// System.out.println("\n\n\n\n"); - for (Map.Entry entry : results.entrySet()) { - System.out.println(entry.getKey() + " = " + entry.getValue()); + ArrayList warnings2 = new ArrayList<>(); + ArrayList errors2 = new ArrayList<>(); + int score = 0; + for (Map.Entry entry : res_F.results().entrySet()) { + if (res_F.results().get(entry.getKey()).warnings().toString().length() > 2) { + warnings2.add(res_F.results().get(entry.getKey()).warnings().toString()); + } + if (res_F.results().get(entry.getKey()).errors().toString().length() > 2) { + errors2.add(res_F.results().get(entry.getKey()).errors().toString()); + } + if (entry.getValue().toString().contains("SUCCESS")) { + score += 2; + } } - return getResult(MaxScoreF2_01M_SPEC); -// System.out.println(tempp.status() + " - " + tempp.score()); -// String printout = results.entrySet().stream(). -// map(entry -> entry.getValue() + ": " + entry.getKey()).collect(Collectors.joining("\n")); -// System.out.println(printout); -// System.out.println("\n\n\n\n"); + final Result ress = getResult(warnings2, errors2, score); + + return new StandardResult(ress.score(), ress.status(), (List) ress.warnings(), (List) ress.errors(), ress.internalError()); + } catch (Exception e) { System.out.println(e.getMessage()); System.out.println(e); - e.printStackTrace();} - - return null; + e.printStackTrace(); + return null; + } } - private static Result getResult(int score) { - String aa; - aa = (score > 0) ? "SUCCESS" : "FAILURE"; + + private static Result getResult(ArrayList warnings2, ArrayList errors2, int score) { + return new Result() { @Override public int score() { @@ -415,18 +423,17 @@ class F2_01M_SPEC extends AbstractGuideline { @Override public Status status() { -// return null; - return Status.valueOf(aa); + return Status.valueOf((score > 0) ? "SUCCESS" : "FAILURE"); } @Override public Iterable warnings() { - return null; + return warnings2; } @Override public Iterable errors() { - return null; + return errors2; } @Override @@ -445,9 +452,9 @@ class F3_01M_SPEC extends AbstractGuideline { public Result validate(String id, Document t) { F3_01M profile = new F3_01M(); - // <>ODO: iterate over results and build one Guideline.Result + // TODO: iterate over results and build one Guideline.Result try { - System.out.println("\nMetadata includes the identifier for the data"); +// System.out.println("\nMetadata includes the identifier for the data"); XMLApplicationProfile.ValidationResult res_F = profile.validate(id, t); Map results = res_F.results(); // int MaxScoreF3_01M_SPEC = (int) ((res_F.score()*getWeight())/100); @@ -460,32 +467,30 @@ class F3_01M_SPEC extends AbstractGuideline { MaxScoreF3_01M_SPEC = (int) ((res_F.score()*getWeight())/100); } -// System.out.println("% score DataValidator: " + res_F.score()); -// System.out.println("Weight FAIRG: " + getWeight()); -// System.out.println("Max score F3_01M_SPEC: " + MaxScoreF3_01M_SPEC); - -// System.out.println("\n\n\n\n"); - for (Map.Entry entry : results.entrySet()) { - System.out.println(entry.getKey() + " = " + entry.getValue()); + ArrayList warnings2 = new ArrayList<>(); + ArrayList errors2 = new ArrayList<>(); + for (Map.Entry entry : res_F.results().entrySet()) { + if (res_F.results().get(entry.getKey()).warnings().toString().length() > 2) { + warnings2.add(res_F.results().get(entry.getKey()).warnings().toString()); + } + if (res_F.results().get(entry.getKey()).errors().toString().length() > 2) { + errors2.add(res_F.results().get(entry.getKey()).errors().toString()); + } } - return getResult(MaxScoreF3_01M_SPEC); -// System.out.println(tempp.status() + " - " + tempp.score()); -// String printout = results.entrySet().stream(). -// map(entry -> entry.getValue() + ": " + entry.getKey()).collect(Collectors.joining("\n")); -// System.out.println(printout); -// System.out.println("\n\n\n\n"); + final Result ress = getResult(warnings2, errors2, MaxScoreF3_01M_SPEC); + + return new StandardResult(ress.score(), ress.status(), (List) ress.warnings(), (List) ress.errors(), ress.internalError()); + } catch (Exception e) { System.out.println(e.getMessage()); System.out.println(e); e.printStackTrace(); + return null; } - return null; } + private static Result getResult(ArrayList warnings2, ArrayList errors2, int score) { - private static Result getResult(int score) { - String aa; - aa = (score > 0) ? "SUCCESS" : "FAILURE"; return new Result() { @Override public int score() { @@ -494,18 +499,17 @@ class F3_01M_SPEC extends AbstractGuideline { @Override public Status status() { -// return null; - return Status.valueOf(aa); + return Status.valueOf((score > 0) ? "SUCCESS" : "FAILURE"); } @Override public Iterable warnings() { - return null; + return warnings2; } @Override public Iterable errors() { - return null; + return errors2; } @Override @@ -524,9 +528,9 @@ class I2_01M_SPEC extends AbstractGuideline { public Result validate(String id, Document t) { I2_01M profile = new I2_01M(); - // <>ODO: iterate over results and build one Guideline.Result + // TODO: iterate over results and build one Guideline.Result try { - System.out.println("\nMetadata uses FAIR-compliant vocabularies"); +// System.out.println("\nMetadata uses FAIR-compliant vocabularies"); XMLApplicationProfile.ValidationResult res_F = profile.validate(id, t); Map results = res_F.results(); // int MaxScoreI2_01M_SPEC = (int) ((res_F.score()*getWeight())/100); @@ -539,21 +543,21 @@ class I2_01M_SPEC extends AbstractGuideline { MaxScoreI2_01M_SPEC = (int) ((res_F.score()*getWeight())/100); } -// System.out.println("% score DataValidator: " + res_F.score()); -// System.out.println("Weight FAIRG: " + getWeight()); -// System.out.println("Max score I2_01M_SPEC: " + MaxScoreI2_01M_SPEC); - -// System.out.println("\n\n\n\n"); - for (Map.Entry entry : results.entrySet()) { - System.out.println(entry.getKey() + " = " + entry.getValue()); + ArrayList warnings2 = new ArrayList<>(); + ArrayList errors2 = new ArrayList<>(); + for (Map.Entry entry : res_F.results().entrySet()) { + if (res_F.results().get(entry.getKey()).warnings().toString().length() > 2) { + warnings2.add(res_F.results().get(entry.getKey()).warnings().toString()); + } + if (res_F.results().get(entry.getKey()).errors().toString().length() > 2) { + errors2.add(res_F.results().get(entry.getKey()).errors().toString()); + } } - return getResult(MaxScoreI2_01M_SPEC); -// System.out.println(tempp.status() + " - " + tempp.score()); -// String printout = results.entrySet().stream(). -// map(entry -> entry.getValue() + ": " + entry.getKey()).collect(Collectors.joining("\n")); -// System.out.println(printout); -// System.out.println("\n\n\n\n"); + final Result ress = getResult(warnings2, errors2, MaxScoreI2_01M_SPEC); + + return new StandardResult(ress.score(), ress.status(), (List) ress.warnings(), (List) ress.errors(), ress.internalError()); + } catch (Exception e) { System.out.println(e.getMessage()); System.out.println(e); @@ -562,9 +566,8 @@ class I2_01M_SPEC extends AbstractGuideline { return null; } - private static Result getResult(int score) { - String aa; - aa = (score > 0) ? "SUCCESS" : "FAILURE"; + private static Result getResult(ArrayList warnings2, ArrayList errors2, int score) { + return new Result() { @Override public int score() { @@ -573,18 +576,17 @@ class I2_01M_SPEC extends AbstractGuideline { @Override public Status status() { - return null; -// return Status.valueOf(aa); + return Status.valueOf((score > 0) ? "SUCCESS" : "FAILURE"); } @Override public Iterable warnings() { - return null; + return warnings2; } @Override public Iterable errors() { - return null; + return errors2; } @Override @@ -603,28 +605,32 @@ class R1_01M_SPEC extends AbstractGuideline { public Result validate(String id, Document t) { R1_01M profile = new R1_01M(); - // <>ODO: iterate over results and build one Guideline.Result + // TODO: iterate over results and build one Guideline.Result try { - System.out.println("\nPlurality of accurate and relevant attributes are provided to allow reuse"); +// System.out.println("\nPlurality of accurate and relevant attributes are provided to allow reuse"); XMLApplicationProfile.ValidationResult res_F = profile.validate(id, t); Map results = res_F.results(); int MaxScoreR1_01M_SPEC = (int) ((res_F.score()*getWeight())/100); -// System.out.println("% score DataValidator: " + res_F.score()); -// System.out.println("Weight FAIRG: " + getWeight()); -// System.out.println("Max score R1_01M_SPEC: " + MaxScoreR1_01M_SPEC); - -// System.out.println("\n\n\n\n"); - for (Map.Entry entry : results.entrySet()) { - System.out.println(entry.getKey() + " = " + entry.getValue()); + ArrayList warnings2 = new ArrayList<>(); + ArrayList errors2 = new ArrayList<>(); + int score = 0; + for (Map.Entry entry : res_F.results().entrySet()) { + if (res_F.results().get(entry.getKey()).warnings().toString().length() > 2) { + warnings2.add(res_F.results().get(entry.getKey()).warnings().toString()); + } + if (res_F.results().get(entry.getKey()).errors().toString().length() > 2) { + errors2.add(res_F.results().get(entry.getKey()).errors().toString()); + } + if (entry.getValue().toString().contains("SUCCESS")) { + score += 3; + } } - return getResult(MaxScoreR1_01M_SPEC); -// System.out.println(tempp.status() + " - " + tempp.score()); -// String printout = results.entrySet().stream(). -// map(entry -> entry.getValue() + ": " + entry.getKey()).collect(Collectors.joining("\n")); -// System.out.println(printout); -// System.out.println("\n\n\n\n"); + final Result ress = getResult(warnings2, errors2, score); + + return new StandardResult(ress.score(), ress.status(), (List) ress.warnings(), (List) ress.errors(), ress.internalError()); + } catch (Exception e) { System.out.println(e.getMessage()); System.out.println(e); @@ -633,8 +639,8 @@ class R1_01M_SPEC extends AbstractGuideline { return null; } - private static Result getResult(int score) { - String aa = (score > 0) ? "SUCCESS" : "FAILURE"; + private static Result getResult(ArrayList warnings2, ArrayList errors2, int score) { + return new Result() { @Override public int score() { @@ -643,18 +649,17 @@ class R1_01M_SPEC extends AbstractGuideline { @Override public Status status() { - return null; -// return Status.valueOf(aa); + return Status.valueOf((score > 0) ? "SUCCESS" : "FAILURE"); } @Override public Iterable warnings() { - return null; + return warnings2; } @Override public Iterable errors() { - return null; + return errors2; } @Override @@ -673,28 +678,33 @@ class R1_2_01M_SPEC extends AbstractGuideline { public Result validate(String id, Document t) { R1_2_01M profile = new R1_2_01M(); - // <>ODO: iterate over results and build one Guideline.Result + // TODO: iterate over results and build one Guideline.Result try { - System.out.println("\nMetadata includes provenance information according to a cross-community language"); +// System.out.println("\nMetadata includes provenance information according to a cross-community language"); XMLApplicationProfile.ValidationResult res_F = profile.validate(id, t); Map results = res_F.results(); int MaxScoreR1_2_01M_SPEC = (int) ((res_F.score()*getWeight())/100); -// System.out.println("% score DataValidator: " + res_F.score()); -// System.out.println("Weight FAIRG: " + getWeight()); -// System.out.println("Max score R1_2_01M_SPEC: " + MaxScoreR1_2_01M_SPEC); -// System.out.println("\n\n\n\n"); - for (Map.Entry entry : results.entrySet()) { - System.out.println(entry.getKey() + " = " + entry.getValue()); + ArrayList warnings2 = new ArrayList<>(); + ArrayList errors2 = new ArrayList<>(); + int score = 0; + for (Map.Entry entry : res_F.results().entrySet()) { + if (res_F.results().get(entry.getKey()).warnings().toString().length() > 2) { + warnings2.add(res_F.results().get(entry.getKey()).warnings().toString()); + } + if (res_F.results().get(entry.getKey()).errors().toString().length() > 2) { + errors2.add(res_F.results().get(entry.getKey()).errors().toString()); + } + if (entry.getValue().toString().contains("SUCCESS")) { + score += 3; + } } - return getResult(MaxScoreR1_2_01M_SPEC); -// System.out.println(tempp.status() + " - " + tempp.score()); -// String printout = results.entrySet().stream(). -// map(entry -> entry.getValue() + ": " + entry.getKey()).collect(Collectors.joining("\n")); -// System.out.println(printout); -// System.out.println("\n\n\n\n"); + final Result ress = getResult(warnings2, errors2, score); + + return new StandardResult(ress.score(), ress.status(), (List) ress.warnings(), (List) ress.errors(), ress.internalError()); + } catch (Exception e) { System.out.println(e.getMessage()); System.out.println(e); @@ -703,9 +713,8 @@ class R1_2_01M_SPEC extends AbstractGuideline { return null; } - private static Result getResult(int score) { - String aa; - aa = (score > 0) ? "SUCCESS" : "FAILURE"; + private static Result getResult(ArrayList warnings2, ArrayList errors2, int score) { + return new Result() { @Override public int score() { @@ -714,18 +723,17 @@ class R1_2_01M_SPEC extends AbstractGuideline { @Override public Status status() { -// return null; - return Status.valueOf(aa); + return Status.valueOf((score > 0) ? "SUCCESS" : "FAILURE"); } @Override public Iterable warnings() { - return null; + return warnings2; } @Override public Iterable errors() { - return null; + return errors2; } @Override diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/I2_01M.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/I2_01M.java index 8d66987..714bca8 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/I2_01M.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/I2_01M.java @@ -43,7 +43,7 @@ public final class I2_01M extends AbstractOpenAireProfile { private static final int MAX_SCORE = GUIDELINES.stream().map(Guideline::getWeight).reduce(0, Integer::sum); public I2_01M() { - super("I2_01M Guideline for the OpenAIRE FAIR Guidelines for Data Repositories Profile v4"); + super("Metadata uses FAIR-compliant vocabularies"); } @Override diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/R1_01M.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/R1_01M.java index 12b733a..a1c80ef 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/R1_01M.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/R1_01M.java @@ -59,7 +59,7 @@ public final class R1_01M extends AbstractOpenAireProfile { private static final int MAX_SCORE = GUIDELINES.stream().map(Guideline::getWeight).reduce(0, Integer::sum); public R1_01M() { - super("F2_01M Guideline for the OpenAIRE FAIR Guidelines for Data Repositories Profile v4"); + super("Plurality of accurate and relevant attributes are provided to allow reuse"); } @Override diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/R1_2_01M.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/R1_2_01M.java index dd6cb5b..836c9db 100644 --- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/R1_2_01M.java +++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/R1_2_01M.java @@ -102,7 +102,7 @@ public final class R1_2_01M extends AbstractOpenAireProfile { private static final int MAX_SCORE = GUIDELINES.stream().map(Guideline::getWeight).reduce(0, Integer::sum); public R1_2_01M() { - super("R1_2_01M Guideline for the OpenAIRE FAIR Guidelines for Data Repositories Profile v4"); + super("Metadata includes provenance information according to a cross-community language"); } @Override diff --git a/src/test/java/eu/dnetlib/validator2/engine/Test.java b/src/test/java/eu/dnetlib/validator2/engine/Test.java index bbfb091..1e25a4e 100644 --- a/src/test/java/eu/dnetlib/validator2/engine/Test.java +++ b/src/test/java/eu/dnetlib/validator2/engine/Test.java @@ -14,9 +14,9 @@ import java.util.stream.Collectors; public class Test { private static final String[] FILES = new String[] { - "src/test/resources/openaireguidelinesV3/dia.library.tuc.gr/Record_21811.xml", - "src/test/resources/openaireguidelinesV3/cris.vtt.fi/01.xml", - "src/test/resources/openaireguidelinesV3/cris.vtt.fi/02.xml", +// "src/test/resources/openaireguidelinesV3/dia.library.tuc.gr/Record_21811.xml", +// "src/test/resources/openaireguidelinesV3/cris.vtt.fi/01.xml", +// "src/test/resources/openaireguidelinesV3/cris.vtt.fi/02.xml", "src/test/resources/openaireguidelinesV3/cris.vtt.fi/03.xml" }; diff --git a/src/test/java/eu/dnetlib/validator2/engine/Test_FAIR.java b/src/test/java/eu/dnetlib/validator2/engine/Test_FAIR.java index 6fa5c56..3d82a0e 100644 --- a/src/test/java/eu/dnetlib/validator2/engine/Test_FAIR.java +++ b/src/test/java/eu/dnetlib/validator2/engine/Test_FAIR.java @@ -1,7 +1,9 @@ package eu.dnetlib.validator2.engine; +//import com.google.gson.Gson; import eu.dnetlib.validator2.validation.XMLApplicationProfile; import eu.dnetlib.validator2.validation.guideline.Guideline; +import eu.dnetlib.validator2.validation.guideline.StandardResult; import eu.dnetlib.validator2.validation.guideline.openaire.FAIR_Data_GuidelinesProfile; import groovy.xml.DOMBuilder; import org.w3c.dom.Document; @@ -30,24 +32,27 @@ public class Test_FAIR { for (String file : FILES) { try { System.out.println("Processing " + file); -// Document doc = DOMBuilder.parse(new FileReader(file), false, true, true); Document doc = DOMBuilder.parse(new FileReader(file), false, true, true); XMLApplicationProfile.ValidationResult result = profile.validate(file, doc); scorePerDoc.put(file, result.score()); Map results = result.results(); for (Map.Entry entry : results.entrySet()) { - if (!entry.getValue().toString().contains("eu.dnetlib.validator2")) { +// System.out.println(result.results().get(entry.getKey().toString())); +// System.out.println(entry.getValue().getClass() + ": "); +//// if (!entry.getValue().toString().contains("eu.dnetlib.validator2")) { System.out.println(entry.getKey() + " = " + entry.getValue()); - } +//// } } + + } catch (Exception e) { System.out.println(e.getMessage()); System.out.println(e); e.printStackTrace(); } - System.out.println("\n\n\n\n"); +// System.out.println("\n\n\n\n"); } - System.out.println("\n\n\n\n"); +// System.out.println("\n\n\n\n"); String printout = scorePerDoc.entrySet().stream(). map(entry -> entry.getValue() + ": " + entry.getKey()).collect(Collectors.joining("\n")); System.out.println(printout);