2015-11-10 5 views
2

Я пытаюсь загрузить пользовательское правило в другое настраиваемое правило, сделанное мастером правил Parasoft.получение ошибки: невозможно загрузить перекрестное правило (недопустимый тип правила или файл не существует)

Следующий код является питон фрагмент кода, который помещен в правиле вызова в качестве способа:

def somePythonMethod(node, context): 
    parent = context.getParentContext() 
    result = parent.executeRule("my_rule.rule", node) 

ошибка я получить при выполнении анализа:

unable to load cross rule (invalid rule type or file does not exist) 

с последующим переходом на путь правила, который существует. Следовательно, проблема, я полагаю, связана с типом правила.

Что является источником этой ошибки?

ответ

1

В Parasoft docos рекомендуют использовать что-то вроде следующего:

enf = node.getEnforcer() 
    filename = node.getProperty("filename") 
    line = node.getLine() 
    col = node.getColumn() 
    enf.executeRuleEx('./my.rule', node, filename, int(line), int(col)) 

Разница в том, что вы звоните executeRuleEx() на Инфорсер не родительский узел. Ясно, что слишком поздно для ОП, но это может помочь кому-либо еще задать тот же вопрос в будущем.