Программно получить список сайтов в Liferay

Я хочу получить список сайтов в Liferay, такой же, как и на http://localhost:8080/group/control_panel/manage/-/sites/sites :

Сайты Liferay

В SQL я бы запустил select * from Group_ WHERE site=1.

Как получить то же самое на Java?

GroupServiceUtil, похоже, не имеет такого метода.

Примечание. Мой код Java находится в модуле, работающем в Liferay, а не в портлете.


person Nicolas Raoul    schedule 22.01.2019    source источник


Ответы (1)


Вы можете использовать public List<Group> getGroups(long companyId, long parentGroupId, boolean site) из GroupLocalServiceUtil (https://docs.liferay.com/dxp/digital-enterprise/7.0-sp1/javadocs/portal-kernel/com/liferay/portal/kernel/service/GroupLocalServiceUtil.html#getGroups-long-long-boolean-). Его можно вызывать, когда вы не находитесь внутри портлета на основе OSGi. Если вы находитесь внутри компонента OSGi, вы можете внедрить GroupLocalService. Если вас не волнует parentGroup, вместо этого вы можете использовать GroupConstants.ANY_PARENT_GROUP_ID в качестве parentGroupId.

person Andre Albert    schedule 23.01.2019
comment
Я только что увидел, что GroupServiceUtil также предлагает это getGroups. Вы также можете вызвать его с помощью GroupConstants.ANY_PARENT_GROUP_ID и site=true. - person Andre Albert; 23.01.2019