ログイン
検索
メインメニュー
フォーラム一覧   -   トピック一覧
   astah*の使い方
     PluginでER図のドメインを削除する際に確認ダイアログを表示しない方法
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
kkmm
投稿日時: 2024-2-19 14:14
新米
登録日: 2024-2-14
居住地:
投稿: 3
Re: PluginでER図のドメインを削除する際に確認ダイアログを表示しない方法
ありがとうございます。
jarがastah-pro.jar、及びastah-api.jarのclasspathを解決できるように対応いたします。
myamamoto
投稿日時: 2024-2-16 14:07
開発者
登録日: 2006-5-9
居住地:
投稿: 49
Re: PluginでER図のドメインを削除する際に確認ダイアログを表示しない方法
ClassNotFoundExceptionなので、実行時のastah-pro.jarやastah-api.jarのクラスパスの指定の問題かと推察します。
サンプルのsimpleEditのjarをsimpleEdit.jarとした場合、以下のようにすることで実行できました。(Windowsでの実行例)

> java -cp "simpleEdit.jar;%astah-pro.jarのパス%/astah-pro.jar;%astah-apiのパス%/astah-api.jar" APIForEditingModelsSample
kkmm
投稿日時: 2024-2-16 11:20
新米
登録日: 2024-2-14
居住地:
投稿: 3
Re: PluginでER図のドメインを削除する際に確認ダイアログを表示しない方法
早速ご回答いただきありがとうございます。
要件を満たせそうなのでアプリケーションで開発いたします。

追加で確認させてください。
サンプルアプリケーションのsampleEditをjar化して実行したところ以下エラーが発生してしまいました。jar化する場合に考慮すべき事項がございましたら教えていただけると嬉しいです。

Caused by: java.lang.ClassNotFoundException: com.change_vision.jude.api.inf.exception.LicenseNotFoundException
myamamoto
投稿日時: 2024-2-15 11:00
開発者
登録日: 2006-5-9
居住地:
投稿: 49
Re: PluginでER図のドメインを削除する際に確認ダイアログを表示しない方法
お問い合わせの件にご回答いたします。

恐れ入りますが、ドメインの削除に関しましては、確認ダイアログの表示を抑止する方法がございません。
こちらに関しましては、今後の対応を検討させていただきます。

なお、プラグインではなく、アプリケーションとして同様の処理を実行すると、確認ダイアログの表示が抑止されます。
もしアプリケーションでも要件を満たすことができる場合、よろしければご検討ください。
kkmm
投稿日時: 2024-2-14 20:50
新米
登録日: 2024-2-14
居住地:
投稿: 3
PluginでER図のドメインを削除する際に確認ダイアログを表示しない方法
astah pluginで以下の通りドメインを一括削除する処理を実装したところ、確認ダイアログが何度も表示されてしまいます。確認ダイアログを表示しないようにする方法をご教示いただけると幸いです。
※実際には条件に合うドメインを削除するのですが下記コードは全てのドメインを削除する処理となっています。

private void deleteDomain() {
    try {
        ProjectAccessor projectAccessor = AstahAPI.getAstahAPI().getProjectAccessor();
        INamedElement[] elements = projectAccessor.findElements(IERDomain.class);
        ITransactionManager transactionManager = projectAccessor.getTransactionManager();
        transactionManager.beginTransaction();
        for (INamedElement element : elements) {
            projectAccessor.getModelEditorFactory().getERModelEditor().delete(element);
        }
        transactionManager.endTransaction();
    } catch (ClassNotFoundException | ProjectNotFoundException | InvalidEditingException e) {
        throw new RuntimeException(e);
    }

}
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を