Небольшая преамбула. Есть компания разработчик ПО. В качестве инструментария для версионности, управления изменениями и баг-трекинга используется Borland StarTeam. Используются 3 объекта:
Запрос – общение с Заказчиком и аля требования
Задача
ОшибкаВсе формы кастомизированы (реализованы с использованием APE) На прошлой неделе возникла необходимость вызывать из формы Запроса форму Задачи.
Начали смотреть как бы это проще реализовать. Первое на что подумали стандартный контрол для StarTeam – AddAndLinkButton. Но он к сожалению не дает возможности задать какие-нибудь параметры создаваемой формы, а хочется например часть информации из Запроса копировать в Задачу.После этого стали смотреть в сторону класса Locator из API StarTeam. Вроде как есть в нем подходящий метод – launchPropertyEditor, но к сожалению в документации вообще не описаны параметры, что надо передавать (в частности PropertyEditorCommand).После этого, посидели почесали репу и решили декомпилировать класс AddAndLinkButton и посмотреть как это в нем реализовано. В качестве декомпилятора взяли – JADЭтот способ оказался самым действенным
В итоге сделали вот так вот:
Запрос – общение с Заказчиком и аля требования
Задача
ОшибкаВсе формы кастомизированы (реализованы с использованием APE) На прошлой неделе возникла необходимость вызывать из формы Запроса форму Задачи.
Начали смотреть как бы это проще реализовать. Первое на что подумали стандартный контрол для StarTeam – AddAndLinkButton. Но он к сожалению не дает возможности задать какие-нибудь параметры создаваемой формы, а хочется например часть информации из Запроса копировать в Задачу.После этого стали смотреть в сторону класса Locator из API StarTeam. Вроде как есть в нем подходящий метод – launchPropertyEditor, но к сожалению в документации вообще не описаны параметры, что надо передавать (в частности PropertyEditorCommand).После этого, посидели почесали репу и решили декомпилировать класс AddAndLinkButton и посмотреть как это в нем реализовано. В качестве декомпилятора взяли – JADЭтот способ оказался самым действенным
try
{
java.awt.Window w = UI.findParentFrameOrDialog(this);
com.starbase.starteam.Folder folder;
folder = logic._workItem.getView().getRootFolder();
Item newItem = Item.createItem(“ChangeRequest”, folder);
newItem.put(“USR_CR_NAME”, “А вот так вот!!!”);
PropertyEditorUtils.edit(w, “”, new Item[] {newItem}, 0, false, true);
if(!newItem.isNew())
logic._workItem.linkItem(newItem, false);
} catch (Exception ex) {}
Получилось вроде как совсем не плохо
Нет похожих записей.











0 Responses to “Как из custom формы в StarTeam вызвать другую custom форму и задать у нее какие-то параметры”