mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 16:35:45 +01:00
added before events for manager objects
This commit is contained in:
@@ -41,12 +41,36 @@ package sonia.scm;
|
|||||||
public enum HandlerEvent
|
public enum HandlerEvent
|
||||||
{
|
{
|
||||||
|
|
||||||
/** The type of the event, if a new object is stored by a handler. */
|
/**
|
||||||
|
* After a new object is stored by a handler.
|
||||||
|
*/
|
||||||
CREATE,
|
CREATE,
|
||||||
|
|
||||||
/** The type of the event, if a object is modified by a handler. */
|
/**
|
||||||
|
* After a object is modified by a handler.
|
||||||
|
*/
|
||||||
MODIFY,
|
MODIFY,
|
||||||
|
|
||||||
/** The type of the event, if a object is removed by a handler. */
|
/**
|
||||||
DELETE
|
* After a object is removed by a handler.
|
||||||
|
*/
|
||||||
|
DELETE,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Before a new object is stored by a handler.
|
||||||
|
* @since 1.16
|
||||||
|
*/
|
||||||
|
BEFORE_CREATE,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Before a object is modified by a handler.
|
||||||
|
* @since 1.16
|
||||||
|
*/
|
||||||
|
BEFORE_MODIFY,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Before a object is removed by a handler.
|
||||||
|
* @since 1.16
|
||||||
|
*/
|
||||||
|
BEFORE_DELETE
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ public class DefaultGroupManager extends AbstractGroupManager
|
|||||||
}
|
}
|
||||||
|
|
||||||
group.setCreationDate(System.currentTimeMillis());
|
group.setCreationDate(System.currentTimeMillis());
|
||||||
|
fireEvent(group, HandlerEvent.BEFORE_CREATE);
|
||||||
groupDAO.add(group);
|
groupDAO.add(group);
|
||||||
fireEvent(group, HandlerEvent.CREATE);
|
fireEvent(group, HandlerEvent.CREATE);
|
||||||
}
|
}
|
||||||
@@ -172,6 +173,7 @@ public class DefaultGroupManager extends AbstractGroupManager
|
|||||||
|
|
||||||
if (groupDAO.contains(name))
|
if (groupDAO.contains(name))
|
||||||
{
|
{
|
||||||
|
fireEvent(group, HandlerEvent.BEFORE_DELETE);
|
||||||
groupDAO.delete(group);
|
groupDAO.delete(group);
|
||||||
fireEvent(group, HandlerEvent.DELETE);
|
fireEvent(group, HandlerEvent.DELETE);
|
||||||
}
|
}
|
||||||
@@ -223,6 +225,7 @@ public class DefaultGroupManager extends AbstractGroupManager
|
|||||||
if (groupDAO.contains(name))
|
if (groupDAO.contains(name))
|
||||||
{
|
{
|
||||||
group.setLastModified(System.currentTimeMillis());
|
group.setLastModified(System.currentTimeMillis());
|
||||||
|
fireEvent(group, HandlerEvent.BEFORE_MODIFY);
|
||||||
groupDAO.modify(group);
|
groupDAO.modify(group);
|
||||||
fireEvent(group, HandlerEvent.MODIFY);
|
fireEvent(group, HandlerEvent.MODIFY);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,25 +46,7 @@ import sonia.scm.ConfigurationException;
|
|||||||
import sonia.scm.HandlerEvent;
|
import sonia.scm.HandlerEvent;
|
||||||
import sonia.scm.SCMContextProvider;
|
import sonia.scm.SCMContextProvider;
|
||||||
import sonia.scm.Type;
|
import sonia.scm.Type;
|
||||||
|
|
||||||
import sonia.scm.config.ScmConfiguration;
|
import sonia.scm.config.ScmConfiguration;
|
||||||
import sonia.scm.repository.AbstractRepositoryManager;
|
|
||||||
import sonia.scm.repository.BlameViewer;
|
|
||||||
import sonia.scm.repository.ChangesetViewer;
|
|
||||||
import sonia.scm.repository.DiffViewer;
|
|
||||||
import sonia.scm.repository.PermissionType;
|
|
||||||
import sonia.scm.repository.PermissionUtil;
|
|
||||||
import sonia.scm.repository.Repository;
|
|
||||||
import sonia.scm.repository.RepositoryAllreadyExistExeption;
|
|
||||||
import sonia.scm.repository.RepositoryBrowser;
|
|
||||||
import sonia.scm.repository.RepositoryException;
|
|
||||||
import sonia.scm.repository.RepositoryHandler;
|
|
||||||
import sonia.scm.repository.RepositoryHandlerNotFoundException;
|
|
||||||
import sonia.scm.repository.RepositoryHook;
|
|
||||||
import sonia.scm.repository.RepositoryHookEvent;
|
|
||||||
import sonia.scm.repository.RepositoryListener;
|
|
||||||
import sonia.scm.repository.RepositoryNotFoundException;
|
|
||||||
|
|
||||||
import sonia.scm.security.ScmSecurityException;
|
import sonia.scm.security.ScmSecurityException;
|
||||||
import sonia.scm.util.AssertUtil;
|
import sonia.scm.util.AssertUtil;
|
||||||
import sonia.scm.util.CollectionAppender;
|
import sonia.scm.util.CollectionAppender;
|
||||||
@@ -194,6 +176,7 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager
|
|||||||
getHandler(repository).create(repository);
|
getHandler(repository).create(repository);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fireEvent(repository, HandlerEvent.BEFORE_CREATE);
|
||||||
repositoryDAO.add(repository);
|
repositoryDAO.add(repository);
|
||||||
fireEvent(repository, HandlerEvent.CREATE);
|
fireEvent(repository, HandlerEvent.CREATE);
|
||||||
}
|
}
|
||||||
@@ -243,6 +226,7 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager
|
|||||||
|
|
||||||
if (repositoryDAO.contains(repository))
|
if (repositoryDAO.contains(repository))
|
||||||
{
|
{
|
||||||
|
fireEvent(repository, HandlerEvent.BEFORE_DELETE);
|
||||||
getHandler(repository).delete(repository);
|
getHandler(repository).delete(repository);
|
||||||
repositoryDAO.delete(repository);
|
repositoryDAO.delete(repository);
|
||||||
}
|
}
|
||||||
@@ -369,8 +353,9 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager
|
|||||||
if (notModifiedRepository != null)
|
if (notModifiedRepository != null)
|
||||||
{
|
{
|
||||||
assertIsOwner(notModifiedRepository);
|
assertIsOwner(notModifiedRepository);
|
||||||
getHandler(repository).modify(repository);
|
fireEvent(repository, HandlerEvent.BEFORE_MODIFY);
|
||||||
repository.setLastModified(System.currentTimeMillis());
|
repository.setLastModified(System.currentTimeMillis());
|
||||||
|
getHandler(repository).modify(repository);
|
||||||
repositoryDAO.modify(repository);
|
repositoryDAO.modify(repository);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -180,6 +180,7 @@ public class DefaultUserManager extends AbstractUserManager
|
|||||||
|
|
||||||
AssertUtil.assertIsValid(user);
|
AssertUtil.assertIsValid(user);
|
||||||
user.setCreationDate(System.currentTimeMillis());
|
user.setCreationDate(System.currentTimeMillis());
|
||||||
|
fireEvent(user, HandlerEvent.BEFORE_CREATE);
|
||||||
userDAO.add(user);
|
userDAO.add(user);
|
||||||
fireEvent(user, HandlerEvent.CREATE);
|
fireEvent(user, HandlerEvent.CREATE);
|
||||||
}
|
}
|
||||||
@@ -207,6 +208,7 @@ public class DefaultUserManager extends AbstractUserManager
|
|||||||
|
|
||||||
if (userDAO.contains(name))
|
if (userDAO.contains(name))
|
||||||
{
|
{
|
||||||
|
fireEvent(user, HandlerEvent.BEFORE_DELETE);
|
||||||
userDAO.delete(user);
|
userDAO.delete(user);
|
||||||
fireEvent(user, HandlerEvent.DELETE);
|
fireEvent(user, HandlerEvent.DELETE);
|
||||||
}
|
}
|
||||||
@@ -270,6 +272,7 @@ public class DefaultUserManager extends AbstractUserManager
|
|||||||
{
|
{
|
||||||
AssertUtil.assertIsValid(user);
|
AssertUtil.assertIsValid(user);
|
||||||
user.setLastModified(System.currentTimeMillis());
|
user.setLastModified(System.currentTimeMillis());
|
||||||
|
fireEvent(user, HandlerEvent.BEFORE_MODIFY);
|
||||||
userDAO.modify(user);
|
userDAO.modify(user);
|
||||||
fireEvent(user, HandlerEvent.MODIFY);
|
fireEvent(user, HandlerEvent.MODIFY);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user