Перейти к публикации

TCComponentDataset --> AIFComponentContext


Рекомендованные сообщения

Помогите кто чем может, застряла на ерунде наверное, но сама никак не могу сделать из TCComponentDataset --> AIFComponentContext.

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

Для того чтобы удалить из ТC TCComponentDataset с запросом на удаление, надо послать его в конструктор com.teamcenter.rac.commands.delete.DeleteDialog, а этот принимает только AIFComponentContext..... ну прям беда.

Ссылка на сообщение
Поделиться на других сайтах


Итак, отвечу сама себе, ну и для истории, кому нибудь обязательно пригодится.....

И модели списка JList имеем:

TCComponentDataset data = (TCComponentDataset) listModel.getElementAt(list.getSelectedIndex());

Надо удалить выбранный набор данных с запросом на удаление из ТС.

Для того чтоб создать com.teamcenter.rac.commands.delete.DeleteDialog ему надо дать в конструктор AIFComponentContext, чего у нас ну никак нет.

Оказывается у класса AIFComponentContext есть статик методы для создания контекстов:

public static AIFComponentContext[] getContexts(InterfaceAIFComponent[] primaryComponents, InterfaceAIFComponent myComponent, Object typerelation)

а дальше дело техники, находим первого родителя данному набору данных, и знаем каким отношение они связаны и получаем:

AIFComponentContext[] wrefs = data.getPrimary();

new DeleteDialog(AIFComponentContext.getContexts(new InterfaceAIFComponent[]{wrefs[0].getComponent()} ,data, "IMAN_specification"));

...... ну и далее по смыслу....

хотя в случае если надо удалять действительно лучше создать com.teamcenter.rac.commands.delete.DeleteCommand по тому же принципу:

delete = new DeleteCommand(AIFComponentContext.getContexts(new InterfaceAIFComponent[]{wrefs[0].getComponent()} ,data, typeRel));

delete.executeModal();

Если набор данных просто созданный и никуда не вставлен, не имеет отношений ни с каким ТСкомпонентом, то удалить так его не получится, потому что он еще не может быть контекстом, то есть удаляем с запросом ConfirmationDialog

if (ConfirmationDialog.YES == ConfirmationDialog.post(owner,"Внимание!", "Удалить выбранный набор данных?")) data.delete();

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...