Как получить глобальный (корпоративный) идентификатор группы в Liferay без доступа к ThemeDisplay
?
P.S.: с ThemeDisplay
просто: themeDisplay.getCompanyGroupId()
.
Как получить глобальный (корпоративный) идентификатор группы в Liferay без доступа к ThemeDisplay
?
P.S.: с ThemeDisplay
просто: themeDisplay.getCompanyGroupId()
.
Если на вашем портале имеется только один Company
:
Company company = CompanyLocalServiceUtil.getCompanyByMx(PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID));
long globalGroupId = company.getGroup().getGroupId();
Продолжая желтый ответ, вы можете найти company
, если знаете какое-то значение экземпляра портала (company
):
Если вы знаете webId
экземпляра портала, можете найти company
по:
String webId = "liferay.com"; // PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID)
Company company = CompanyLocalServiceUtil.getCompanyByWebId(webId);
long globalGroupId = company.getGroup().getGroupId();
Если вы знаете mail-domain
экземпляра портала, можете найти company
по:
String mailDomain = "liferay.com";
Company company = CompanyLocalServiceUtil.getCompanyByMx(mailDomain);
long globalGroupId = company.getGroup().getGroupId();
Если вы знаете virtual host
экземпляра портала, можете найти company
по:
String virtualHost = "localhost";
Company company = CompanyLocalServiceUtil.getCompanyByVirtualHost(virtualHost);
long globalGroupId = company.getGroup().getGroupId();
Существуют также другие полезные методы, доступные для изучения в CompanyLocalServiceUtil
для тех, кто заинтересован.
Спасибо Yellow за лидерство, это было действительно полезно.
Вы можете использовать следующее:
GroupLocalServiceUtil.getCompanyGroup(PortalUtil.getDefaultCompanyId()).getGroupId();
Если вам нужна эта информация для библиотеки документов, вы можете использовать
public static long getDefaultCompanyId(){
long companyId = 0;
try{ companyId = getDefaultCompany().getCompanyId(); }
catch(Exception e){ System.out.println(e.getClass() + " " +e.getMessage()); }
return companyId;
}
public static long getDefaultGroupId (){
long companyId = getDefaultCompanyId();
long globalGroupId = 0L;
Group group = null;
try {
group = GroupLocalServiceUtil.getGroup(companyId, "Guest");
} catch (PortalException | SystemException e) {
e.printStackTrace();
return globalGroupId;
}
globalGroupId = group.getGroupId();
return globalGroupId;
}