1

Java クラス内のテンプレートに基づいてコードを生成するコンポーネントを開発しています。このプロジェクトでは、clearcase を SCM として使用しています。コードの更新後、ファイルは読み取り専用状態になります。Java クラスに何かを追加する場合は、それをハイジャックして、ソース コード テンプレートをクラス内に貼り付ける必要があります。コメントを追加するために使用される jAutoDoc プラグインを考えてみましょう。ユーザーがクラスを選択した場合は、[コメントを生成] をクリックします。ファイルが書き込みモードでない場合、コメントは貼り付けられません。

Clearcase プラグイン ベンダー: IBM Rational。

エクリプスのバージョン: 3.5

助けてください。Javaコードからファイルをハイジャックする方法はありますか?

前もって感謝します..

4

2 に答える 2

1

ありがとうVonC。

Eclipse JDT API を介して Java ファイルを書き込みモードで作成するため。このメソッドは、リソースの「読み取り専用」設定を「false」に設定します。

private static void setCompilationUnitWriteMode(ICompilationUnit cu) throws CoreException {

        ResourceAttributes resourceAttributes = cu.getResource().getResourceAttributes();

        if (resourceAttributes != null) {
              // Setting Writemode true
            resourceAttributes.setReadOnly(false);
        cu.getResource().setResourceAttributes(resourceAttributes);
    }
  }

非 Java リソースの場合

最初に IFile オブジェクトを作成し、リソースの設定「読み取り専用」を「false」に設定します。

       IFile file = path.getFile() 

        file.getFile().getResourceAttributes();

        if (resourceAttributes != null) {
            resourceAttributes.setReadOnly(false);
            file.setResourceAttributes(resourceAttributes);
        }
于 2012-11-26T12:43:55.623 に答える
0

ファイルのハイジャックとは、OS ベースの操作によってファイルを読み書きできるようにすることを意味するだけです。(動的ビューではなく、スナップショット ビューのみ)

問題は、プラグインによって完成されたクラスをバージョン管理する必要があるかどうかです。
その場合、aのcleartool checkout方が適切だからです。

それ以外の場合は、読み書きで十分であり、java を介してファイル属性を変更します

于 2012-10-15T04:57:23.577 に答える