use of org.talend.dataprep.api.dataset.DataSetGovernance in project data-prep by Talend.
the class DataSetMetadataBeanConversion method doWith.
@Override
public BeanConversionService doWith(BeanConversionService instance, String beanName, ApplicationContext applicationContext) {
instance.register(//
fromBean(DataSetMetadata.class).toBeans(//
Dataset.class).using(Dataset.class, (dataSetMetadata, dataset) -> {
dataset.setId(dataSetMetadata.getId());
dataset.setEnabled(true);
dataset.setCreated(dataSetMetadata.getCreationDate());
dataset.setUpdated(dataSetMetadata.getLastModificationDate());
dataset.setOwner(dataSetMetadata.getAuthor());
dataset.setLabel(dataSetMetadata.getName());
DataSetGovernance governance = dataSetMetadata.getGovernance();
if (governance != null) {
Certification certificationStep = governance.getCertificationStep();
dataset.setCertification(CertificationState.valueOf(certificationStep.name()));
}
DataSetLocation location = dataSetMetadata.getLocation();
if (location instanceof LocalStoreLocation) {
// FIXME by-pass for DataSet based on Local file (because Catalog doesn't provide Local file DataStore)
dataset.setType(location.getLocationType());
ObjectNode jsonNode = objectMapper.createObjectNode();
jsonNode.set("location", objectMapper.valueToTree(location));
jsonNode.set("content", objectMapper.valueToTree(dataSetMetadata.getContent()));
dataset.setProperties(jsonNode);
}
// Manage legacy fields that doesn't match data catalog concept
Dataset.DataSetMetadataLegacy metadataLegacy = new Dataset.DataSetMetadataLegacy();
metadataLegacy.setSheetName(dataSetMetadata.getSheetName());
metadataLegacy.setDraft(dataSetMetadata.isDraft());
metadataLegacy.setSchemaParserResult(dataSetMetadata.getSchemaParserResult());
metadataLegacy.setEncoding(dataSetMetadata.getEncoding());
metadataLegacy.setTag(dataSetMetadata.getTag());
metadataLegacy.setNbRecords(dataSetMetadata.getContent().getNbRecords());
dataset.setDataSetMetadataLegacy(metadataLegacy);
return dataset;
}).build());
return instance;
}
Aggregations