package org.molgenis.gavin.job.meta;
import org.molgenis.data.index.meta.IndexPackage;
import org.molgenis.data.jobs.model.JobExecutionMetaData;
import org.molgenis.data.meta.SystemEntityType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import static java.util.Objects.requireNonNull;
import static org.molgenis.data.index.meta.IndexPackage.PACKAGE_INDEX;
import static org.molgenis.data.meta.AttributeType.INT;
import static org.molgenis.data.meta.AttributeType.STRING;
import static org.molgenis.data.meta.model.Package.PACKAGE_SEPARATOR;
@Component
public class GavinJobExecutionMetaData extends SystemEntityType
{
private final JobExecutionMetaData jobExecutionMetaData;
private static final String SIMPLE_NAME = "GavinJobExecution";
public static final String GAVIN_JOB_EXECUTION = PACKAGE_INDEX + PACKAGE_SEPARATOR + SIMPLE_NAME;
public static final String FILENAME = "filename";
public static final String INPUT_FILE_EXTENSION = "extension";
public static final String COMMENTS = "comments";
public static final String CADDS = "cadds";
public static final String VCFS = "vcfs";
public static final String ERRORS = "errors";
public static final String SKIPPEDS = "skippeds";
public static final String INDELS_NOCADD = "indels";
private final IndexPackage indexPackage;
@Autowired
public GavinJobExecutionMetaData(IndexPackage indexPackage, JobExecutionMetaData jobExecutionMetaData)
{
super(SIMPLE_NAME, PACKAGE_INDEX);
this.indexPackage = requireNonNull(indexPackage);
this.jobExecutionMetaData = requireNonNull(jobExecutionMetaData);
}
@Override
public void init()
{
setLabel("Gavin job execution");
setPackage(indexPackage);
setExtends(jobExecutionMetaData);
addAttribute(FILENAME).setDataType(STRING).setNillable(false);
addAttribute(INPUT_FILE_EXTENSION).setDataType(STRING).setNillable(false);
addAttribute(COMMENTS).setDataType(INT).setNillable(true);
addAttribute(CADDS).setDataType(INT).setNillable(true);
addAttribute(VCFS).setDataType(INT).setNillable(true);
addAttribute(ERRORS).setDataType(INT).setNillable(true);
addAttribute(INDELS_NOCADD).setDataType(INT).setNillable(true);
addAttribute(SKIPPEDS).setDataType(INT).setNillable(true);
}
}