All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.netflix.metacat.converters.impl.MapStructPrestoConvertersImpl Maven / Gradle / Ivy

There is a newer version: 0.1.53
Show newest version
package com.netflix.metacat.converters.impl;

import com.facebook.presto.metadata.TableMetadata;
import com.facebook.presto.spi.AuditInfo;
import com.facebook.presto.spi.ColumnMetadata;
import com.facebook.presto.spi.ConnectorPartition;
import com.facebook.presto.spi.StorageInfo;
import com.netflix.metacat.common.QualifiedName;
import com.netflix.metacat.common.dto.AuditDto;
import com.netflix.metacat.common.dto.FieldDto;
import com.netflix.metacat.common.dto.PartitionDto;
import com.netflix.metacat.common.dto.StorageDto;
import com.netflix.metacat.common.dto.TableDto;
import java.util.HashMap;
import javax.annotation.Generated;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2016-06-02T00:24:14+0000",
    comments = "version: 1.0.0.Beta4, compiler: javac, environment: Java 1.8.0_31 (Oracle Corporation)"
)
public class MapStructPrestoConvertersImpl extends MapStructPrestoConverters {

    private final DateConverters dateConverters = new DateConverters();

    @Override
    protected AuditInfo fromAuditDto(AuditDto audit) {
        if ( audit == null ) {
            return null;
        }

        AuditInfo auditInfo = new AuditInfo();

        auditInfo.setLastUpdatedBy( audit.getLastModifiedBy() );
        auditInfo.setLastUpdatedDate( dateConverters.fromDateToLong( audit.getLastModifiedDate() ) );
        auditInfo.setCreatedDate( dateConverters.fromDateToLong( audit.getCreatedDate() ) );
        auditInfo.setCreatedBy( audit.getCreatedBy() );

        return auditInfo;
    }

    @Override
    protected StorageInfo fromStorageDto(StorageDto serde) {
        if ( serde == null ) {
            return null;
        }

        StorageInfo storageInfo = new StorageInfo();

        storageInfo.setSerializationLib( serde.getSerializationLib() );
        if ( serde.getSerdeInfoParameters() != null ) {
            storageInfo.setSerdeInfoParameters( new HashMap( serde.getSerdeInfoParameters() ) );
        }
        storageInfo.setInputFormat( serde.getInputFormat() );
        if ( serde.getParameters() != null ) {
            storageInfo.setParameters( new HashMap( serde.getParameters() ) );
        }
        storageInfo.setOutputFormat( serde.getOutputFormat() );
        storageInfo.setUri( serde.getUri() );

        return storageInfo;
    }

    @Override
    protected AuditDto toAuditDto(AuditInfo auditInfo) {
        if ( auditInfo == null ) {
            return null;
        }

        AuditDto auditDto = new AuditDto();

        auditDto.setCreatedDate( dateConverters.fromLongToDate( auditInfo.getCreatedDate() ) );
        auditDto.setCreatedBy( auditInfo.getCreatedBy() );
        auditDto.setLastModifiedDate( dateConverters.fromLongToDate( auditInfo.getLastUpdatedDate() ) );
        auditDto.setLastModifiedBy( auditInfo.getLastUpdatedBy() );

        return auditDto;
    }

    @Override
    protected FieldDto toFieldDto(ColumnMetadata column) {
        if ( column == null ) {
            return null;
        }

        FieldDto fieldDto = new FieldDto();

        fieldDto.setPartition_key( column.isPartitionKey() );
        fieldDto.setName( column.getName() );
        fieldDto.setComment( column.getComment() );
        fieldDto.setType( toString( column.getType() ) );

        return fieldDto;
    }

    @Override
    public PartitionDto toPartitionDto(QualifiedName name, ConnectorPartition partition) {
        if ( name == null && partition == null ) {
            return null;
        }

        PartitionDto partitionDto = new PartitionDto();
        if ( name != null ) {
            partitionDto.setName( name );
        }
        if ( partition != null ) {
            partitionDto.setMetadata( toMetadata( partition ) );
            partitionDto.setSerde( toStorageDto( partition ) );
            partitionDto.setAudit( toAuditDto( partition ) );
        }

        return partitionDto;
    }

    @Override
    protected StorageDto toStorageDto(StorageInfo storageInfo) {
        if ( storageInfo == null ) {
            return null;
        }

        StorageDto storageDto = new StorageDto();

        storageDto.setSerializationLib( storageInfo.getSerializationLib() );
        if ( storageInfo.getSerdeInfoParameters() != null ) {
            storageDto.setSerdeInfoParameters( new HashMap( storageInfo.getSerdeInfoParameters() ) );
        }
        storageDto.setInputFormat( storageInfo.getInputFormat() );
        if ( storageInfo.getParameters() != null ) {
            storageDto.setParameters( new HashMap( storageInfo.getParameters() ) );
        }
        storageDto.setOutputFormat( storageInfo.getOutputFormat() );
        storageDto.setUri( storageInfo.getUri() );

        return storageDto;
    }

    @Override
    public TableDto toTableDto(QualifiedName name, String type, TableMetadata ptm) {
        if ( name == null && type == null && ptm == null ) {
            return null;
        }

        TableDto tableDto = new TableDto();
        if ( name != null ) {
            tableDto.setName( name );
        }
        if ( ptm != null ) {
            tableDto.setMetadata( toMetadata( ptm.getMetadata() ) );
            tableDto.setPartition_keys( toPartitionKeys( ptm.getColumns() ) );
            tableDto.setSerde( toStorageDto( ptm.getMetadata() ) );
            tableDto.setAudit( toAuditDto( ptm.getMetadata() ) );
            tableDto.setFields( toFieldDtos( ptm.getColumns() ) );
        }

        return tableDto;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy