
com.liferay.site.initializer.extender.internal.SiteInitializerSerializerImpl Maven / Gradle / Ivy
/**
* SPDX-FileCopyrightText: (c) 2024 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.site.initializer.extender.internal;
import com.liferay.account.model.AccountEntry;
import com.liferay.account.service.AccountEntryLocalService;
import com.liferay.document.library.kernel.model.DLFolderConstants;
import com.liferay.document.library.kernel.service.DLAppService;
import com.liferay.dynamic.data.mapping.model.DDMStructure;
import com.liferay.dynamic.data.mapping.model.DDMTemplate;
import com.liferay.dynamic.data.mapping.service.DDMStructureLocalService;
import com.liferay.dynamic.data.mapping.service.DDMTemplateLocalService;
import com.liferay.headless.delivery.dto.v1_0.PageDefinition;
import com.liferay.journal.constants.JournalFolderConstants;
import com.liferay.journal.model.JournalArticle;
import com.liferay.journal.model.JournalFolder;
import com.liferay.journal.service.JournalArticleLocalService;
import com.liferay.journal.service.JournalFolderService;
import com.liferay.layout.exporter.LayoutsExporter;
import com.liferay.layout.page.template.model.LayoutPageTemplateStructure;
import com.liferay.layout.page.template.service.LayoutPageTemplateStructureLocalService;
import com.liferay.layout.util.structure.LayoutStructure;
import com.liferay.layout.utility.page.model.LayoutUtilityPageEntry;
import com.liferay.layout.utility.page.service.LayoutUtilityPageEntryLocalService;
import com.liferay.list.type.model.ListTypeDefinition;
import com.liferay.list.type.service.ListTypeDefinitionLocalService;
import com.liferay.object.constants.ObjectFieldConstants;
import com.liferay.object.model.ObjectDefinition;
import com.liferay.object.service.ObjectDefinitionLocalService;
import com.liferay.object.service.ObjectFieldLocalService;
import com.liferay.object.service.ObjectRelationshipLocalService;
import com.liferay.petra.function.UnsafeSupplier;
import com.liferay.petra.string.CharPool;
import com.liferay.petra.string.StringBundler;
import com.liferay.portal.kernel.dao.orm.QueryUtil;
import com.liferay.portal.kernel.feature.flag.FeatureFlagManagerUtil;
import com.liferay.portal.kernel.json.JSONArray;
import com.liferay.portal.kernel.json.JSONFactory;
import com.liferay.portal.kernel.json.JSONObject;
import com.liferay.portal.kernel.json.JSONUtil;
import com.liferay.portal.kernel.model.Group;
import com.liferay.portal.kernel.model.Layout;
import com.liferay.portal.kernel.model.LayoutConstants;
import com.liferay.portal.kernel.model.Organization;
import com.liferay.portal.kernel.model.Role;
import com.liferay.portal.kernel.model.role.RoleConstants;
import com.liferay.portal.kernel.repository.model.FileEntry;
import com.liferay.portal.kernel.repository.model.Folder;
import com.liferay.portal.kernel.service.GroupLocalService;
import com.liferay.portal.kernel.service.LayoutLocalService;
import com.liferay.portal.kernel.service.OrganizationLocalService;
import com.liferay.portal.kernel.service.UserGroupLocalService;
import com.liferay.portal.kernel.service.UserLocalService;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.ListUtil;
import com.liferay.portal.kernel.util.LocaleUtil;
import com.liferay.portal.kernel.util.StringUtil;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.kernel.workflow.WorkflowConstants;
import com.liferay.portal.kernel.xml.Document;
import com.liferay.portal.kernel.xml.Element;
import com.liferay.portal.kernel.xml.SAXReader;
import com.liferay.portal.kernel.zip.ZipReader;
import com.liferay.portal.kernel.zip.ZipReaderFactory;
import com.liferay.portal.kernel.zip.ZipWriter;
import com.liferay.portal.kernel.zip.ZipWriterFactory;
import com.liferay.portal.vulcan.dto.converter.DTOConverter;
import com.liferay.portal.vulcan.dto.converter.DTOConverterRegistry;
import com.liferay.portal.vulcan.dto.converter.DefaultDTOConverterContext;
import com.liferay.site.exception.SerializationException;
import com.liferay.site.initializer.SiteInitializerSerializer;
import com.liferay.style.book.model.StyleBookEntry;
import com.liferay.style.book.service.StyleBookEntryLocalService;
import com.liferay.style.book.util.comparator.StyleBookEntryNameComparator;
import java.io.File;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* @author Brian Wing Shun Chan
*/
@Component(service = SiteInitializerSerializer.class)
public class SiteInitializerSerializerImpl
implements SiteInitializerSerializer {
@Override
public File serialize(long groupId) throws SerializationException {
if (!FeatureFlagManagerUtil.isEnabled("LPD-19870")) {
throw new UnsupportedOperationException();
}
try {
ZipWriter zipWriter = _zipWriterFactory.getZipWriter();
_serializeDDMStructures(groupId, zipWriter);
_serializeDDMTemplates(groupId, zipWriter);
_serializeDocuments(
groupId, DLFolderConstants.DEFAULT_PARENT_FOLDER_ID,
"documents/group", zipWriter);
_serializeJournalArticles(
groupId, JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID,
"journal-articles", zipWriter);
_serializeLayoutPageTemplates(groupId, zipWriter);
_serializeLayoutUtilityPageEntries(groupId, zipWriter);
_serializeLayouts(groupId, "layouts", zipWriter);
Group group = _groupLocalService.getGroup(groupId);
_serializeObjectDefinitions(group.getCompanyId(), zipWriter);
_serializeStyleBookEntries(groupId, zipWriter);
_serializeUserAccounts(groupId, zipWriter);
return zipWriter.getFile();
}
catch (Exception exception) {
throw new SerializationException(exception);
}
}
private void _addZipEntry(
String fileName, InputStream inputStream, ZipWriter zipWriter)
throws Exception {
zipWriter.addEntry("site-initializer/" + fileName, inputStream);
}
private void _addZipEntry(
String fileName, JSONArray jsonArray, ZipWriter zipWriter)
throws Exception {
_addZipEntry(fileName, JSONUtil.toString(jsonArray), zipWriter);
}
private void _addZipEntry(
String fileName, JSONObject jsonObject, ZipWriter zipWriter)
throws Exception {
_addZipEntry(fileName, JSONUtil.toString(jsonObject), zipWriter);
}
private void _addZipEntry(
String fileName, String string, ZipWriter zipWriter)
throws Exception {
zipWriter.addEntry("site-initializer/" + fileName, string);
}
private void _addZipEntry(
String fileName, UnsafeSupplier unsafeSupplier,
ZipWriter zipWriter)
throws Exception {
zipWriter.addEntry(
"site-initializer/" + fileName, unsafeSupplier.get());
}
private String _normalize(String string) {
string = StringUtil.toLowerCase(string);
return StringUtil.replace(string, CharPool.SPACE, CharPool.DASH);
}
private void _serializeDDMStructure(
DDMStructure ddmStructure, ZipWriter zipWriter)
throws Exception {
Document document = _saxReader.createDocument();
Element rootElement = document.addElement("root");
Element structureElement = rootElement.addElement("structure");
Element definitionElement = structureElement.addElement("definition");
String definition = ddmStructure.getDefinition();
if (JSONUtil.isJSONObject(definition)) {
definition = JSONUtil.toString(
_jsonFactory.createJSONObject(definition));
}
definitionElement.addCDATA(definition);
Element descriptionElement = structureElement.addElement("description");
descriptionElement.addText(
ddmStructure.getDescription(LocaleUtil.getDefault()));
Element nameElement = structureElement.addElement("name");
nameElement.addText(ddmStructure.getName(LocaleUtil.getDefault()));
_addZipEntry(
"ddm-structures/" + _normalize(ddmStructure.getStructureKey()) +
".xml",
document.formattedString(), zipWriter);
}
private void _serializeDDMStructures(long groupId, ZipWriter zipWriter)
throws Exception {
List ddmStructures =
_ddmStructureLocalService.getStructures(groupId);
for (DDMStructure ddmStructure : ddmStructures) {
_serializeDDMStructure(ddmStructure, zipWriter);
}
}
private void _serializeDDMTemplate(
DDMTemplate ddmTemplate, ZipWriter zipWriter)
throws Exception {
_addZipEntry(
"ddm-templates/" + _normalize(ddmTemplate.getTemplateKey()) +
"/ddm-template.ftl",
ddmTemplate.getScript(), zipWriter);
_addZipEntry(
"ddm-templates/" + _normalize(ddmTemplate.getTemplateKey()) +
"/ddm-template.json",
JSONUtil.put(
"className", ddmTemplate.getClassName()
).put(
"ddmTemplateKey", ddmTemplate.getTemplateKey()
).put(
"name", ddmTemplate.getName(LocaleUtil.getDefault())
).put(
"resourceClassName", ddmTemplate.getResourceClassName()
),
zipWriter);
}
private void _serializeDDMTemplates(long groupId, ZipWriter zipWriter)
throws Exception {
List ddmTemplates =
_ddmTemplateLocalService.getTemplatesByGroupId(groupId);
for (DDMTemplate ddmTemplate : ddmTemplates) {
_serializeDDMTemplate(ddmTemplate, zipWriter);
}
}
private void _serializeDocuments(
long groupId, Long parentFolderId, String zipDirName,
ZipWriter zipWriter)
throws Exception {
List fileEntries = _dlAppService.getFileEntries(
groupId, parentFolderId);
for (FileEntry fileEntry : fileEntries) {
_addZipEntry(
_normalize(zipDirName + "/" + fileEntry.getFileName()),
fileEntry.getContentStream(), zipWriter);
}
List folders = _dlAppService.getFolders(
groupId, parentFolderId);
for (Folder folder : folders) {
_serializeDocuments(
groupId, folder.getFolderId(),
zipDirName + "/" + folder.getName(), zipWriter);
}
}
private void _serializeJournalArticles(
long groupId, long parentFolderId, String zipDirName,
ZipWriter zipWriter)
throws Exception {
List journalArticles =
_journalArticleLocalService.getArticles(groupId, parentFolderId);
for (JournalArticle journalArticle : journalArticles) {
_addZipEntry(
_normalize(
StringBundler.concat(
zipDirName, "/", journalArticle.getArticleId(),
".json")),
JSONUtil.put(
"ddmStructureKey", journalArticle.getDDMStructureKey()
).put(
"name", journalArticle.getArticleId()
),
zipWriter);
_addZipEntry(
_normalize(
StringBundler.concat(
zipDirName, "/", journalArticle.getArticleId(),
".xml")),
journalArticle.getContent(), zipWriter);
}
List journalFolders = _journalFolderService.getFolders(
groupId, parentFolderId);
for (JournalFolder journalFolder : journalFolders) {
_addZipEntry(
_normalize(
StringBundler.concat(
zipDirName, "/", journalFolder.getName(),
"metadata.json")),
JSONUtil.put(
"description", journalFolder.getDescription()
).put(
"externalReferenceCode",
journalFolder.getExternalReferenceCode()
).put(
"name", journalFolder.getName()
).put(
"viewableBy", "Anyone"
),
zipWriter);
_serializeJournalArticles(
groupId, journalFolder.getFolderId(),
StringBundler.concat(zipDirName, "/", journalFolder.getName()),
zipWriter);
}
}
private void _serializeLayout(
Layout layout, String zipDirName, ZipWriter zipWriter)
throws Exception {
_addZipEntry(
zipDirName + "/page.json",
JSONUtil.put(
"friendlyURL", layout.getFriendlyURL()
).put(
"hidden", layout.isHidden()
).put(
"name_i18n",
JSONUtil.put("en_US", layout.getName(LocaleUtil.US))
).put(
"priority", layout.getPriority()
).put(
"private", layout.isPrivateLayout()
).put(
"system", layout.isSystem()
).put(
"type", layout.getType()
).put(
"typeSettings",
() -> {
if (Validator.isNull(layout.getTypeSettings())) {
return null;
}
String[] parts = StringUtil.split(
layout.getTypeSettings(), CharPool.EQUAL);
JSONObject jsonObject = JSONUtil.put("key", parts[0]);
if (Objects.equals(
layout.getType(),
LayoutConstants.TYPE_LINK_TO_LAYOUT)) {
Layout linkToLayout = _layoutLocalService.getLayout(
layout.getGroupId(), layout.isPrivateLayout(),
GetterUtil.getLong(parts[1].replace("\n", "")));
jsonObject.put(
"value",
"[$LAYOUT_ID:" +
linkToLayout.getName(LocaleUtil.US) + "$]");
}
else if (Objects.equals(
layout.getType(), LayoutConstants.TYPE_URL)) {
jsonObject.put("value", parts[1].replace("\n", ""));
}
return JSONUtil.put(jsonObject);
}
),
zipWriter);
if (!Objects.equals(layout.getType(), LayoutConstants.TYPE_CONTENT)) {
return;
}
LayoutPageTemplateStructure layoutPageTemplateStructure =
_layoutPageTemplateStructureLocalService.
fetchLayoutPageTemplateStructure(
layout.getGroupId(), layout.getPlid());
PageDefinition pageDefinition = _pageDefinitionDTOConverter.toDTO(
new DefaultDTOConverterContext(
true, null, _dtoConverterRegistry, null, layout.getPlid(), null,
null, null) {
{
setAttribute("embeddedPageDefinition", Boolean.TRUE);
setAttribute("groupId", layout.getGroupId());
setAttribute("layout", layout);
}
},
LayoutStructure.of(
layoutPageTemplateStructure.
getDefaultSegmentsExperienceData()));
_addZipEntry(
zipDirName + "/page-definition.json",
JSONUtil.put(
"pageElement", pageDefinition.getPageElement()
).put(
"settings", pageDefinition.getSettings()
),
zipWriter);
}
private void _serializeLayoutPageTemplates(
long groupId, ZipWriter zipWriter)
throws Exception {
File file = _layoutsExporter.exportLayoutPageTemplateEntries(groupId);
ZipReader zipReader = null;
try {
zipReader = _zipReaderFactory.getZipReader(file);
for (String name : zipReader.getEntries()) {
InputStream inputStream = zipReader.getEntryAsInputStream(name);
_addZipEntry(
"layout-page-templates/" + name, inputStream, zipWriter);
}
}
finally {
if (zipReader != null) {
zipReader.close();
}
file.delete();
}
}
private void _serializeLayouts(
long groupId, boolean privateLayout, long layoutId,
String zipDirName, ZipWriter zipWriter)
throws Exception {
List layouts = _layoutLocalService.getLayouts(
groupId, privateLayout, layoutId);
for (Layout layout : layouts) {
zipDirName +=
CharPool.SLASH + _normalize(layout.getName(LocaleUtil.US));
_serializeLayout(layout, zipDirName, zipWriter);
_serializeLayouts(
groupId, layout.isPrivateLayout(), layout.getLayoutId(),
zipDirName, zipWriter);
}
}
private void _serializeLayouts(
long groupId, String zipDirName, ZipWriter zipWriter)
throws Exception {
_serializeLayouts(
groupId, false, LayoutConstants.DEFAULT_PARENT_LAYOUT_ID,
zipDirName, zipWriter);
_serializeLayouts(
groupId, true, LayoutConstants.DEFAULT_PARENT_LAYOUT_ID, zipDirName,
zipWriter);
}
private void _serializeLayoutUtilityPageEntries(
long groupId, ZipWriter zipWriter)
throws Exception {
File file = _layoutsExporter.exportLayoutUtilityPageEntries(
ListUtil.toLongArray(
_layoutUtilityPageEntryLocalService.getLayoutUtilityPageEntries(
groupId),
LayoutUtilityPageEntry.LAYOUT_UTILITY_PAGE_ENTRY_ID_ACCESSOR));
ZipReader zipReader = null;
try {
zipReader = _zipReaderFactory.getZipReader(file);
for (String name : zipReader.getEntries()) {
String fileName = "layout-utility-page-entries/";
fileName += StringUtil.removeSubstring(
name, "layout-utility-page-template/");
_addZipEntry(
fileName, zipReader.getEntryAsInputStream(name), zipWriter);
}
}
finally {
if (zipReader != null) {
zipReader.close();
}
file.delete();
}
}
private void _serializeObjectDefinition(
ObjectDefinition objectDefinition, ZipWriter zipWriter)
throws Exception {
JSONArray objectFieldsJSONArray = JSONUtil.toJSONArray(
_objectFieldLocalService.getCustomObjectFields(
objectDefinition.getObjectDefinitionId()),
objectField -> {
if (StringUtil.equals(
objectField.getBusinessType(),
ObjectFieldConstants.BUSINESS_TYPE_RELATIONSHIP)) {
return null;
}
return JSONUtil.put(
"businessType", objectField.getBusinessType()
).put(
"DBType", objectField.getDBType()
).put(
"indexedAsKeyword", objectField.isIndexedAsKeyword()
).put(
"label",
JSONUtil.put("en_US", objectField.getLabel(LocaleUtil.US))
).put(
"listTypeDefinitionId",
() -> {
ListTypeDefinition listTypeDefinition =
_listTypeDefinitionLocalService.
fetchListTypeDefinition(
objectField.getListTypeDefinitionId());
if (listTypeDefinition == null) {
return "0";
}
String name = _normalize(
listTypeDefinition.getName(LocaleUtil.US));
return "[$LIST_TYPE_DEFINITION_ID:" + name + "$]";
}
).put(
"name", objectField.getName()
).put(
"objectFieldSettings",
JSONUtil.toJSONArray(
objectField.getObjectFieldSettings(),
objectFieldSetting -> JSONUtil.put(
"name", objectFieldSetting.getName()
).put(
"value", objectFieldSetting.getValue()
))
).put(
"required", objectField.isRequired()
).put(
"state", objectField.isState()
);
});
String name = StringUtil.removeSubstring(
objectDefinition.getName(), "C_");
JSONArray objectRelationshipsJSONArray = JSONUtil.toJSONArray(
_objectRelationshipLocalService.getObjectRelationships(
objectDefinition.getObjectDefinitionId()),
objectRelationship -> {
String objectDefinition2Name = StringUtil.removeSubstring(
_objectDefinitionLocalService.getObjectDefinition(
objectRelationship.getObjectDefinitionId2()
).getName(),
"C_");
return JSONUtil.put(
"deletionType", objectRelationship.getDeletionType()
).put(
"label",
JSONUtil.put(
"en_US", objectRelationship.getLabel(LocaleUtil.US))
).put(
"name", objectRelationship.getName()
).put(
"objectDefinitionId1",
"[$OBJECT_DEFINITION_ID:" + name + "$]"
).put(
"objectDefinitionId2",
"[$OBJECT_DEFINITION_ID:" + objectDefinition2Name + "$]"
).put(
"objectDefinitionName2", objectDefinition2Name
).put(
"type", objectRelationship.getType()
);
});
_addZipEntry(
"object-definitions/" +
_normalize(objectDefinition.getLabel(LocaleUtil.US)),
JSONUtil.put(
"label",
JSONUtil.put("en_US", objectDefinition.getLabel(LocaleUtil.US))
).put(
"name", name
).put(
"objectFields", objectFieldsJSONArray
).put(
"objectRelationships", objectRelationshipsJSONArray
).put(
"pluralLabel", objectDefinition.getPluralLabel(LocaleUtil.US)
).put(
"scope", objectDefinition.getScope()
),
zipWriter);
}
private void _serializeObjectDefinitions(
long companyId, ZipWriter zipWriter)
throws Exception {
for (ObjectDefinition objectDefinition :
_objectDefinitionLocalService.getObjectDefinitions(
companyId, true, false,
WorkflowConstants.STATUS_APPROVED)) {
_serializeObjectDefinition(objectDefinition, zipWriter);
}
}
private void _serializeOrganization(
JSONArray jsonArray, Organization organization) {
JSONObject jsonObject = JSONUtil.put(
"childOrganizations", _jsonFactory.createJSONArray()
).put(
"externalReferenceCode", organization.getExternalReferenceCode()
).put(
"name", organization.getName()
);
for (Organization childOrganization :
_organizationLocalService.getOrganizations(
organization.getCompanyId(),
organization.getOrganizationId())) {
_serializeOrganization(
jsonObject.getJSONArray("childOrganizations"),
childOrganization);
}
jsonArray.put(jsonObject);
}
private void _serializeStyleBookEntries(long groupId, ZipWriter zipWriter)
throws Exception {
List styleBookEntries =
_styleBookEntryLocalService.getStyleBookEntries(
groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
StyleBookEntryNameComparator.getInstance(true));
for (StyleBookEntry styleBookEntry : styleBookEntries) {
styleBookEntry.populateZipWriter(
zipWriter, "site-initializer/style-books");
}
}
private void _serializeUserAccounts(long groupId, ZipWriter zipWriter)
throws Exception {
Set accountEntries = new TreeSet<>();
Map roleNamesMap = new HashMap<>();
Set organizations = new TreeSet<>();
Set roles = new TreeSet<>();
_addZipEntry(
"user-accounts.json",
JSONUtil.toJSONArray(
_userLocalService.getGroupUsers(groupId),
user -> {
List userRoles = user.getRoles();
for (Role role : userRoles) {
if (StringUtil.equals(
role.getName(), RoleConstants.ADMINISTRATOR) ||
StringUtil.equals(
role.getName(), RoleConstants.POWER_USER)) {
return null;
}
}
roleNamesMap.put(
user.getEmailAddress(),
ListUtil.toArray(userRoles, Role.NAME_ACCESSOR));
roles.addAll(userRoles);
List userAccountEntries =
_accountEntryLocalService.getUserAccountEntries(
user.getUserId(), null, null, null,
QueryUtil.ALL_POS, QueryUtil.ALL_POS);
accountEntries.addAll(userAccountEntries);
List userOrganizations =
user.getOrganizations();
organizations.addAll(userOrganizations);
return JSONUtil.put(
"accountBriefs",
JSONUtil.toJSONArray(
userAccountEntries,
accountEntry -> JSONUtil.put(
"externalReferenceCode",
accountEntry.getExternalReferenceCode()))
).put(
"alternateName", user.getScreenName()
).put(
"emailAddress", user.getEmailAddresses()
).put(
"externalReferenceCode", user.getExternalReferenceCode()
).put(
"familyName", user.getLastName()
).put(
"givenName", user.getFirstName()
).put(
"name", user.getFullName()
).put(
"organizationBriefs",
JSONUtil.toJSONArray(
userOrganizations,
organization -> JSONUtil.put(
"name", organization.getName()))
);
}),
zipWriter);
_addZipEntry(
"accounts.json",
JSONUtil.toJSONArray(
accountEntries,
accountEntry -> JSONUtil.put(
"externalReferenceCode",
accountEntry.getExternalReferenceCode()
).put(
"name", accountEntry.getName()
).put(
"type", accountEntry.getType()
)),
zipWriter);
_addZipEntry(
"organizations.json",
() -> {
JSONArray jsonArray = _jsonFactory.createJSONArray();
for (Organization organization : organizations) {
_serializeOrganization(jsonArray, organization);
}
return JSONUtil.toString(jsonArray);
},
zipWriter);
_addZipEntry(
"roles.json",
JSONUtil.toJSONArray(
roles,
role -> {
if (StringUtil.equals(role.getName(), RoleConstants.USER)) {
return null;
}
return JSONUtil.put(
"name", role.getName()
).put(
"name_i18n", JSONUtil.put("en-US", role.getName())
).put(
"type", role.getType()
);
}),
zipWriter);
_addZipEntry(
"user-groups.json",
JSONUtil.toJSONArray(
_userGroupLocalService.getGroupUserGroups(groupId),
userGroup -> JSONUtil.put(
"description", userGroup.getDescription()
).put(
"externalReferenceCode",
userGroup.getExternalReferenceCode()
).put(
"name", userGroup.getName()
)),
zipWriter);
_addZipEntry(
"user-roles.json",
JSONUtil.toJSONArray(
roleNamesMap.keySet(),
emailAddress -> JSONUtil.put(
"emailAddress", emailAddress
).put(
"roles",
JSONUtil.toJSONArray(
roleNamesMap.get(emailAddress),
roleName -> {
if (StringUtil.equals(
roleName, RoleConstants.USER)) {
return null;
}
return roleName;
})
)),
zipWriter);
}
@Reference
private AccountEntryLocalService _accountEntryLocalService;
@Reference
private DDMStructureLocalService _ddmStructureLocalService;
@Reference
private DDMTemplateLocalService _ddmTemplateLocalService;
@Reference
private DLAppService _dlAppService;
@Reference
private DTOConverterRegistry _dtoConverterRegistry;
@Reference
private GroupLocalService _groupLocalService;
@Reference
private JournalArticleLocalService _journalArticleLocalService;
@Reference
private JournalFolderService _journalFolderService;
@Reference
private JSONFactory _jsonFactory;
@Reference
private LayoutLocalService _layoutLocalService;
@Reference
private LayoutPageTemplateStructureLocalService
_layoutPageTemplateStructureLocalService;
@Reference
private LayoutsExporter _layoutsExporter;
@Reference
private LayoutUtilityPageEntryLocalService
_layoutUtilityPageEntryLocalService;
@Reference
private ListTypeDefinitionLocalService _listTypeDefinitionLocalService;
@Reference
private ObjectDefinitionLocalService _objectDefinitionLocalService;
@Reference
private ObjectFieldLocalService _objectFieldLocalService;
@Reference
private ObjectRelationshipLocalService _objectRelationshipLocalService;
@Reference
private OrganizationLocalService _organizationLocalService;
@Reference(
target = "(component.name=com.liferay.headless.delivery.internal.dto.v1_0.converter.PageDefinitionDTOConverter)"
)
private DTOConverter
_pageDefinitionDTOConverter;
@Reference
private SAXReader _saxReader;
@Reference
private StyleBookEntryLocalService _styleBookEntryLocalService;
@Reference
private UserGroupLocalService _userGroupLocalService;
@Reference
private UserLocalService _userLocalService;
@Reference
private ZipReaderFactory _zipReaderFactory;
@Reference
private ZipWriterFactory _zipWriterFactory;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy