Welcome
ResourceSynchronizerは、 eclipseと独立したプロセス内で作成されたマテリアルを、 eclipseワークスペースをリフレッシュする事で、 自動的にリソースをeclipseワークスペース内に認識させる為のeclipseプラグインです。
インストール
以下の Update サイトからインストールすることができます.
環境
現在のリリースでは、以下の実行環境でのみ、適切に動作します.
- 動作するJREは、1.5以上
- eclipseは、3.3
機能
eclipseは、eclipse以外のプロセスが生成したマテリアルを、 例えそれが、ワークスペース内にあったとしても適切に検知する事が出来ず、 検知する為には、ワークスペース内をリフレッシュする必要があります。 例えば、antやmavenでリソースを生成する場合がこれにあたります。
ResourceSynchronizerでは、 外部のプロセスから、導入されているeclipseに対して、 HTTPリクエストを送信する事で、 自動的にワークスペース内をリフレッシュする事が出来ます。
ワークスペースのリフレッシュ
以下のようなURLにアクセスすることで、ワークスペースをリフレッシュすることが出来ます。
- http://localhost:8386/
- http://localhost:8386/refresh
対応するHTTPリクエストメソッドは、「GET」及び「POST」です。
リクエストパラメータを含まないHTTPリクエストを送信するとワークスペース全体をリフレッシュします。 リクエストパラメータとして、
- ワークスペース内における相対パス=深度
を付加してHTTPリクエストを送信すると、それに応じた範囲をリフレッシュします。 深度としては、
- ZERO
- 指定したパスのみリフレッシュ。対象のパスがファイルである場合のみ有効です。
- ONE
- 指定したパス及び、その下の一階層のみリフレッシュ。
- INFINITE
- 指定したパス及び、その下に含まれる全階層をリフレッシュ。
レスポンスとして、リフレッシュに成功したパスを改行区切りで返します。
例えば、ワークスペース内に、プロジェクトとして「exampleproject」があり、 そのプロジェクトに含まれる全てのリソースツリーをリフレッシュする場合には、
- http://localhost:8386/refresh?exampleproject=INFINITE
となります。
同様に、「exampleproject」の「src」フォルダの下一階層のみ、 加えて、「test」フォルダの下にある「HogeTest.java」をリフレッシュする場合には、
- http://localhost:8386/refresh?exampleproject/src=ONE&test/HogeTest.java=ZERO
となります。
リソースの一覧取得
以下のようなURLにアクセスすることで、ワークスペース内に含まれるリソースの一覧取得することができます。
- http://localhost:8386/list
リクエストパラメータを含まないHTTPリクエストを送信するとプロジェクト名の一覧を改行区切りで返します。 対応するHTTPリクエストメソッドは、「GET」及び「POST」です。
リクエストパラメータとして、
- ワークスペース内における相対パス
を付加してHTTPリクエストを送信すると、そのパスがディレクトリである場合、それに含まれるパスの一覧を、 改行区切りで返します。 その際、パラメータの値は特に評価しません。
例えば、ワークスペース内に、プロジェクトとして「exampleproject」がある場合、
- http://localhost:8386/list?exampleproject
と送信すると、それに含まれるリソースのパスを以下の様に返します。
exampleproject/src/ exampleproject/test/ exampleproject/.project exampleproject/.classpath exampleproject/.metadata
複数のパスをリクエストパラメータとして送信すると、それぞれについて同様の処理を行い同時に一覧として返します。
リソースのリアルパス取得
以下のようなURLにアクセスすることで、ワークスペース内に含まれるJavaプロジェクトのソースフォルダを、 OSの絶対パスで取得することができます。
- http://localhost:8386/srcloc
対応するHTTPリクエストメソッドは、「GET」及び「POST」です。
リクエストパラメータとして、
- ワークスペース内におけるJavaプロジェクトの相対パス(プロジェクト名)
を付加して、HTTPリクエストを送信すると、それに含まれるソースフォルダをOSの絶対パスで返します。 複数のパスが存在する場合、改行区切りとなります。
例えば、Windows上に存在するワークスペース内に、プロジェクトとして「exampleproject」がある場合、
- http://localhost:8386/srcloc?exampleproject
と送信すると、それに含まれるソースフォルダをOSの絶対パスで以下の様に返します。
c:/development/java/workspace/exampleproject/src c:/development/java/workspace/exampleproject/test