Class TransitionViewerPlugin
java.lang.Object
com.scivicslab.actoriac.plugins.transitionviewer.TransitionViewerPlugin
- All Implemented Interfaces:
com.scivicslab.pojoactor.core.CallableByActionName, com.scivicslab.pojoactor.workflow.ActorSystemAware
public class TransitionViewerPlugin
extends Object
implements com.scivicslab.pojoactor.core.CallableByActionName, com.scivicslab.pojoactor.workflow.ActorSystemAware
ワークフロー実行時に記録されたTransition履歴を表示するプラグイン。
指定したアクター(ノードまたはNodeGroup)のTransition履歴を データベースから取得し、人間が読みやすい形式で出力する。
アクション:
showTransitions- 指定アクターのTransition履歴を表示
使用例(ワークフロー):
- actor: loader
method: createChild
arguments: ["ROOT", "transitionViewer", "com.scivicslab.actoriac.plugins.transitionviewer.TransitionViewerPlugin"]
- actor: transitionViewer
method: showTransitions
arguments:
target: "node-localhost"
- Since:
- 2.15.0
- Author:
- devteam@scivicslab.com
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classセッション情報を保持する内部クラス。private static classTransition履歴エントリ。 -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate Connectionprivate static final Loggerprivate com.scivicslab.pojoactor.workflow.IIActorSystemprivate static final DateTimeFormatter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate StringbuildAggregatedOutput(long sessionId) NodeGroupと配下ノードの集約出力を構築する。private StringbuildSingleActorOutput(String source, long sessionId) 単一アクターのTransition履歴を構築する。com.scivicslab.pojoactor.core.ActionResultcallByActionName(String actionName, String args) private StringextractTransition(String message) 後方互換性のためのラッパーprivate String[]extractTransitionAndNote(String message) messageから状態遷移とnoteを抽出する。 例: "Transition SUCCESS: 0 -> 1" → ["0 -> 1", ""] 例: "Transition SUCCESS: 0 -> 1 [Collect info]" → ["0 -> 1", "Collect info"] 例: "[node-localhost] Transition SUCCESS: 1 -> 2 [Process data]" → ["1 -> 2", "Process data"]private longprivate voidprivate voidoutputToMultiplexer(String data) queryDistinctSources(long sessionId) セッション内でTransitionを記録した全アクターを取得する。querySessionInfo(long sessionId) セッション情報(ワークフロー名、説明)を取得する。queryTransitions(String source, long sessionId) 指定アクターのTransitionログをクエリする。private StringreadWorkflowDescription(String cwd, String workflowName) ワークフローYAMLからdescriptionを読み取る。voidsetActorSystem(com.scivicslab.pojoactor.workflow.IIActorSystem system) voidsetConnection(Connection connection) テスト用にデータベース接続を設定する。private com.scivicslab.pojoactor.core.ActionResultshowTransitions(String args) 指定されたアクターのTransition履歴を表示する。
-
Field Details
-
CLASS_NAME
-
logger
-
TIME_FORMAT
-
system
-
connection
-
-
Constructor Details
-
TransitionViewerPlugin
public TransitionViewerPlugin()デフォルトコンストラクタ。loader.createChildで使用される。
-
-
Method Details
-
initConnection
-
setActorSystem
- Specified by:
setActorSystemin interfacecom.scivicslab.pojoactor.workflow.ActorSystemAware
-
setConnection
テスト用にデータベース接続を設定する。 -
callByActionName
- Specified by:
callByActionNamein interfacecom.scivicslab.pojoactor.core.CallableByActionName
-
showTransitions
指定されたアクターのTransition履歴を表示する。- Parameters:
args- JSON形式の引数 - target: アクター名(必須) - session: セッションID(省略時は最新) - includeChildren: trueの場合、配下ノードも含める
-
buildSingleActorOutput
単一アクターのTransition履歴を構築する。- Throws:
Exception
-
buildAggregatedOutput
NodeGroupと配下ノードの集約出力を構築する。- Throws:
Exception
-
queryTransitions
private List<TransitionViewerPlugin.TransitionEntry> queryTransitions(String source, long sessionId) throws Exception 指定アクターのTransitionログをクエリする。- Throws:
Exception
-
queryDistinctSources
セッション内でTransitionを記録した全アクターを取得する。- Throws:
Exception
-
querySessionInfo
セッション情報(ワークフロー名、説明)を取得する。- Throws:
Exception
-
readWorkflowDescription
ワークフローYAMLからdescriptionを読み取る。 -
getSessionIdFromNodeGroup
-
extractTransitionAndNote
messageから状態遷移とnoteを抽出する。 例: "Transition SUCCESS: 0 -> 1" → ["0 -> 1", ""] 例: "Transition SUCCESS: 0 -> 1 [Collect info]" → ["0 -> 1", "Collect info"] 例: "[node-localhost] Transition SUCCESS: 1 -> 2 [Process data]" → ["1 -> 2", "Process data"]- Returns:
- String[2] where [0]=transition, [1]=note
-
extractTransition
後方互換性のためのラッパー -
outputToMultiplexer
-