Я использовал Rhapsody Java API для создания плагина для моего проекта Rhapsody. Моя проблема в том, что это очень медленно. У меня есть следующая функция:
private static void collectElements(final IRPModelElement curEl,
final IRPCollection elCol) {
// collect contained elements
for (Object it : curEl.getNestedElements().toList()) {
IRPModelElement element = (IRPModelElement) it;
if (!skipElement(element)) {
// add element itself
elCol.addItem(element);
// descend
collectElements(element, elCol);
}
}
}
который собирает все вложенные элементы выбранного элемента. В моем проекте около 7500 элементов, и выполнение вышеуказанной функции занимает 22 секунды. Я пытался получить все элементы с помощью selectedElement.getNestedElementsRecursive()
и работать с List или HashSet, но функция .toList()
тоже очень медленная. Любое предложение?