package org.molgenis.ontology.sorta.meta;
import org.molgenis.data.jobs.model.JobExecutionMetaData;
import org.molgenis.data.meta.SystemEntityType;
import org.molgenis.ontology.core.model.OntologyPackage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import static java.util.Objects.requireNonNull;
import static org.molgenis.data.meta.AttributeType.*;
import static org.molgenis.data.meta.model.Package.PACKAGE_SEPARATOR;
import static org.molgenis.ontology.core.model.OntologyPackage.PACKAGE_ONTOLOGY;
@Component
public class SortaJobExecutionMetaData extends SystemEntityType
{
public static final String SIMPLE_NAME = "SortaJobExecution";
public static final String SORTA_JOB_EXECUTION = PACKAGE_ONTOLOGY + PACKAGE_SEPARATOR + SIMPLE_NAME;
public final static String ONTOLOGY_IRI = "ontologyIri";
public final static String NAME = "name";
public final static String DELETE_URL = "deleteUrl";
public final static String SOURCE_ENTITY = "sourceEntity";
public final static String RESULT_ENTITY = "resultEntity";
public final static String THRESHOLD = "Threshold";
public static final String SORTA_MATCH_JOB_TYPE = "SORTA";
private final OntologyPackage ontologyPackage;
private final JobExecutionMetaData jobExecutionMetaData;
@Autowired
SortaJobExecutionMetaData(OntologyPackage ontologyPackage, JobExecutionMetaData jobExecutionMetaData)
{
super(SIMPLE_NAME, PACKAGE_ONTOLOGY);
this.ontologyPackage = requireNonNull(ontologyPackage);
this.jobExecutionMetaData = requireNonNull(jobExecutionMetaData);
}
@Override
public void init()
{
setLabel("SORTA job execution");
setPackage(ontologyPackage);
setExtends(jobExecutionMetaData);
addAttribute(NAME).setDataType(STRING).setNillable(false);
addAttribute(RESULT_ENTITY).setDataType(STRING).setNillable(false);
addAttribute(SOURCE_ENTITY).setDataType(STRING).setNillable(false);
addAttribute(ONTOLOGY_IRI).setDataType(STRING).setNillable(false);
addAttribute(DELETE_URL).setDataType(HYPERLINK).setNillable(false);
addAttribute(THRESHOLD).setDataType(DECIMAL).setNillable(false);
}
}