com.liferay.blogs.internal.verify.BlogsServiceVerifyProcess Maven / Gradle / Ivy
/**
* SPDX-FileCopyrightText: (c) 2000 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.blogs.internal.verify;
import com.liferay.blogs.constants.BlogsPortletKeys;
import com.liferay.exportimport.kernel.staging.Staging;
import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.Property;
import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.feature.flag.FeatureFlagManagerUtil;
import com.liferay.portal.kernel.model.Group;
import com.liferay.portal.kernel.model.Release;
import com.liferay.portal.kernel.service.GroupLocalService;
import com.liferay.portal.kernel.util.UnicodeProperties;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.verify.VerifyProcess;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* @author Gergely Mathe
*/
@Component(service = VerifyProcess.class)
public class BlogsServiceVerifyProcess extends VerifyProcess {
@Override
protected void doVerify() throws Exception {
if (!FeatureFlagManagerUtil.isEnabled("LPS-157670")) {
return;
}
updateStagedPortletNames();
}
protected void updateStagedPortletNames() throws PortalException {
ActionableDynamicQuery groupActionableDynamicQuery =
_groupLocalService.getActionableDynamicQuery();
groupActionableDynamicQuery.setAddCriteriaMethod(
dynamicQuery -> {
Property siteProperty = PropertyFactoryUtil.forName("site");
dynamicQuery.add(siteProperty.eq(Boolean.TRUE));
});
groupActionableDynamicQuery.setPerformActionMethod(
(ActionableDynamicQuery.PerformActionMethod)group -> {
UnicodeProperties typeSettingsUnicodeProperties =
group.getTypeSettingsProperties();
if (typeSettingsUnicodeProperties == null) {
return;
}
String propertyKey = _staging.getStagedPortletId(
BlogsPortletKeys.BLOGS);
String propertyValue =
typeSettingsUnicodeProperties.getProperty(propertyKey);
if (Validator.isNull(propertyValue)) {
return;
}
typeSettingsUnicodeProperties.remove(propertyKey);
propertyKey = _staging.getStagedPortletId(
BlogsPortletKeys.BLOGS_ADMIN);
typeSettingsUnicodeProperties.put(propertyKey, propertyValue);
group.setTypeSettingsProperties(typeSettingsUnicodeProperties);
_groupLocalService.updateGroup(group);
});
groupActionableDynamicQuery.performActions();
}
@Reference
private GroupLocalService _groupLocalService;
@Reference(
target = "(&(release.bundle.symbolic.name=com.liferay.blogs.service)(release.schema.version>=3.1.0))"
)
private Release _release;
@Reference
private Staging _staging;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy