def to_data(instance: 'CdmOperationAddTypeAttribute', res_opt: 'ResolveOptions', options: 'CopyOptions') -> 'OperationAddTypeAttribute':
        from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence

        if not instance:
            return None

        obj = OperationBasePersistence.to_data(instance, res_opt, options)  # type: OperationAddTypeAttribute
        obj.typeAttribute = TypeAttributePersistence.to_data(instance.type_attribute, res_opt, options)

        return obj
예제 #2
0
    def to_data(instance: 'CdmOperationAddTypeAttribute', res_opt: 'ResolveOptions', options: 'CopyOptions') -> 'OperationAddTypeAttribute':
        from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence

        if not instance:
            return None

        obj = OperationAddTypeAttribute()
        obj.type = OperationTypeConvertor._operation_type_to_string(CdmOperationType.ADD_TYPE_ATTRIBUTE)
        obj.explanation = instance.explanation
        obj.typeAttribute = TypeAttributePersistence.to_data(instance.type_attribute, res_opt, options)

        return obj
예제 #3
0
    def to_data(instance: 'CdmOperationReplaceAsForeignKey',
                res_opt: 'ResolveOptions',
                options: 'CopyOptions') -> 'OperationReplaceAsForeignKey':
        from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence

        if not instance:
            return None

        obj = OperationBasePersistence.to_data(
            instance, res_opt, options)  # type: OperationReplaceAsForeignKey
        obj.reference = instance.reference
        obj.replaceWith = TypeAttributePersistence.to_data(
            instance.replace_with, res_opt, options)

        return obj
예제 #4
0
    def to_data(instance: 'CdmOperationCombineAttributes',
                res_opt: 'ResolveOptions',
                options: 'CopyOptions') -> 'OperationCombineAttributes':
        from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence

        if not instance:
            return None

        obj = OperationBasePersistence.to_data(
            instance, res_opt, options)  # type: OperationCombineAttributes
        obj.select = instance.select
        obj.mergeInto = TypeAttributePersistence.to_data(
            instance.merge_into, res_opt, options)

        return obj
예제 #5
0
    def to_data(instance: 'CdmOperationCombineAttributes',
                res_opt: 'ResolveOptions',
                options: 'CopyOptions') -> 'OperationCombineAttributes':
        from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence

        if not instance:
            return None

        obj = OperationCombineAttributes()
        obj.type = OperationTypeConvertor._operation_type_to_string(
            CdmOperationType.COMBINE_ATTRIBUTES)
        obj.explanation = instance.explanation
        obj.take = instance.take
        obj.mergeInto = TypeAttributePersistence.to_data(
            instance.merge_into, res_opt, options)

        return obj
    def to_data(instance: 'CdmOperationAddArtifactAttribute',
                res_opt: 'ResolveOptions',
                options: 'CopyOptions') -> 'OperationAddArtifactAttribute':
        from cdm.persistence.cdmfolder.type_attribute_persistence import TypeAttributePersistence
        from cdm.objectmodel import CdmTypeAttributeDefinition
        if not instance:
            return None

        obj = OperationBasePersistence.to_data(
            instance, res_opt, options)  # type: OperationAddArtifactAttribute
        if isinstance(instance.new_attribute, CdmTypeAttributeDefinition):
            obj.newAttribute = TypeAttributePersistence.to_data(
                instance.new_attribute, res_opt, options)
        obj.newAttribute = instance.new_attribute
        obj.insertAtTop = instance.insert_at_top

        return obj
예제 #7
0
    async def test_cardinality_persistence(self):
        '''
        Testing that cardinality settings are loaded and saved correctly
        '''
        corpus = TestHelper.get_local_corpus(self.tests_subpath,
                                             'test_cardinality_persistence')

        # test from_data
        entity = await corpus.fetch_object_async(
            'local:/someEntity.cdm.json/someEntity'
        )  # type: CdmEntityDefinition
        attribute = entity.attributes[0]  # type: CdmTypeAttributeDefinition

        self.assertIsNotNone(attribute.cardinality)
        self.assertEqual(attribute.cardinality.minimum, '0')
        self.assertEqual(attribute.cardinality.maximum, '1')

        # test to_data
        attribute_data = TypeAttributePersistence.to_data(
            attribute, ResolveOptions(entity.in_document), CopyOptions())

        self.assertIsNotNone(attribute_data.cardinality)
        self.assertEqual(attribute_data.cardinality.minimum, '0')
        self.assertEqual(attribute_data.cardinality.maximum, '1')