Liferay Dev Studioでソースを検索する

Liferay Dev Studioでは、プロジェクトの開発支援のためにLiferay DXPのソースコードを検索することができます。Liferayでは、開発に役立つ優れたリソース(例: 公式書類、 docs.liferay.comサンプルプロジェクトなど)を提供していますが、Liferayのコードベース(プラットフォームおよび公式アプリ)でパターンを検索することも有用です。たとえば、Liferayのportal-kernel JARで提供されているクラスを拡張するカスタムアプリを作成する場合、そのクラスを調べて、Liferay DXPのコードベースの他のエリアでどのように使用されているのかを確認することができます。

これを行うには、Liferay Workspaceで開発する必要があります。 Liferay Workspaceは、高度な検索ができるように設定されたLiferay DXPのソースコードにインデックスを付ける特定のLiferay DXPバージョンを対象とすることで、この機能を提供することができます。この仕組みの詳細については、Managing the Target Platform in Liferay Workspaceのチュートリアルを参照してください。

Liferay Workspaceは、デフォルトではポータルソースのインデックス作成を行いませんので、以下のプロパティをワークスペースのgradle.propertiesファイルに追加して、この機能を有効にする必要があります。

target.platform.index.sources=true

このチュートリアルでは、高度な検索が役に立つ、3つのユースケースを紹介します。

これらの例は、Liferay Dev Studioで検索できるもののほんの一部です。詳細については、Java Searchに関するEclipseのドキュメンテーションを参照してください。

クラス階層の検索

同様のスーパークラスを拡張するクラスを調べることで、独自のアプリを開発するにあたって有用なパターンと例を見つけることができます。たとえば、開発中のアプリがMVCPortletクラスを拡張するとします。MVCPortlet宣言を右クリックして、*[タイプ階層を開く]*を選択することにより、Dev Studioで同じクラスを拡張するクラスを検索します。 これにより、MVCPortletを拡張するターゲットプラットフォームにあるすべてのクラスを確認できるウィンドウが開きます。

図1:タイプ階層ウィンドウを参照し、クラスを拡張する方法の例について提供されているクラスを開きます。

これで、クラスまたはインターフェイスのすべての拡張機能と実装を検索して、理想のアプリの開発を支援することができます。

メソッド宣言の検索

場合によっては、クラスまたはインターフェースによって提供される特定のメソッド宣言を調べて、より詳細な検索をすることになることも考えられます。そういった場合に、Liferay Workspaceのターゲットプラットフォームインデックスでメソッドの検索もできます。

拡張するMVCPortletクラスで、 オーバーライドするdoViewメソッドの宣言を検索するとします。これを行うには、カスタムアプリのクラスにあるdoViewメソッド宣言を右クリックし、[宣言] → *[ワークスペース]*を選択します。

図2:すべてのメソッド宣言が検索ウィンドウに返されます。

レンダリングされた検索ウィンドウには、ターゲットプラットフォーム内でそのメソッドがオーバーライドされている他の出現箇所が表示されます。

アノテーションリファレンスの検索

Liferay DXPのソースコードで使用されているアノテーションは、わかりにくい場合があります。Liferayのターゲットプラットフォームでこういったタイプのアノテーションが存在する場所を検索する機能を使用すると、独自のアプリでそれらを使用する方法を見つけることができます。

たとえば、OSGiモジュールで@Referenceアノテーションを使用するための公式ドキュメンテーションを見つけて、カスタムアプリケーションに実装することができます。Liferay DXPのアプリで実際の例を参照して、他の場所でどのように使用されているかを確認すると便利です。これを検索するには、クラス内のアノテーションを右クリックし、[リファレンス] → *[ワークスペース]*を選択します。

図3:検索ウィンドウに、一致するすべてのアノテーションが表示されます。

レンダリングされた検索ウィンドウには、そのアノテーションが使用されたターゲットプラットフォーム内の他の出現箇所が表示されます。

これで、Liferay Workspaceで指定された設定済みのターゲットプラットフォームを検索するツールが用意できました。

« Liferay Dev StudioにサーバーをインストールするLiferay Dev StudioでLiferay DXPソースをデバッグする »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています