From 3011c53c27301fa21fee8c54b1eff93feba883ab Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 18 Sep 2011 10:26:49 +0200 Subject: [PATCH] added DiffViewer --- .../repository/AbstractRepositoryHandler.java | 17 +++++ .../repository/ChangesetViewerProvider.java | 18 +++--- .../java/sonia/scm/repository/DiffViewer.java | 62 ++++++++++++++++++ .../scm/repository/DiffViewerProvider.java | 56 ++++++++++++++++ .../scm/repository/RepositoryBrowser.java | 2 +- .../scm/repository/RepositoryManager.java | 2 +- .../repository/xml/XmlRepositoryManager.java | 64 ++++++++++++++++--- 7 files changed, 201 insertions(+), 20 deletions(-) create mode 100644 scm-core/src/main/java/sonia/scm/repository/DiffViewer.java create mode 100644 scm-core/src/main/java/sonia/scm/repository/DiffViewerProvider.java diff --git a/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java b/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java index e6d4d39f5f..fa835e2803 100644 --- a/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java +++ b/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java @@ -226,6 +226,23 @@ public abstract class AbstractRepositoryHandler, ListenerSupport, RepositoryBrowserProvider, RepositoryHookSupport, ChangesetViewerProvider, - BlameViewerProvider + BlameViewerProvider, DiffViewerProvider { /** diff --git a/scm-webapp/src/main/java/sonia/scm/repository/xml/XmlRepositoryManager.java b/scm-webapp/src/main/java/sonia/scm/repository/xml/XmlRepositoryManager.java index b32392f62f..4193c24453 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/xml/XmlRepositoryManager.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/xml/XmlRepositoryManager.java @@ -49,6 +49,7 @@ import sonia.scm.Type; 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; @@ -530,6 +531,32 @@ public class XmlRepositoryManager extends AbstractRepositoryManager return getAll(null, start, limit); } + /** + * Method description + * + * + * @param repository + * + * @return + * + * @throws RepositoryException + */ + @Override + public BlameViewer getBlameViewer(Repository repository) + throws RepositoryException + { + AssertUtil.assertIsNotNull(repository); + + BlameViewer viewer = null; + + if (isReader(repository)) + { + viewer = getHandler(repository).getBlameViewer(repository); + } + + return viewer; + } + /** * Method description * @@ -550,16 +577,7 @@ public class XmlRepositoryManager extends AbstractRepositoryManager return getHandler(repository).getChangesetViewer(repository); } - @Override - public BlameViewer getBlameViewer(Repository repository) - throws RepositoryException - { - AssertUtil.assertIsNotNull(repository); - isReader(repository); - return getHandler(repository).getBlameViewer(repository); - } - - /** + /** * Method description * * @@ -581,6 +599,32 @@ public class XmlRepositoryManager extends AbstractRepositoryManager return validTypes; } + /** + * Method description + * + * + * @param repository + * + * @return + * + * @throws RepositoryException + */ + @Override + public DiffViewer getDiffViewer(Repository repository) + throws RepositoryException + { + AssertUtil.assertIsNotNull(repository); + + DiffViewer viewer = null; + + if (isReader(repository)) + { + viewer = getHandler(repository).getDiffViewer(repository); + } + + return viewer; + } + /** * Method description *