From ca4d98678c20e4033fdaca09ecbbf0f5952e0b84 Mon Sep 17 00:00:00 2001 From: James Moger Date: Mon, 9 Jun 2014 14:10:51 -0400 Subject: Add repository and user/team lifecycle listener extension points --- .../extensions/RepositoryLifeCycleListener.java | 45 ++++++++++++++++ .../extensions/UserTeamLifeCycleListener.java | 62 ++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 src/main/java/com/gitblit/extensions/RepositoryLifeCycleListener.java create mode 100644 src/main/java/com/gitblit/extensions/UserTeamLifeCycleListener.java (limited to 'src/main/java/com/gitblit/extensions') diff --git a/src/main/java/com/gitblit/extensions/RepositoryLifeCycleListener.java b/src/main/java/com/gitblit/extensions/RepositoryLifeCycleListener.java new file mode 100644 index 00000000..5ef03af7 --- /dev/null +++ b/src/main/java/com/gitblit/extensions/RepositoryLifeCycleListener.java @@ -0,0 +1,45 @@ +/* + * Copyright 2014 gitblit.com. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gitblit.extensions; + +import ro.fortsoft.pf4j.ExtensionPoint; + +import com.gitblit.models.RepositoryModel; + +/** + * Extension point to allow plugins to listen to major repository lifecycle events. + * + * @author James Moger + * @since 1.6.0 + */ +public abstract class RepositoryLifeCycleListener implements ExtensionPoint { + + /** + * Called after a repository has been created. + * + * @param repository + * @since 1.6.0 + */ + public abstract void onCreation(RepositoryModel repository); + + /** + * Called after a repository has been deleted. + * + * @param repository + * @since 1.6.0 + */ + public abstract void onDeletion(RepositoryModel repository); +} diff --git a/src/main/java/com/gitblit/extensions/UserTeamLifeCycleListener.java b/src/main/java/com/gitblit/extensions/UserTeamLifeCycleListener.java new file mode 100644 index 00000000..6f4cd9ba --- /dev/null +++ b/src/main/java/com/gitblit/extensions/UserTeamLifeCycleListener.java @@ -0,0 +1,62 @@ +/* + * Copyright 2014 gitblit.com. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gitblit.extensions; + +import ro.fortsoft.pf4j.ExtensionPoint; + +import com.gitblit.models.TeamModel; +import com.gitblit.models.UserModel; + +/** + * Extension point to allow plugins to listen to major user and team lifecycle events. + * + * @author James Moger + * @since 1.6.0 + */ +public abstract class UserTeamLifeCycleListener implements ExtensionPoint { + + /** + * Called after a user has been created. + * + * @param user + * @since 1.6.0 + */ + public abstract void onCreation(UserModel user); + + /** + * Called after a user has been deleted. + * + * @param user + * @since 1.6.0 + */ + public abstract void onDeletion(UserModel user); + + /** + * Called after a team has been created. + * + * @param team + * @since 1.6.0 + */ + public abstract void onCreation(TeamModel team); + + /** + * Called after a team has been deleted. + * + * @param team + * @since 1.6.0 + */ + public abstract void onDeletion(TeamModel team); +} -- cgit v1.2.3