Files
SCM-Manager/scm-webapp/src/main/java/sonia/scm/group/GroupDeletionNotifier.java

41 lines
1.3 KiB
Java
Raw Normal View History

/*
* Copyright (c) 2020 - present Cloudogu GmbH
2010-11-07 15:19:00 +01: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
*
* 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
*
* 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
*/
package sonia.scm.group;
2010-11-07 15:19:00 +01: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
@Extension
public class GroupDeletionNotifier implements StoreDeletionNotifier {
private DeletionHandler handler;
2010-11-07 15:19:00 +01:00
@Override
public void registerHandler(DeletionHandler handler) {
this.handler = handler;
2010-11-07 15:19:00 +01: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
}
}
}