diff --git a/pom.xml b/pom.xml
index 3e4a41e..31555e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,13 +44,13 @@
commons-io
commons-io
- 2.13.0
+ 2.15.0
compile
com.google.guava
guava
- 32.1.2-jre
+ 32.1.3-jre
compile
diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/ElementSpecCompiler.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/ElementSpecCompiler.java
index d868b24..9a141dc 100644
--- a/src/main/java/eu/dnetlib/validator2/validation/guideline/ElementSpecCompiler.java
+++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/ElementSpecCompiler.java
@@ -42,20 +42,16 @@ class ElementSpecCompiler {
specs.add(currentElement.spec);
- if (currentElement.parent == null) {
+ if ( currentElement.parent == null )
currentElement.createRootElemRule(compilationResult);
- }
- else {
+ else
currentElement.createSubElemRule(compilationResult);
- }
- for (AttributeSpec attrSpec : currentElement.spec.attributeSpecs()) {
+ for ( AttributeSpec attrSpec : currentElement.spec.attributeSpecs() )
currentElement.createAttrRule(compilationResult, attrSpec);
- }
- for(ElementSpec subElementSpec: currentElement.spec.subElementSpecs()) {
+ for ( ElementSpec subElementSpec: currentElement.spec.subElementSpecs() )
generateRulesForElement(new ElementStruct(currentElement.elementsArray, subElementSpec, currentElement));
- }
}
@@ -97,21 +93,17 @@ class ElementSpecCompiler {
String valuePrefix,
Predicate allowedValuesPredicate,
Cardinality cardinality) {
-
StringBuilder builder =
new StringBuilder(requirementLevel.name()).append(" rule: The ").append(nodeName).append(" ").append(nodeType);
- if (position != ElementPosition.ALL) {
+ if ( position != ElementPosition.ALL )
builder.append(" at ").append(position.name().toLowerCase()).append(" position");
- }
- if (valuePrefix != null) {
+ if ( valuePrefix != null )
builder.append(" has values that start with ").append(valuePrefix).append(",");
- }
- if (!allowsAllValues(allowedValuesPredicate)) {
+ if ( !allowsAllValues(allowedValuesPredicate) )
builder.append(" contains allowed values only,");
- }
builder.append(" has cardinality ").append(cardinality.asText());
@@ -123,12 +115,10 @@ class ElementSpecCompiler {
Cardinality cardinality,
String valuePrefix) {
String id = requirementLevel.name() + " rule: " + nodeName + " has cardinality " + cardinality.asText();
- if(Helper.isEmpty(valuePrefix)) {
+ if ( Helper.isEmpty(valuePrefix) )
return id;
- }
- else {
+ else
return id + " for values starting with '" + valuePrefix + "'";
- }
}
static final String mergeNodeNames(String... names) {
@@ -228,6 +218,7 @@ class ElementSpecCompiler {
if (parents == null) {
return (Integer count) -> false; // There are no parents, actually
}
+
int parentsLength = parents.getLength();
if (cardinality == Cardinality.ONE) {
return (Integer count) -> count == parentsLength; // A sub-element can be present in each parent
@@ -241,10 +232,8 @@ class ElementSpecCompiler {
else if (cardinality == Cardinality.FOUR_TO_N){
return (Integer count) -> count >= parentsLength * 4; // Four or more sub-elements can be present in each parent
}
- else{ // not reachable
+ else // not reachable
throw new RuleEvaluationException(" Unsupported cardinality " + cardinality, null);
- }
-
}
private static NodeList attributesOf(NodeList elements, String attrName, Predicate allowedValues) {
@@ -494,10 +483,8 @@ class ElementSpecCompiler {
} catch (Throwable t) {
throw new RuleEvaluationException(t.getMessage(), t);
}
- }
- else {
+ } else
return true;
- }
}
}
@@ -587,10 +574,8 @@ class ElementSpecCompiler {
guidelineEvaluation.setNodesOf(thisId, nodes);
}
return result;
- }
- else {
+ } else
return true;
- }
}
@Override
@@ -601,7 +586,6 @@ class ElementSpecCompiler {
private static Predicate isApplicable(SyntheticRule rule,
GuidelineEvaluation guidelineEvaluation) {
-
return (Document doc) -> {
Rule applicabilityRule = rule.applicabilityRule();
if (applicabilityRule == null) {
diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/SyntheticGuideline.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/SyntheticGuideline.java
index e3e50fb..ed182ab 100644
--- a/src/main/java/eu/dnetlib/validator2/validation/guideline/SyntheticGuideline.java
+++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/SyntheticGuideline.java
@@ -32,7 +32,7 @@ public final class SyntheticGuideline extends AbstractGuideline {
logger.debug("Validating document {} in {}", id, Thread.currentThread());
evaluation.set(new GuidelineEvaluation(id, document, getWeight()));
Result result = evaluation.get().evaluate(compilationResult);
- logger.debug("Evaluated: {} in {} with result {}", evaluation.get(), Thread.currentThread(), result);
+ logger.debug("Evaluated: {} in thread_{} with result {}", evaluation.get(), Thread.currentThread().getName(), result);
evaluation.remove();
return result;
}
diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/DataArchiveGuidelinesV2Profile.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/DataArchiveGuidelinesV2Profile.java
index 45d0256..29e7b2c 100644
--- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/DataArchiveGuidelinesV2Profile.java
+++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/DataArchiveGuidelinesV2Profile.java
@@ -308,8 +308,7 @@ public class DataArchiveGuidelinesV2Profile extends AbstractOpenAireProfile {
)
);
- private static final Map GUIDELINE_MAP = GUIDELINES.
- stream().
+ private static final Map GUIDELINE_MAP = GUIDELINES.stream().
collect(Collectors.toMap(SyntheticGuideline::getName, (guideline) -> guideline));
private static final int MAX_SCORE = GUIDELINES.stream().map(SyntheticGuideline::getWeight).reduce(0, Integer::sum);
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 a591ecb..a104045 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
@@ -281,8 +281,7 @@ public final class FAIR_Data_GuidelinesProfile extends AbstractOpenAireProfile {
)
);
- private static final Map GUIDELINE_MAP = GUIDELINES.
- stream().
+ private static final Map GUIDELINE_MAP = GUIDELINES.stream().
collect(Collectors.toMap(Guideline::getName, (guideline) -> guideline));
private static final int MAX_SCORE = GUIDELINES.stream().map(Guideline::getWeight).reduce(0, Integer::sum);
diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/FAIR_Literature_GuidelinesV4Profile.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/FAIR_Literature_GuidelinesV4Profile.java
index 3d27efd..f12bfb7 100644
--- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/FAIR_Literature_GuidelinesV4Profile.java
+++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/FAIR_Literature_GuidelinesV4Profile.java
@@ -241,8 +241,7 @@ public final class FAIR_Literature_GuidelinesV4Profile extends AbstractOpenAireP
)
);
- private static final Map GUIDELINE_MAP = GUIDELINES.
- stream().
+ private static final Map GUIDELINE_MAP = GUIDELINES.stream().
collect(Collectors.toMap(Guideline::getName, (guideline) -> guideline));
private static final int MAX_SCORE = GUIDELINES.stream().map(Guideline::getWeight).reduce(0, Integer::sum);
diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/LiteratureGuidelinesV3Profile.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/LiteratureGuidelinesV3Profile.java
index c7152fe..623dcb4 100644
--- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/LiteratureGuidelinesV3Profile.java
+++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/LiteratureGuidelinesV3Profile.java
@@ -295,8 +295,7 @@ public final class LiteratureGuidelinesV3Profile extends AbstractOpenAireProfile
)
);
- private static final Map GUIDELINE_MAP = GUIDELINES.
- stream().
+ private static final Map GUIDELINE_MAP = GUIDELINES.stream().
collect(Collectors.toMap(SyntheticGuideline::getName, (guideline) -> guideline));
private static final int MAX_SCORE = GUIDELINES.stream().map(SyntheticGuideline::getWeight).reduce(0, Integer::sum);
diff --git a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/LiteratureGuidelinesV4Profile.java b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/LiteratureGuidelinesV4Profile.java
index e72e231..ab91291 100644
--- a/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/LiteratureGuidelinesV4Profile.java
+++ b/src/main/java/eu/dnetlib/validator2/validation/guideline/openaire/LiteratureGuidelinesV4Profile.java
@@ -527,8 +527,7 @@ public final class LiteratureGuidelinesV4Profile extends AbstractOpenAireProfile
)
);
- private static final Map GUIDELINE_MAP = GUIDELINES.
- stream().
+ private static final Map GUIDELINE_MAP = GUIDELINES.stream().
collect(Collectors.toMap(SyntheticGuideline::getName, (guideline) -> guideline));
private static final int MAX_SCORE = GUIDELINES.stream().map(SyntheticGuideline::getWeight).reduce(0, Integer::sum);
diff --git a/src/test/java/eu/dnetlib/validator2/engine/TestUtils.java b/src/test/java/eu/dnetlib/validator2/engine/TestUtils.java
index c87f0db..ae740f3 100644
--- a/src/test/java/eu/dnetlib/validator2/engine/TestUtils.java
+++ b/src/test/java/eu/dnetlib/validator2/engine/TestUtils.java
@@ -9,6 +9,8 @@ public class TestUtils {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(TestUtils.class);
+ public static final String TEST_FILES_BASE_DIR = "src/test/resources/";
+
public static DocumentBuilder getDocumentBuilder()
{
diff --git a/src/test/java/eu/dnetlib/validator2/engine/Test_v4.java b/src/test/java/eu/dnetlib/validator2/engine/Test_v4.java
index d690c39..9cc04c1 100644
--- a/src/test/java/eu/dnetlib/validator2/engine/Test_v4.java
+++ b/src/test/java/eu/dnetlib/validator2/engine/Test_v4.java
@@ -18,12 +18,13 @@ public class Test_v4 {
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(Test_v4.class);
+ private static final String TEST_FILES_V4_DIR = TestUtils.TEST_FILES_BASE_DIR + "openaireguidelinesV4/";
private static final String[] FILES = new String[] {
-// "src/test/resources/openaireguidelinesV4/v4_literature_all_invalid_guidelines_record.xml",
- "src/test/resources/openaireguidelinesV4/v4_literature_all_guidelines_record.xml",
-// "src/test/resources/openaireguidelinesV4/oai_mediarep_org_doc_2534.xml",
-// "src/test/resources/openaireguidelinesV4/01_gv4.xml"
+// TEST_FILES_V4_DIR + "v4_literature_all_invalid_guidelines_record.xml",
+// TEST_FILES_V4_DIR + "v4_literature_all_guidelines_record.xml",
+// TEST_FILES_V4_DIR + "oai_mediarep_org_doc_2534.xml",
+ TEST_FILES_V4_DIR + "01_gv4.xml"
};
public static void main(String[] args) {