mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-04 21:59:10 +01:00
Add queryable store with SQLite implementation
This adds the new "queryable store" API, that allows complex queries and is backed by SQLite. This new API can be used for entities annotated with the new QueryableType annotation.
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (c) 2020 - present Cloudogu GmbH
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* 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/.
|
||||
*/
|
||||
|
||||
package sonia.scm.group;
|
||||
|
||||
import com.github.legman.ReferenceType;
|
||||
import com.github.legman.Subscribe;
|
||||
import sonia.scm.HandlerEventType;
|
||||
import sonia.scm.plugin.Extension;
|
||||
import sonia.scm.store.StoreDeletionNotifier;
|
||||
|
||||
@Extension
|
||||
public class GroupDeletionNotifier implements StoreDeletionNotifier {
|
||||
private DeletionHandler handler;
|
||||
|
||||
@Override
|
||||
public void registerHandler(DeletionHandler handler) {
|
||||
this.handler = handler;
|
||||
}
|
||||
|
||||
@Subscribe(referenceType = ReferenceType.STRONG)
|
||||
public void onDelete(GroupEvent event) {
|
||||
if (handler != null && event.getEventType() == HandlerEventType.DELETE) {
|
||||
handler.notifyDeleted(Group.class, event.getItem().getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user