improve changeset preprocessor api

This commit is contained in:
Sebastian Sdorra
2011-08-15 14:53:35 +02:00
parent e667932ef6
commit c3b8fc8e72
4 changed files with 118 additions and 3 deletions

View File

@@ -47,6 +47,7 @@ import sonia.scm.io.FileSystem;
import sonia.scm.plugin.ext.Extension;
import sonia.scm.plugin.ext.ExtensionProcessor;
import sonia.scm.repository.ChangesetPreProcessor;
import sonia.scm.repository.ExtendedChangesetPreProcessor;
import sonia.scm.repository.RepositoryHandler;
import sonia.scm.repository.RepositoryHook;
import sonia.scm.repository.RepositoryListener;
@@ -105,6 +106,8 @@ public class BindingExtensionProcessor implements ExtensionProcessor
Multibinder.newSetBinder(binder, ResourceHandler.class);
Multibinder<ChangesetPreProcessor> changesetPreProcessorBinder =
Multibinder.newSetBinder(binder, ChangesetPreProcessor.class);
Multibinder<ExtendedChangesetPreProcessor> extChangesetPreProcessorBinder =
Multibinder.newSetBinder(binder, ExtendedChangesetPreProcessor.class);
authenticators.addBinding().to(XmlAuthenticationHandler.class);
@@ -212,6 +215,17 @@ public class BindingExtensionProcessor implements ExtensionProcessor
changesetPreProcessorBinder.addBinding().to(extensionClass);
}
else if (ExtendedChangesetPreProcessor.class.isAssignableFrom(
extensionClass))
{
if (logger.isInfoEnabled())
{
logger.info("bind ExtendedChangesetPreProcessor {}",
extensionClass.getName());
}
extChangesetPreProcessorBinder.addBinding().to(extensionClass);
}
else if (RepositoryHook.class.isAssignableFrom(extensionClass))
{
if (logger.isInfoEnabled())