64 lines
2.9 KiB
Java
64 lines
2.9 KiB
Java
package eu.dnetlib.validatorapi.processors;
|
|
|
|
import eu.dnetlib.validator2.validation.guideline.openaire.AbstractOpenAireProfile;
|
|
import eu.dnetlib.validatorapi.entities.SummaryResult;
|
|
import eu.dnetlib.validatorapi.entities.ValidationJob;
|
|
import eu.dnetlib.validatorapi.repositories.SummaryValidationJobRepository;
|
|
import eu.dnetlib.validatorapi.repositories.ValidationJobRepository;
|
|
import eu.dnetlib.validatorapi.repositories.ValidationResultRepository;
|
|
import org.apache.camel.Exchange;
|
|
import org.apache.camel.Processor;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
public class SumUpNCleanProcessor implements Processor {
|
|
|
|
private final ValidationJobRepository validationJobRepository;
|
|
private final ValidationResultRepository validationResultRepository;
|
|
private final SummaryValidationJobRepository summaryValidationJobRepository;
|
|
private final AbstractOpenAireProfile profile;
|
|
|
|
public SumUpNCleanProcessor(ValidationJobRepository validationJobRepository,
|
|
ValidationResultRepository validationResultRepository,
|
|
SummaryValidationJobRepository summaryValidationJobRepository,
|
|
AbstractOpenAireProfile profile) {
|
|
this.validationJobRepository = validationJobRepository;
|
|
this.validationResultRepository = validationResultRepository;
|
|
this.summaryValidationJobRepository = summaryValidationJobRepository;
|
|
this.profile = profile;
|
|
}
|
|
|
|
@Override
|
|
public void process(Exchange exchange) throws Exception {
|
|
|
|
Thread stop=null;
|
|
|
|
ValidationJob validationJob = new ValidationJob();
|
|
validationJob.id = (Integer)exchange.getIn().getHeader("validationId");
|
|
validationJob.baseUrl = (String)(exchange.getIn().getHeader("baseUrl"));
|
|
validationJob.set = (String)(exchange.getIn().getHeader("set"));
|
|
validationJob.startDate = (Date) exchange.getIn().getHeader("startDate");
|
|
validationJob.guidelines = (String) exchange.getIn().getHeader("guidelines");
|
|
validationJob.status = (String)exchange.getIn().getHeader("status");
|
|
validationJob.recordsTested = (Integer) exchange.getIn().getHeader("recordsTested");
|
|
validationJob.numberOfRecords = Math.toIntExact((Long) exchange.getIn().getHeader("maxNumberOfRecords"));
|
|
validationJob.score = (Integer) exchange.getIn().getHeader("score");
|
|
validationJob.progress = "COMPLETED";
|
|
validationJob.endDate = new Date();
|
|
|
|
List<SummaryResult> summaryResults = validationResultRepository.getFullSummaryResult
|
|
((Integer) exchange.getIn().getHeader("validationId"));
|
|
|
|
for(SummaryResult sr: summaryResults) {
|
|
sr.validationJobId = validationJob.id;
|
|
summaryValidationJobRepository.save(sr);
|
|
}
|
|
|
|
validationResultRepository.customDeleteByGuidelines(validationJob.id, profile.name());
|
|
validationJobRepository.save(validationJob);
|
|
|
|
}
|
|
|
|
}
|