def __set_tag_field()

in google-datacatalog-apache-atlas-connector/src/google/datacatalog_connectors/apache_atlas/prepare/datacatalog_tag_factory.py [0:0]


    def __set_tag_field(cls, attribute_defs, enum_types_dict, field_name, tag,
                        tag_value):
        formatted_name = attr_normalizer.DataCatalogAttributeNormalizer.\
            format_name(field_name)

        if formatted_name not in cls.__IGNORED_ATTRIBUTES_LIST:
            attribute_def = cls.__find_attribute_def(attribute_defs,
                                                     field_name)

            type_name = attribute_def.get('typeName')

            enum_type = enum_types_dict.get(type_name)

            if type_name in constant.DATACATALOG_TARGET_PRIMITIVE_TYPES:
                if type_name in constant.DATACATALOG_TARGET_DOUBLE_TYPE:
                    super()._set_double_field(tag, formatted_name, tag_value)
                elif type_name in constant.DATACATALOG_TARGET_BOOLEAN_TYPE:
                    super()._set_bool_field(tag, formatted_name,
                                            bool(tag_value))
                else:
                    super()._set_string_field(tag, formatted_name,
                                              str(tag_value))
            elif enum_type:
                enum_field = datacatalog.TagField()
                enum_field.enum_value.display_name = tag_value
                tag.fields[formatted_name] = enum_field
            else:
                super()._set_string_field(tag, formatted_name, str(tag_value))