Как создать пользовательский инструмент для выбора таблиц Rhapsody? - PullRequest
0 голосов
/ 14 мая 2019

Я пишу пользовательский инструмент для выбора таблицы IBM Rhapsody.Средство выбора используется для выбора блока (представляющего функцию), который удовлетворяет конкретному требованию.Я хочу, чтобы сборщик отображал только блоки в дереве выбора из подкаталога, чтобы сэкономить около 10 кликов за одно удовлетворение.

Я уже нашел это: https://www.ibm.com/developerworks/community/forums/html/topic?id=46c45210-b12e-4779-aac5-4c22b04c69fb, но это совсем не помогает, так какэто не говорит, как это делается.

Это текущий фрагмент кода для средства выбора:

public List<IRPModelElement> pick_3_UserDefinedImplementation(IRPModelElement cellElement, IRPModelElement oldValue){

IRPCollection refCollection = cellElement.getReferences();
IRPDependency dependency = null;
ArrayList<IRPModelElement>  elementList = new AayList<IRPModelElement>();

    for(int i = 1; i <= refCollection.getCount(); i++) 
    {
              if (refCollection.getItem(i) instanceof BLOCKCLASS)  
             { 
                IRPDependency depLink =  (IRPDependency)refCollection.getItem(i);
                elementList.add(depLink.getDependent());
             }
    }
    return elementList;
}

Я не смог найти класс (или IRPMetaclass) блока Rhapsody.Я уверен, что есть более разумный способ достичь того, чего я хочу.Кто-то уже написал такой сборщик и / или может мне помочь?

1 Ответ

0 голосов
/ 16 мая 2019

Блок - это стереотип «нового термина», основанный на классе.

Таким образом, вы сможете определить блоки по: 1) получение всех классов 2) перебирая классы и вызывая метод IRPModelElement.getUserDefinedMetaClass (), чтобы проверить, соответствует ли он блоку.

...