2020-03-23 15:35:58 +01:00
|
|
|
/*
|
2024-09-24 09:42:07 +02:00
|
|
|
* Copyright (c) 2020 - present Cloudogu GmbH
|
2010-11-07 15:19:00 +01:00
|
|
|
*
|
2024-09-24 09:42:07 +02:00
|
|
|
* This program is free software: you can redistribute it and/or modify it under
|
|
|
|
|
* the terms of the GNU Affero General Public License as published by the Free
|
|
|
|
|
* Software Foundation, version 3.
|
2010-11-07 15:19:00 +01:00
|
|
|
*
|
2024-09-24 09:42:07 +02:00
|
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
|
|
|
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
|
|
|
* details.
|
2010-11-07 15:19:00 +01:00
|
|
|
*
|
2024-09-24 09:42:07 +02:00
|
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
|
|
|
* along with this program. If not, see https://www.gnu.org/licenses/.
|
2010-11-07 15:19:00 +01:00
|
|
|
*/
|
|
|
|
|
|
2025-04-01 16:18:04 +02:00
|
|
|
package sonia.scm.group;
|
2010-11-07 15:19:00 +01:00
|
|
|
|
2025-04-01 16:18:04 +02:00
|
|
|
import com.github.legman.ReferenceType;
|
|
|
|
|
import com.github.legman.Subscribe;
|
|
|
|
|
import sonia.scm.HandlerEventType;
|
|
|
|
|
import sonia.scm.plugin.Extension;
|
|
|
|
|
import sonia.scm.store.StoreDeletionNotifier;
|
2010-11-07 15:19:00 +01:00
|
|
|
|
2025-04-01 16:18:04 +02:00
|
|
|
@Extension
|
|
|
|
|
public class GroupDeletionNotifier implements StoreDeletionNotifier {
|
|
|
|
|
private DeletionHandler handler;
|
2024-02-06 14:54:00 +01:00
|
|
|
|
2010-11-07 15:19:00 +01:00
|
|
|
@Override
|
2025-04-01 16:18:04 +02:00
|
|
|
public void registerHandler(DeletionHandler handler) {
|
|
|
|
|
this.handler = handler;
|
2010-11-07 15:19:00 +01:00
|
|
|
}
|
|
|
|
|
|
2025-04-01 16:18:04 +02:00
|
|
|
@Subscribe(referenceType = ReferenceType.STRONG)
|
|
|
|
|
public void onDelete(GroupEvent event) {
|
|
|
|
|
if (handler != null && event.getEventType() == HandlerEventType.DELETE) {
|
|
|
|
|
handler.notifyDeleted(Group.class, event.getItem().getId());
|
2010-11-07 15:19:00 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|