Search in sources :

Example 1 with DataSetGovernance

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;
}
Also used : DataSetGovernance(org.talend.dataprep.api.dataset.DataSetGovernance) DataSetLocation(org.talend.dataprep.api.dataset.DataSetLocation) ObjectNode(com.fasterxml.jackson.databind.node.ObjectNode) Dataset(org.talend.dataprep.dataset.adapter.Dataset) Certification(org.talend.dataprep.api.dataset.DataSetGovernance.Certification) LocalStoreLocation(org.talend.dataprep.api.dataset.location.LocalStoreLocation)

Aggregations

ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)1 DataSetGovernance (org.talend.dataprep.api.dataset.DataSetGovernance)1 Certification (org.talend.dataprep.api.dataset.DataSetGovernance.Certification)1 DataSetLocation (org.talend.dataprep.api.dataset.DataSetLocation)1 LocalStoreLocation (org.talend.dataprep.api.dataset.location.LocalStoreLocation)1 Dataset (org.talend.dataprep.dataset.adapter.Dataset)1