Compare commits
5 Commits
54251e0124
...
31df0b1e02
Author | SHA1 | Date |
---|---|---|
Katerina | 31df0b1e02 | |
Katerina | 059d9fc7fd | |
Katerina | af7c7a2edc | |
Katerina | 98aeeb6377 | |
Katerina | 78831f387d |
|
@ -68,14 +68,6 @@ public class ReportController {
|
|||
public List<SummaryResult> getSummaryFromDB(@RequestParam(name = "jobId") int jobId,
|
||||
@RequestParam(name= "guidelines", required = false) Optional<String> guidelines) {
|
||||
List<SummaryResult> srlist = summaryValidationJobRepository.findByValidationJobIdOrderByRuleName(jobId);
|
||||
|
||||
/* SummaryResult sr = new SummaryResult();
|
||||
sr.setValidationJobId(jobId);
|
||||
sr.setRule_name("Access Rights");
|
||||
System.out.println("\n>>" + summaryValidationJobRepository.findAll());*/
|
||||
/* for (SummaryResult sr:srlist) {
|
||||
System.out.println(sr);
|
||||
}*/
|
||||
return srlist;
|
||||
|
||||
}
|
||||
|
|
|
@ -13,12 +13,6 @@ public class SummaryResultId implements Serializable {
|
|||
|
||||
SummaryResultId that = (SummaryResultId) o;
|
||||
|
||||
System.out.println("\n\n\n\n");
|
||||
System.out.println("Validation job id " + validationJobId);
|
||||
System.out.println("rule_name " + ruleName);
|
||||
System.out.println("\n\n\n\n");
|
||||
|
||||
|
||||
if (validationJobId != that.validationJobId) return false;
|
||||
return ruleName != null ? ruleName.equals(that.ruleName) : that.ruleName == null;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package eu.dnetlib.validatorapi.controllers;
|
|||
|
||||
import eu.dnetlib.validator2.validation.XMLApplicationProfile;
|
||||
import eu.dnetlib.validator2.validation.guideline.Guideline;
|
||||
import eu.dnetlib.validator2.validation.guideline.openaire.*;
|
||||
import eu.dnetlib.validator2.validation.guideline.openaire.AbstractOpenAireProfile;
|
||||
import eu.dnetlib.validatorapi.entities.*;
|
||||
import eu.dnetlib.validatorapi.exceptions.ValidationException;
|
||||
import eu.dnetlib.validatorapi.repositories.SummaryValidationJobRepository;
|
||||
|
@ -12,6 +12,8 @@ import eu.dnetlib.validatorapi.repositories.ValidationResultRepository;
|
|||
import eu.dnetlib.validatorapi.routes.FairOaiPmhRoute2;
|
||||
import eu.dnetlib.validatorapi.routes.SimpleOaiPmhRoute;
|
||||
import eu.dnetlib.validatorapi.utils.CheckCertificate;
|
||||
import eu.dnetlib.validatorapi.utils.PrefixInitializer;
|
||||
import eu.dnetlib.validatorapi.utils.ProfileInitializer;
|
||||
import org.apache.camel.CamelContext;
|
||||
import org.apache.camel.Exchange;
|
||||
import org.apache.camel.ProducerTemplate;
|
||||
|
@ -79,8 +81,8 @@ public class ValidationController {
|
|||
@RequestParam(name="set", required = false) String set, @RequestParam(name="metadataPrefix", defaultValue = "oai_dc") String metadataPrefix,
|
||||
@RequestParam(name="batchsize", defaultValue = "50") int batchSize) {
|
||||
|
||||
AbstractOpenAireProfile profile = initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = initializeFairProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile profile = ProfileInitializer.initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = ProfileInitializer.initializeFairProfile(guidelinesProfileName);
|
||||
if (profile == null && fairProfile == null) {
|
||||
log.error("Exception: No valid guidelines");
|
||||
new Exception("Validation Job stopped unexpectedly. No valid guidelines were provided.");
|
||||
|
@ -193,9 +195,9 @@ public class ValidationController {
|
|||
@RequestParam(name="numberOfRecords", defaultValue = "10") int numberOfRecords,
|
||||
@RequestParam(name="set", required = false) Optional<String> set) {
|
||||
|
||||
AbstractOpenAireProfile profile = initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = initializeFairProfile(guidelinesProfileName);
|
||||
String metadataPrefix = initializeMetadataPrefix(guidelinesProfileName);
|
||||
AbstractOpenAireProfile profile = ProfileInitializer.initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = ProfileInitializer.initializeFairProfile(guidelinesProfileName);
|
||||
String metadataPrefix = PrefixInitializer.initializeMetadataPrefix(guidelinesProfileName);
|
||||
|
||||
if (profile == null && fairProfile == null) {
|
||||
log.error("Exception: No valid guidelines " + guidelinesProfileName + ".");
|
||||
|
@ -401,54 +403,7 @@ public class ValidationController {
|
|||
return "-";
|
||||
}
|
||||
|
||||
private AbstractOpenAireProfile initializeOpenAireProfile(String guidelinesProfileName) {
|
||||
|
||||
System.out.println("GUIDELINES " + guidelinesProfileName);
|
||||
|
||||
if (guidelinesProfileName.equals("OpenAIRE Guidelines for Data Archives Profile v2")) {
|
||||
return new DataArchiveGuidelinesV2Profile();
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v3")) {
|
||||
return new LiteratureGuidelinesV3Profile();
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v4")) {
|
||||
return new LiteratureGuidelinesV4Profile();
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE FAIR Guidelines for Data Repositories Profile")) {//in case they give only fair. TODO: is ti possible?
|
||||
return new FAIR_Data_GuidelinesProfile();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private String initializeMetadataPrefix(String guidelinesProfileName) {
|
||||
|
||||
if (guidelinesProfileName.equals("OpenAIRE Guidelines for Data Archives Profile v2") ||
|
||||
guidelinesProfileName.equals("OpenAIRE FAIR Guidelines for Data Repositories Profile")) {
|
||||
return "oai_datacite";
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v3")) {
|
||||
return "oai_dc";
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v4")) {
|
||||
return "oai_openaire";
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private AbstractOpenAireProfile initializeFairProfile(String guidelinesProfileName) {
|
||||
if (guidelinesProfileName.equals("OpenAIRE Guidelines for Data Archives Profile v2")) {
|
||||
return new FAIR_Data_GuidelinesProfile();
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v4")) {
|
||||
return new FAIR_Literature_GuidelinesV4Profile();
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private Document parseResponse(InputStream stream)
|
||||
|
@ -481,8 +436,8 @@ public class ValidationController {
|
|||
|
||||
List<RuleInfo> resultRules = null;
|
||||
List<RuleInfo> fairRules = null;
|
||||
AbstractOpenAireProfile profile = initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = initializeFairProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile profile = ProfileInitializer.initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = ProfileInitializer.initializeFairProfile(guidelinesProfileName);
|
||||
|
||||
validationJob.guidelines = profile.name();
|
||||
validationJobRepository.save(validationJob);
|
||||
|
@ -581,9 +536,9 @@ public class ValidationController {
|
|||
//@RequestParam(name="metadataPrefix", defaultValue = "oai_dc") String metadataPrefix
|
||||
) {
|
||||
|
||||
AbstractOpenAireProfile profile = initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = initializeFairProfile(guidelinesProfileName);
|
||||
String metadataPrefix = initializeMetadataPrefix(guidelinesProfileName);
|
||||
AbstractOpenAireProfile profile = ProfileInitializer.initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = ProfileInitializer.initializeFairProfile(guidelinesProfileName);
|
||||
String metadataPrefix = PrefixInitializer.initializeMetadataPrefix(guidelinesProfileName);
|
||||
|
||||
String endpoint = "oaipmh://"+baseURL + "?verb=ListRecords&metadataPrefix=" + metadataPrefix;
|
||||
ProducerTemplate producerTemplate = camelContext.createProducerTemplate();
|
||||
|
|
|
@ -2,9 +2,12 @@ package eu.dnetlib.validatorapi.controllers;
|
|||
|
||||
import eu.dnetlib.validator2.validation.XMLApplicationProfile;
|
||||
import eu.dnetlib.validator2.validation.guideline.Guideline;
|
||||
import eu.dnetlib.validator2.validation.guideline.openaire.*;
|
||||
import eu.dnetlib.validatorapi.entities.RuleInfo;
|
||||
import eu.dnetlib.validatorapi.entities.XmlValidationResponse;
|
||||
import eu.dnetlib.validator2.validation.guideline.openaire.AbstractOpenAireProfile;
|
||||
import eu.dnetlib.validator2.validation.guideline.openaire.DataArchiveGuidelinesV2Profile;
|
||||
import eu.dnetlib.validator2.validation.guideline.openaire.LiteratureGuidelinesV3Profile;
|
||||
import eu.dnetlib.validator2.validation.guideline.openaire.LiteratureGuidelinesV4Profile;
|
||||
import eu.dnetlib.validatorapi.entities.*;
|
||||
import eu.dnetlib.validatorapi.utils.ProfileInitializer;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
@ -35,20 +38,8 @@ public class ValidatorController {
|
|||
List<RuleInfo> fairRules = null;
|
||||
XmlValidationResponse xmlValidationResponse = new XmlValidationResponse();
|
||||
|
||||
AbstractOpenAireProfile profile = null;
|
||||
AbstractOpenAireProfile fairProfile = null;
|
||||
if(guidelinesProfileName.equals("dataArchiveGuidelinesV2Profile")) {
|
||||
profile = new DataArchiveGuidelinesV2Profile();
|
||||
fairProfile = new FAIR_Data_GuidelinesProfile();
|
||||
} else if(guidelinesProfileName.equals("literatureGuidelinesV3Profile")) {
|
||||
profile = new LiteratureGuidelinesV3Profile();
|
||||
// fairProfile = new FAIR_Data_GuidelinesProfile();
|
||||
} else if(guidelinesProfileName.equals("literatureGuidelinesV4Profile")) {
|
||||
profile = new LiteratureGuidelinesV4Profile();
|
||||
// fairProfile = new FAIR_Data_GuidelinesProfile();
|
||||
} else if(guidelinesProfileName.equals("fairDataGuidelinesProfile")) {
|
||||
fairProfile = new FAIR_Data_GuidelinesProfile();
|
||||
}
|
||||
AbstractOpenAireProfile profile = ProfileInitializer.initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = ProfileInitializer.initializeFairProfile(guidelinesProfileName);
|
||||
|
||||
if(profile == null && fairProfile == null) {
|
||||
log.error("Exception: No valid guidelines");
|
||||
|
@ -151,6 +142,85 @@ public class ValidatorController {
|
|||
return xmlValidationResponse;
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = {"/validateRecord"}, method = RequestMethod.POST)
|
||||
public XmlValidationResponse validateRecord(@RequestParam(name = "guidelines") String guidelinesProfileName, @RequestBody String xml) {
|
||||
|
||||
XmlValidationResponse xmlValidationResponse = new XmlValidationResponse();
|
||||
AbstractOpenAireProfile profile = ProfileInitializer.initializeOpenAireProfile(guidelinesProfileName);
|
||||
AbstractOpenAireProfile fairProfile = ProfileInitializer.initializeFairProfile(guidelinesProfileName);
|
||||
|
||||
|
||||
if(profile == null && fairProfile == null) {
|
||||
log.error("Exception: No valid guidelines");
|
||||
new Exception("Validation stopped unexpectedly. No valid guidelines were provided.");
|
||||
}
|
||||
|
||||
Map<String, Double> scorePerDoc = new LinkedHashMap<>();
|
||||
List<ValidationIssue> validationIssues = new ArrayList<>();
|
||||
List<SummaryResult> summaryResults = new ArrayList<>();
|
||||
|
||||
try {
|
||||
final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
||||
final DocumentBuilder documentBuilder = dbf.newDocumentBuilder();
|
||||
Document doc = documentBuilder.parse(new InputSource(new StringReader(xml)));
|
||||
|
||||
XMLApplicationProfile.ValidationResult validationResult;
|
||||
Map<String, Guideline.Result> results;
|
||||
|
||||
if (profile != null) {
|
||||
validationResult = profile.validate("id", doc); //what id is that?
|
||||
results = validationResult.getResults();
|
||||
|
||||
for (Map.Entry entry : results.entrySet()) { //for each rule of the record
|
||||
final Guideline.Result engineResult = (Guideline.Result) entry.getValue();
|
||||
String ruleName = entry.getKey().toString();
|
||||
ValidationRuleResult validationRuleResult = new ValidationRuleResult();
|
||||
constructXmlValidationResponse(xmlValidationResponse, validationRuleResult, profile.name(),
|
||||
ruleName, profile, engineResult);
|
||||
|
||||
//TODO check if I want a global status
|
||||
/*if (validationRuleResult.status.equals("FAILURE") || validationRuleResult.internalError!=null) {
|
||||
this.status = "FAILURE";
|
||||
}*/
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (fairProfile != null) {
|
||||
validationResult = fairProfile.validate("id", doc); //what id is that?
|
||||
results = validationResult.getResults();
|
||||
|
||||
for (Map.Entry entry : results.entrySet()) { //for each rule of the record
|
||||
final Guideline.Result engineResult = (Guideline.Result) entry.getValue();
|
||||
String ruleName = entry.getKey().toString();
|
||||
ValidationRuleResult validationRuleResult = new ValidationRuleResult();
|
||||
constructXmlValidationResponse(xmlValidationResponse, validationRuleResult, profile.name(),
|
||||
ruleName, profile, engineResult);
|
||||
|
||||
//TODO check if I want a global failure
|
||||
/*if (validationRuleResult.status.equals("FAILURE") || validationRuleResult.internalError!=null) {
|
||||
this.status = "FAILURE";
|
||||
}*/
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception e) {
|
||||
log.debug(e.getMessage());
|
||||
log.debug(e);
|
||||
e.printStackTrace();
|
||||
// resultMessages.add("Error processing input");
|
||||
}
|
||||
|
||||
// return resultMessages;
|
||||
|
||||
return xmlValidationResponse;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@RequestMapping(method = RequestMethod.POST, value = {"/validate-file"})
|
||||
public List<String> validateXmlImport(@RequestParam("guidelines") String guidelinesProfileName, @RequestParam("file") MultipartFile multipartFile) throws IOException {
|
||||
String filePath = "src/main/resources/xmlFile.tmp";
|
||||
|
@ -209,4 +279,49 @@ public class ValidatorController {
|
|||
return resultMessages;
|
||||
|
||||
}
|
||||
|
||||
private XmlValidationResponse constructXmlValidationResponse(XmlValidationResponse xmlValidationResponse, ValidationRuleResult validationRuleResult, String guidelines,
|
||||
String ruleName, AbstractOpenAireProfile profile, Guideline.Result engineResult) {
|
||||
SummaryResultWithIssueMessages summaryResult = new SummaryResultWithIssueMessages();
|
||||
summaryResult.ruleName = ruleName;
|
||||
summaryResult.validationJobId = -1;
|
||||
summaryResult.guidelines = guidelines;
|
||||
validationRuleResult.score = engineResult.getScore();
|
||||
summaryResult.rule_status = engineResult.getStatus().toString();
|
||||
summaryResult.passed_records = 1;
|
||||
|
||||
if (profile.guideline(ruleName) != null) {
|
||||
summaryResult.rule_weight = profile.guideline(ruleName).getWeight();
|
||||
|
||||
if (profile.guideline(ruleName).getRequirementLevel() != null
|
||||
&& profile.guideline(ruleName).getRequirementLevel().name()!=null)
|
||||
summaryResult.requirement_level = profile.guideline(ruleName).getRequirementLevel().name();
|
||||
|
||||
if (profile.guideline(ruleName).getDescription() != null)
|
||||
summaryResult.description = profile.guideline(ruleName).getDescription();
|
||||
|
||||
if (profile.guideline(ruleName).getFairPrinciples() != null)
|
||||
summaryResult.fair_principles = profile.guideline(ruleName).getFairPrinciples();
|
||||
|
||||
if (profile.guideline(ruleName).getLink() != null)
|
||||
summaryResult.link = profile.guideline(ruleName).getLink();
|
||||
}
|
||||
summaryResult.internal_error = engineResult.getInternalError();
|
||||
summaryResult.has_warnings = (engineResult.getWarnings().size()>0);
|
||||
summaryResult.has_errors = (engineResult.getErrors().size()>0);
|
||||
|
||||
xmlValidationResponse.getSummaryResults().add(summaryResult);
|
||||
|
||||
for (String error: engineResult.getErrors()) {
|
||||
ValidationIssue validationIssue = new ValidationIssue(ruleName, error, "ERROR");
|
||||
summaryResult.issues.add(validationIssue);
|
||||
}
|
||||
|
||||
for (String warning: engineResult.getWarnings()) {
|
||||
ValidationIssue validationIssue = new ValidationIssue(ruleName, warning, "WARNING");
|
||||
summaryResult.issues.add(validationIssue);
|
||||
}
|
||||
|
||||
return xmlValidationResponse;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
package eu.dnetlib.validatorapi.entities;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SummaryResultWithIssueMessages extends SummaryResult {
|
||||
public List<ValidationIssue> issues = new ArrayList<>();
|
||||
}
|
|
@ -36,6 +36,12 @@ public class ValidationIssue implements Serializable {
|
|||
this.issueType = issueType;
|
||||
}
|
||||
|
||||
public ValidationIssue(String ruleName, String issueText, String issueType) {
|
||||
this.ruleName = ruleName;
|
||||
this.issueText = issueText;
|
||||
this.issueType = issueType;
|
||||
}
|
||||
|
||||
public long getValidationJobId() {
|
||||
return validationJobId;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package eu.dnetlib.validatorapi.entities;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class XmlValidationResponse {
|
||||
|
@ -8,6 +9,8 @@ public class XmlValidationResponse {
|
|||
List<RuleInfo> rules;
|
||||
List<RuleInfo> fairRules;
|
||||
|
||||
List<SummaryResultWithIssueMessages> summaryResults = new ArrayList<>();
|
||||
|
||||
public String getValidationScore() {
|
||||
return validationScore;
|
||||
}
|
||||
|
@ -39,4 +42,12 @@ public class XmlValidationResponse {
|
|||
public void setFairRules(List<RuleInfo> fairRules) {
|
||||
this.fairRules = fairRules;
|
||||
}
|
||||
|
||||
public List<SummaryResultWithIssueMessages> getSummaryResults() {
|
||||
return summaryResults;
|
||||
}
|
||||
|
||||
public void setSummaryResults(List<SummaryResultWithIssueMessages> summaryResults) {
|
||||
this.summaryResults = summaryResults;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,7 +29,6 @@ public class XmlProcessor implements Processor {
|
|||
|
||||
private final AbstractOpenAireProfile profile;
|
||||
private ValidationJob validationJob;
|
||||
// private final ValidationIssueRepository validationIssueRepository;
|
||||
private final long maxNumberOfRecords;
|
||||
private int processedRecords;
|
||||
private String status = "SUCCESS";
|
||||
|
|
|
@ -1,80 +0,0 @@
|
|||
package eu.dnetlib.validatorapi.utils;
|
||||
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
import org.hibernate.usertype.UserType;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.*;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class CustomStringArrayType implements UserType {
|
||||
@Override
|
||||
public int[] sqlTypes() {
|
||||
return new int[]{Types.ARRAY};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class returnedClass() {
|
||||
return String[].class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o1, Object o2) throws HibernateException {
|
||||
if (o1 instanceof String[] && o2 instanceof String[]) {
|
||||
return Arrays.deepEquals((String[])o1, (String[])o2);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode(Object o) throws HibernateException {
|
||||
return Arrays.hashCode((String[])o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object nullSafeGet(ResultSet resultSet, String[] names,
|
||||
SharedSessionContractImplementor sharedSessionContractImplementor, Object o)
|
||||
throws HibernateException, SQLException {
|
||||
Array array = resultSet.getArray(names[0]);
|
||||
return array != null ? array.getArray() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void nullSafeSet(PreparedStatement preparedStatement, Object value, int index,
|
||||
SharedSessionContractImplementor sharedSessionContractImplementor) throws HibernateException, SQLException {
|
||||
if (value != null && preparedStatement != null) {
|
||||
Array array = sharedSessionContractImplementor.connection().createArrayOf("text", (String[])value);
|
||||
preparedStatement.setArray(index, array);
|
||||
} else {
|
||||
preparedStatement.setNull(index, sqlTypes()[0]);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object deepCopy(Object o) throws HibernateException {
|
||||
String[] a = (String[])o;
|
||||
return Arrays.copyOf(a, a.length);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMutable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Serializable disassemble(Object o) throws HibernateException {
|
||||
return (Serializable) o;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object assemble(Serializable serializable, Object o) throws HibernateException {
|
||||
return serializable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object replace(Object o, Object o1, Object o2) throws HibernateException {
|
||||
return o;
|
||||
}
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
package eu.dnetlib.validatorapi.utils;
|
||||
|
||||
import org.apache.camel.AggregationStrategy;
|
||||
import org.apache.camel.Exchange;
|
||||
|
||||
public class ListSetAggregationStrategy implements AggregationStrategy {
|
||||
|
||||
|
||||
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
|
||||
if (oldExchange == null) {
|
||||
return newExchange;
|
||||
}
|
||||
|
||||
String oldBody = oldExchange.getIn().getBody(String.class);
|
||||
String newBody = newExchange.getIn().getBody(String.class);
|
||||
oldExchange.getIn().setBody(oldBody + newBody);
|
||||
|
||||
return oldExchange;
|
||||
}
|
||||
|
||||
/* public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
|
||||
if (oldExchange == null) {
|
||||
newExchange.getIn().setBody("skata", String.class);
|
||||
return newExchange;
|
||||
}
|
||||
|
||||
oldExchange.getIn().setBody("skatakia", String.class);
|
||||
String oldBody = oldExchange.getIn().getBody(String.class);
|
||||
String newBody = newExchange.getIn().getBody(String.class);
|
||||
oldExchange.getIn().setBody(oldBody + newBody);
|
||||
|
||||
return oldExchange;
|
||||
}*/
|
||||
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package eu.dnetlib.validatorapi.utils;
|
||||
|
||||
public class PrefixInitializer {
|
||||
|
||||
public static String initializeMetadataPrefix(String guidelinesProfileName) {
|
||||
|
||||
if (guidelinesProfileName.equals("OpenAIRE Guidelines for Data Archives Profile v2") ||
|
||||
guidelinesProfileName.equals("OpenAIRE FAIR Guidelines for Data Repositories Profile")) {
|
||||
return "oai_datacite";
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v3")) {
|
||||
return "oai_dc";
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v4")) {
|
||||
return "oai_openaire";
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package eu.dnetlib.validatorapi.utils;
|
||||
|
||||
import eu.dnetlib.validator2.validation.guideline.openaire.*;
|
||||
|
||||
public class ProfileInitializer {
|
||||
|
||||
public static AbstractOpenAireProfile initializeOpenAireProfile(String guidelinesProfileName) {
|
||||
|
||||
if (guidelinesProfileName.equals("OpenAIRE Guidelines for Data Archives Profile v2")) {
|
||||
return new DataArchiveGuidelinesV2Profile();
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v3")) {
|
||||
return new LiteratureGuidelinesV3Profile();
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v4")) {
|
||||
return new LiteratureGuidelinesV4Profile();
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE FAIR Guidelines for Data Repositories Profile")) {//in case they give only fair. TODO: is ti possible?
|
||||
return new FAIR_Data_GuidelinesProfile();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static AbstractOpenAireProfile initializeFairProfile(String guidelinesProfileName) {
|
||||
if (guidelinesProfileName.equals("OpenAIRE Guidelines for Data Archives Profile v2")) {
|
||||
return new FAIR_Data_GuidelinesProfile();
|
||||
|
||||
} else if (guidelinesProfileName.equals("OpenAIRE Guidelines for Literature Repositories Profile v4")) {
|
||||
return new FAIR_Literature_GuidelinesV4Profile();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue