首页 > 解决方案 > AttributeError:“org.modelio.metamodel.impl.uml.behavior.activityMo”对象没有属性“getOwnedNode”

问题描述

我正在使用脚本来查找Activity Diagram. 为此,我使用Modelio 4.0.

我把下面的脚本放在一个宏中。

脚本

## return first initial node in the selected activity
def getInitialPoint(act):
    for node in act.getOwnedNode():
        if isinstance(node, InitialNode):
            return node

## parcours activity nodes
def getPaths(currentPath, currentNode): 
    for outgoing in currentNode.getOutgoing():
        node = outgoing.getTarget()
        if isinstance(node, ActivityFinalNode):
            paths.append(currentPath)
            return;
        elif  isinstance(node, DecisionMergeNode):
            getPaths(currentPath, node)  
        else:           
            getPaths(currentPath + " - "  + node.getName(), node) 

 ##Init
init = getInitialPoint(elt)
currentPath = init.getName()
global paths
paths = []
getPaths(currentPath, init)

 ##Print founded paths
for p in paths:
    print p

错误

但是当我启动宏时,我面临以下错误:

AttributeError: 'org.modelio.metamodel.impl.diagrams.ActivityDiagra' object has no attribute 'getOwnedNode' in <script> at line number 20
Traceback (most recent call last):
File "<script>", line 20, in <module>
File "<script>", line 3, in getInitialPoint
AttributeError: 'org.modelio.metamodel.impl.diagrams.ActivityDiagra' object has no attribute 'getOwnedNode'

你能帮我解决它吗?谢谢你。

标签: pythonjythonmodelio

解决方案


其实elt就是被选中的Element。如果您从活动元素而不是活动图启动此脚本,则该脚本有效。

最好的,


推荐阅读