スクリプトからLiferayサービスを呼び出す
多くのスクリプトシナリオでは、Liferayサービスを呼び出す必要があります。 Liferay *ServiceUtil
クラス は、スクリプトコンソールでLiferayサービスを呼び出す最も速くて便利な方法です。 Javaを使用するのと同じ方法でGroovyを使用してLiferayサービスを呼び出します。 Groovyの構文では、簡潔で洗練されたスクリプトを容易に作成できます。
ユーザーのリストを取得し、その名前をLiferayのログに出力する方法を、Javaコードの場合とUserLocalServiceUtil
を使用するGroovyコードの場合を比較して説明します。
Java
DXPにデプロイされたモジュールで次のJavaコードを実行するか、スクリプトコンソールでコードを実行できます。
import com.liferay.portal.kernel.model.User;
import com.liferay.portal.kernel.service.UserLocalServiceUtil;
import java.util.List;
...
int userCount = UserLocalServiceUtil.getUsersCount();
List<User> users = UserLocalServiceUtil.getUsers(0, userCount);
for (User user:users) {
System.out.println("User Name: " + user.getFullName());
}
...
Groovy
または、スクリプトコンソールでGroovyコードを使用することもできます。
import com.liferay.portal.kernel.service.UserLocalServiceUtil
userCount = UserLocalServiceUtil.getUsersCount()
users = UserLocalServiceUtil.getUsers(0, userCount)
for (user in users){
System.out.println("User Name: " + user.getFullName())
}
スクリプトコンソールで使用できるため、com.liferay.portal.kernel.model.User
とjava.util.List
をインポートする必要はありません。 また、Groovy構文はJava構文よりも単純です。
note
サービスに * ServiceUtil
クラスがない場合は、 サービスにアクセスするために、Service Trackerを使用します。