com.liferay.depot.internal.model.listener.DepotEntryModelListener Maven / Gradle / Ivy
The newest version!
/**
* 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.depot.internal.model.listener;
import com.liferay.depot.model.DepotEntry;
import com.liferay.depot.model.DepotEntryGroupRel;
import com.liferay.depot.service.DepotEntryGroupRelLocalService;
import com.liferay.portal.kernel.exception.ModelListenerException;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.model.BaseModelListener;
import com.liferay.portal.kernel.model.Group;
import com.liferay.portal.kernel.model.ModelListener;
import com.liferay.portal.kernel.service.GroupLocalService;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* @author Alejandro Tardín
*/
@Component(service = ModelListener.class)
public class DepotEntryModelListener extends BaseModelListener {
@Override
public void onAfterRemove(DepotEntry depotEntry)
throws ModelListenerException {
try {
for (DepotEntryGroupRel depotEntryGroupRel :
_depotEntryGroupRelLocalService.getDepotEntryGroupRels(
depotEntry)) {
_depotEntryGroupRelLocalService.deleteDepotEntryGroupRel(
depotEntryGroupRel);
}
Group group = _groupLocalService.fetchGroup(
depotEntry.getGroupId());
if (group != null) {
_groupLocalService.deleteGroup(group);
}
}
catch (PortalException portalException) {
throw new ModelListenerException(portalException);
}
}
@Reference
private DepotEntryGroupRelLocalService _depotEntryGroupRelLocalService;
@Reference
private GroupLocalService _groupLocalService;
}