レジストリで次のカスタム ライフサイクルを構成しました。状態と遷移を以下に示します。
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)
ユースケース: 別のシステムでアクティブに管理されているアーティファクトのバッチ調整。
問題: 特定のアーティファクトの API を介して "in.production" 状態を設定する必要があります。
以下の可能性を検討しました。* アーティファクトにライフサイクルをアタッチできる GenericArtifact API。=> Lifecycle-State * "CustomLifecyclesChecklistAdminService" を設定することはできませんが、これはむしろ内部 API であり、UI 主導です。プログラムするのは難しいようです。
質問は次のとおりです。アーティファクトのライフサイクル状態を初期状態ではない状態に設定する方法はありますか?
私自身の答え(より良い解決策はありますか?):
// 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);