예제 #1
0
    def _getFields(self, Class):
        """
        To extract fields from Class.
        """
        # for class fields
        allFields = []
        for Field in Class.getElementsByTagName("Field"):

            aField = PyutField()
            aField.setVisibility(Field.getAttribute('visibility'))
            Param = Field.getElementsByTagName("Param")[0]

            if Param.hasAttribute('defaultValue'):
                aField.setDefaultValue(Param.getAttribute('defaultValue'))
            aField.setName(Param.getAttribute('name'))
            aField.setType(Param.getAttribute('type'))

            allFields.append(aField)
        return allFields
예제 #2
0
    def _getFields(self, Class):
        """
        To extract fields from Class.

        @param   minidom.Element  : Class
        @return  [] with PyutField

        @since 1.0
        @author Deve Roux <*****@*****.**>
        """
        allFields = []
        for Field in Class.getElementsByTagName("Foundation.Core.Attribute"):
            aField = PyutField()
            # name = Field.getElementsByTagName("Foundation.Core.ModelElement.name")[0].firstChild
            fieldElts: NodeList = Field.getElementsByTagName("Foundation.Core.ModelElement.name")
            self.logger.debug(f'_getFields - fieldElts: {fieldElts}  fieldElts.length: {fieldElts.length}  type(fieldElts): {type(fieldElts)}')
            fieldElt:  Element = fieldElts.item(0)
            name = fieldElt.firstChild

            if name.nodeType == name.TEXT_NODE:
                aField.setName(name.data)
            # field visibility  --  Be verbose for debugability
            # visibility = Field.getElementsByTagName ("Foundation.Core.ModelElement.visibility")[0]
            # aField.setVisibility(self._xmiVisibility2PyutVisibility(visibility.getAttribute('xmi.value')))

            visElts: NodeList = Field.getElementsByTagName("Foundation.Core.ModelElement.visibility")
            visElt: Element   = visElts.item(0)
            if visElt is None:
                visStr: str = 'public'
            else:
                visStr: str = visElt.getAttribute('xmi.value')
            vis:    PyutVisibilityEnum = self._xmiVisibility2PyutVisibility(visStr)
            aField.setVisibility(vis)

            # default value
            self._getDefaultValue(Field, aField)

            # for type
            self._getTypeId(Field, aField, self.dicoType)
            allFields.append(aField)
        return allFields
예제 #3
0
    def _getFields(self, Class):
        """
        To extract fields form Class.

        @since 1.0
        @author Deve Roux <*****@*****.**>
        """
        # for class fields
        allFields = []
        for Field in Class.getElementsByTagName("Field"):

            aField = PyutField()
            # aField.setVisibility(Field.getAttribute('visibility'))
            vis: PyutVisibilityEnum = PyutVisibilityEnum(Field.getAttribute('visibility'))
            aField.setVisibility(vis)
            Param = Field.getElementsByTagName("Param")[0]
            if Param.hasAttribute('defaultValue'):
                aField.setDefaultValue(Param.getAttribute('defaultValue'))
            aField.setName(Param.getAttribute('name'))
            aField.setType(Param.getAttribute('type'))

            allFields.append(aField)
        return allFields