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 6a0bfaf..795989a 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 @@ -203,11 +203,11 @@ public class DataArchiveGuidelinesV2Profile extends AbstractOpenAireProfile { .withMandatoryAttribute("rightsURI", rightsURIList) .build(); - private static final ElementSpec RIGHTS_SPEC2 = Builders - .forMandatoryIfApplicableElement("rights", ONE_TO_N, AbstractOpenAireProfile.elementIsPresent("rights")) - .atPosition(ElementPosition.SECOND) - .withMandatoryAttribute("rightsURI") - .build(); +// private static final ElementSpec RIGHTS_SPEC2 = Builders +// .forMandatoryIfApplicableElement("rights", ONE_TO_N, AbstractOpenAireProfile.elementIsPresent("rights")) +// .atPosition(ElementPosition.SECOND) +// .withMandatoryAttribute("rightsURI") +// .build(); private static final ElementSpec DESCRIPTION_SPEC = Builders .forMandatoryIfApplicableElement("description", ONE_TO_N, AbstractOpenAireProfile.elementIsPresent("rights")) @@ -248,24 +248,42 @@ public class DataArchiveGuidelinesV2Profile extends AbstractOpenAireProfile { } //TODO: weights for guidelines haven't been finalized. They've been given an arbitrary value of 1. - public static final SyntheticGuideline IDENTIFIER = SyntheticGuideline.of("Identifier", 1, IDENTIFIER_SPEC); - public static final SyntheticGuideline CREATOR = SyntheticGuideline.of("Creator", 1, CREATOR_SPEC); - public static final SyntheticGuideline TITLE = SyntheticGuideline.of("Title", 1, TITLE_SPEC); - public static final SyntheticGuideline PUBLISHER = SyntheticGuideline.of("Publisher", 1, PUBLISHER_SPEC); - public static final SyntheticGuideline PUBLICATION_YEAR = SyntheticGuideline.of("PublicationYear", 1, PUBLICATION_YEAR_SPEC); - public static final SyntheticGuideline SUBJECT = SyntheticGuideline.of("Subject", 1, SUBJECT_SPEC); - public static final SyntheticGuideline CONTRIBUTOR = SyntheticGuideline.of("Contributor", 1, CONTRIBUTOR_SPEC); - public static final SyntheticGuideline DATE = SyntheticGuideline.of("Date", 1, DATE_SPEC); - public static final SyntheticGuideline LANGUAGE = SyntheticGuideline.of("Language", 1, LANGUAGE_SPEC); - public static final SyntheticGuideline RESOURCE_TYPE = SyntheticGuideline.of("ResourceType", 1, RESOURCE_TYPE_SPEC); - public static final SyntheticGuideline ALTERNATE_IDENTIFIER = SyntheticGuideline.of("AlternateIdentifier", 1, ALTERNATE_IDENTIFIER_SPEC); - public static final SyntheticGuideline RELATED_IDENTIFIER = SyntheticGuideline.of("RelatedIdentifier", 1, RELATED_IDENTIFIER_SPEC); - public static final SyntheticGuideline SIZE = SyntheticGuideline.of("Size", 1, SIZE_SPEC); - public static final SyntheticGuideline FORMAT = SyntheticGuideline.of("Format", 1, FORMAT_SPEC); - public static final SyntheticGuideline VERSION = SyntheticGuideline.of("Version", 1, VERSION_SPEC); - public static final SyntheticGuideline RIGHTS = SyntheticGuideline.of("Rights", 1, RIGHTS_SPEC); - public static final SyntheticGuideline DESCRIPTION = SyntheticGuideline.of("Description", 1, DESCRIPTION_SPEC); - public static final SyntheticGuideline GEOLOCATION = SyntheticGuideline.of("Geolocation", 1, GEOLOCATION_SPEC); + public static final SyntheticGuideline IDENTIFIER = SyntheticGuideline.of("Identifier", "description", "https://guidelines.openaire.eu/en/latest/literature/field_title.html", "F", + 4, RequirementLevel.MANDATORY, IDENTIFIER_SPEC); + public static final SyntheticGuideline CREATOR = SyntheticGuideline.of("Creator", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-creator", "F", + 4, RequirementLevel.MANDATORY, CREATOR_SPEC); + public static final SyntheticGuideline TITLE = SyntheticGuideline.of("Title", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-title", "F", + 4, RequirementLevel.MANDATORY, TITLE_SPEC); + public static final SyntheticGuideline PUBLISHER = SyntheticGuideline.of("Publisher", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-publisher", "F", + 4, RequirementLevel.MANDATORY, PUBLISHER_SPEC); + public static final SyntheticGuideline PUBLICATION_YEAR = SyntheticGuideline.of("Publication Year", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-publicationyear", "F", + 4, RequirementLevel.MANDATORY, PUBLICATION_YEAR_SPEC); + public static final SyntheticGuideline SUBJECT = SyntheticGuideline.of("Subject", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-subject", "F", + 4, RequirementLevel.RECOMMENDED, SUBJECT_SPEC); + public static final SyntheticGuideline CONTRIBUTOR = SyntheticGuideline.of("Contributor", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-contributor", "F", + 4, RequirementLevel.MANDATORY_IF_APPLICABLE, CONTRIBUTOR_SPEC); + public static final SyntheticGuideline DATE = SyntheticGuideline.of("Date", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-date", "F", + 4, RequirementLevel.MANDATORY, DATE_SPEC); + public static final SyntheticGuideline LANGUAGE = SyntheticGuideline.of("Language", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-language", "F", + 4, RequirementLevel.RECOMMENDED, LANGUAGE_SPEC); + public static final SyntheticGuideline RESOURCE_TYPE = SyntheticGuideline.of("Resource Type", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-resourcetype", "F", + 4, RequirementLevel.RECOMMENDED, RESOURCE_TYPE_SPEC); + public static final SyntheticGuideline ALTERNATE_IDENTIFIER = SyntheticGuideline.of("Alternate Identifier", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-alternateidentifier", "F", + 4, RequirementLevel.OPTIONAL, ALTERNATE_IDENTIFIER_SPEC); + public static final SyntheticGuideline RELATED_IDENTIFIER = SyntheticGuideline.of("Related Identifier", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-relatedidentifier", "F", + 4, RequirementLevel.MANDATORY_IF_APPLICABLE, RELATED_IDENTIFIER_SPEC); + public static final SyntheticGuideline SIZE = SyntheticGuideline.of("Size", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-size", "F", + 4, RequirementLevel.OPTIONAL, SIZE_SPEC); + public static final SyntheticGuideline FORMAT = SyntheticGuideline.of("Format", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-format", "F", + 4, RequirementLevel.OPTIONAL, FORMAT_SPEC); + public static final SyntheticGuideline VERSION = SyntheticGuideline.of("Format", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-format", "F", + 4, RequirementLevel.OPTIONAL, VERSION_SPEC); + public static final SyntheticGuideline RIGHTS = SyntheticGuideline.of("Rights", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-rights", "F", + 4, RequirementLevel.MANDATORY_IF_APPLICABLE, RIGHTS_SPEC); + public static final SyntheticGuideline DESCRIPTION = SyntheticGuideline.of("Description", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-description", "F", + 4, RequirementLevel.MANDATORY_IF_APPLICABLE, DESCRIPTION_SPEC); + public static final SyntheticGuideline GEOLOCATION = SyntheticGuideline.of("Geolocation", "description", "https://guidelines.openaire.eu/en/latest/data/field_creator.html#d-geolocation", "F", + 4, RequirementLevel.OPTIONAL, GEOLOCATION_SPEC); private static final List GUIDELINES = Collections.unmodifiableList( Arrays.asList(