Я настроил в реестре следующий пользовательский жизненный цикл. Состояния и переходы показаны ниже:
in.design (initial)
-> in.development
-> in.production
-> in.text
in.development
-> in.test
in.test
-> released
released
-> in.production
in.production
-> deprecated
deprecated
-> retired (end)
вариант использования: пакетное согласование артефактов, которые активно управляются в другой системе.
проблема: мне нужно установить состояние "in.production" через API для определенных артефактов.
Я рассмотрел следующие возможности; * API GenericArtifact, с помощью которого я могу привязать жизненный цикл к артефакту. => вы не можете установить Lifecycle-State * "CustomLifecyclesChecklistAdminService", но это скорее внутренний API и управляется пользовательским интерфейсом. Трудно программировать, кажется.
поэтому вопрос: есть ли способ установить состояние жизненного цикла артефакта в состояние, которое не является начальным?
мой собственный ответ (есть ли лучшее решение?):
// When "simulating" the behaviour of the UI, the following works. It feels a little awkward and looks brittle to me. Found out how to use it via debugger.
CustomLifecyclesChecklistAdminServiceStub clc = ...
// these are representing the check boxes in the UI
String[] params = { "false", "true", "false" };
clc.invokeAspect(path, lifecycleName, "to.production", params);