コード例 #1
0
    def setUp(self):
        super(KindTest, self).setUp()

        view = self.view
        self.kind = view.findPath("//Schema/Core/Kind")
        self.itemKind = view.findPath("//Schema/Core/Item")
        self.attrKind = self.itemKind.itsParent['Attribute']

        self.kind1 = self.kind.newItem('kind1', view)
        self.kind1.addValue('superKinds', self.itemKind)
        self.kind1Attr1 = Attribute('k1a1', view, self.attrKind)
        self.kind1Attr1.cardinality = 'list'
        self.kind1Attr1.otherName = 'owner'
        self.kind1.addValue('attributes', self.kind1Attr1, alias='k1a1')

        kind1Attr1Bad = Attribute('k1a1bad', self.kind1, self.attrKind)
        kind1Attr1Bad.cardinality = 'list'
        kind1Attr1Bad.otherName = 'owner'
        try:
            self.kind1.addValue('attribute', kind1Attr1Bad, alias='k1a1bad')
        except AttributeError:
            pass
        
        self.kind2 = self.kind.newItem('kind2', self.kind1)
        self.kind2.addValue('superKinds', self.itemKind)
        self.kind2.addValue('attributes', self.kind1Attr1, alias='k1a1')
        self.kind2Attr2 = Attribute('k2a2', view, self.attrKind)
        self.kind2Attr2.cardinality = 'list'
        self.kind2.addValue('attributes', self.kind2Attr2, alias='k2a2')
コード例 #2
0
ファイル: TestRefDictAlias.py プロジェクト: vogth/chandler
    def _createBlockKind(self, cardinality):
        view = self.view
        kind = view.findPath("//Schema/Core/Kind")
        itemKind = view.findPath("//Schema/Core/Item")
        attrKind = itemKind.itsParent["Attribute"]

        # blockKind has a 'blocks' reference collection, and an inverse 'blockParent'
        blockKind = kind.newItem("Block", view)
        blocksAttribute = Attribute("blocks", blockKind, attrKind)
        blocksAttribute.cardinality = cardinality
        blocksAttribute.otherName = "blockParent"
        blockKind.addValue("attributes", blocksAttribute, alias="blocks")
        blockParentAttribute = Attribute("blockParent", blockKind, attrKind)
        blockParentAttribute.cardinality = "single"
        blockParentAttribute.otherName = "blocks"
        blockKind.addValue("attributes", blockParentAttribute, alias="blockParent")
        return blockKind
コード例 #3
0
    def _createBlockKind(self, cardinality):
        view = self.view
        kind = view.findPath('//Schema/Core/Kind')
        itemKind = view.findPath('//Schema/Core/Item')
        attrKind = itemKind.itsParent['Attribute']

        # blockKind has a 'blocks' reference collection, and an inverse 'blockParent'
        blockKind = kind.newItem('Block', view)
        blocksAttribute = Attribute('blocks', blockKind, attrKind)
        blocksAttribute.cardinality = cardinality
        blocksAttribute.otherName = 'blockParent'
        blockKind.addValue('attributes', blocksAttribute, alias='blocks')
        blockParentAttribute = Attribute('blockParent', blockKind, attrKind)
        blockParentAttribute.cardinality = 'single'
        blockParentAttribute.otherName = 'blocks'
        blockKind.addValue('attributes',
                           blockParentAttribute,
                           alias='blockParent')
        return blockKind
コード例 #4
0
    def _createManagerAndEmployeeKinds(self, type):

        view = self.view

        kind = view.findPath('//Schema/Core/Kind')
        itemKind = view.findPath('//Schema/Core/Item')
        attrKind = itemKind.itsParent['Attribute']

        managerKind = kind.newItem('manager', view)
        employeesAttribute = Attribute('employees', managerKind, attrKind)
        employeesAttribute.cardinality = type
        employeesAttribute.otherName = 'manager'
        managerKind.addValue('attributes',
                             employeesAttribute, alias='employees')
        employeeKind = kind.newItem('employee', view)
        managerAttribute = Attribute('manager', employeeKind, attrKind)
        managerAttribute.otherName = 'employees'
        employeeKind.addValue('attributes', managerAttribute, alias='manager')

        return managerKind, employeeKind
コード例 #5
0
    def _createBlockAndEventKinds(self, cardinality):
        view = self.view
        kind = view.findPath('//Schema/Core/Kind')
        itemKind = view.findPath('//Schema/Core/Item')
        attrKind = itemKind.itsParent['Attribute']

        # blockKind has a 'blocks' reference collection, and an inverse 'blockParent'
        blockKind = kind.newItem('Block', view)
        blocksAttribute = Attribute('blocks', blockKind, attrKind)
        blocksAttribute.cardinality = cardinality
        blocksAttribute.copyPolicy = currentPolicy
        blocksAttribute.otherName = 'blockParent'
        blockKind.addValue('attributes',
                          blocksAttribute, alias='blocks')
        blockParentAttribute = Attribute('blockParent', blockKind, attrKind)
        blockParentAttribute.cardinality = 'single'
        blockParentAttribute.otherName = 'blocks'
        blockParentAttribute.copyPolicy = currentPolicy
        blockKind.addValue('attributes',
                           blockParentAttribute, alias='blockParent')

        # also has an "event" reference that has no inverse
        eventAttribute = Attribute('event', blockKind, attrKind)
        eventAttribute.cardinality = 'single'
        eventAttribute.copyPolicy = currentPolicy
        blockKind.addValue('attributes',
                           eventAttribute, alias='event')

        # create the event kind, which has a pointer to a Block.
        eventKind = kind.newItem('Event', view)
        notifyBlock = Attribute('notify', eventKind, attrKind)
        notifyBlock.cardinality = 'single'
        notifyBlock.copyPolicy = currentPolicy
        eventKind.addValue('attributes',
                          notifyBlock, alias='notify')

        return (blockKind, eventKind)