1

Java (および Eclipse) を使用して、Teamcenter 8 リッチ クライアントのログイン セッションからセッション パラメーター (ユーザー名など) を取得しようとしています。

public class SampleHandler extends AbstractHandler
{
    public Object execute(ExecutionEvent event) throws ExecutionException
    {
        // good, but useless
        IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
    
        // wrong
        AbstractAIFSession a = AIFUtility.getSessionManager().getDefaultSession();
    
        // wrong
        AbstractAIFUIApplication app = AIFUtility.getCurrentApplication();
        TCSession session = (TCSession)app.getSession();

        // wrong
        ISessionService iss = AifrcpPlugin.getSessionService();
        session = (TCSession)iss.getSession("com.teamcenter.rac.kernel.TCSession");

        return null;
    }
}

そのスニペットはコンパイルされたコードから取得され、プラグインを実行してAIFUtilityクラス内のメソッドを呼び出そうとするとAifrcpPlugin、例外がスローされます。

現在のセッションのユーザー名を取得する方法を知っている人はいますか?

4

1 に答える 1

2

を使用AIFUtility.getCurrentApplication().getSession()して、現在のセッションを取得session.getUserName()し、現在ログインしているユーザーのユーザー名を取得できます。

AbstractAIFSession session = AIFUtility.getCurrentApplication().getSession();
String username = session.getUserName();
String registry = session.getRegistry();
于 2014-02-12T14:10:28.890 に答える