public Table fromTableInfo()

in metacat-connector-hive/src/main/java/com/netflix/metacat/connector/hive/converters/HiveConnectorInfoConverter.java [222:273]


    public Table fromTableInfo(final TableInfo tableInfo) {
        final QualifiedName name = tableInfo.getName();
        final String tableName = (name != null) ? name.getTableName() : "";
        final String databaseName = (name != null) ? name.getDatabaseName() : "";

        final StorageInfo storageInfo = tableInfo.getSerde();
        final String owner = (storageInfo != null && storageInfo.getOwner() != null)
            ? storageInfo.getOwner() : "";

        final AuditInfo auditInfo = tableInfo.getAudit();
        final int createTime = (auditInfo != null && auditInfo.getCreatedDate() != null)
            ? dateToEpochSeconds(auditInfo.getCreatedDate()) : 0;

        final Map<String, String> params = (tableInfo.getMetadata() != null)
            ? tableInfo.getMetadata() : new HashMap<>();

        final List<FieldInfo> fields = tableInfo.getFields();
        List<FieldSchema> partitionFields = Collections.emptyList();
        List<FieldSchema> nonPartitionFields = Collections.emptyList();
        if (fields != null) {
            nonPartitionFields = Lists.newArrayListWithCapacity(fields.size());
            partitionFields = Lists.newArrayListWithCapacity(fields.size());
            for (FieldInfo fieldInfo : fields) {
                if (fieldInfo.isPartitionKey()) {
                    partitionFields.add(metacatToHiveField(fieldInfo));
                } else {
                    nonPartitionFields.add(metacatToHiveField(fieldInfo));
                }
            }
        }
        final StorageDescriptor sd = fromStorageInfo(storageInfo, nonPartitionFields);

        final ViewInfo viewInfo = tableInfo.getView();
        final String tableType = (null != viewInfo
            && !Strings.isNullOrEmpty(viewInfo.getViewOriginalText()))
            ? TableType.VIRTUAL_VIEW.name() : TableType.EXTERNAL_TABLE.name();

        return new Table(tableName,
            databaseName,
            owner,
            createTime,
            0,
            0,
            sd,
            partitionFields,
            params,
            tableType.equals(TableType.VIRTUAL_VIEW.name())
                ? tableInfo.getView().getViewOriginalText() : null,
            tableType.equals(TableType.VIRTUAL_VIEW.name())
                ? tableInfo.getView().getViewExpandedText() : null,
            tableType);
    }