AttributeError: объект org.modelio.metamodel.impl.uml.behavior.activityMo не имеет атрибута getOwnedNode - PullRequest
0 голосов
/ 12 февраля 2020

Я использую скрипт для поиска всех путей в 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'

Не могли бы вы помочь мне исправить это, пожалуйста? Спасибо.

1 Ответ

1 голос
/ 12 февраля 2020

На самом деле, elt является выбранным элементом. Этот скрипт работает, если вы запускаете его из элемента деятельности, а не из диаграммы деятельности.

Best,

...