Commits

Sebastian Sdorra  committed b3ed450

remove old event classes

  • Participants
  • Parent commits e4132b7

Comments (0)

Files changed (5)

File scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitRepositoryHookEvent.java

-/**
- * Copyright (c) 2010, Sebastian Sdorra
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * 3. Neither the name of SCM-Manager; nor the names of its
- *    contributors may be used to endorse or promote products derived from this
- *    software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * http://bitbucket.org/sdorra/scm-manager
- *
- */
-
-
-
-package sonia.scm.repository;
-
-//~--- non-JDK imports --------------------------------------------------------
-
-import org.eclipse.jgit.transport.ReceiveCommand;
-import org.eclipse.jgit.transport.ReceivePack;
-
-//~--- JDK imports ------------------------------------------------------------
-
-import java.util.List;
-
-/**
- *
- * @author Sebastian Sdorra
- */
-public class GitRepositoryHookEvent extends AbstractRepositoryHookEvent
-{
-
-  /**
-   * Constructs ...
-   *
-   *
-   * @param rpack
-   * @param receiveCommands
-   * @param type
-   */
-  public GitRepositoryHookEvent(ReceivePack rpack,
-    List<ReceiveCommand> receiveCommands, RepositoryHookType type)
-  {
-    this.rpack = rpack;
-    this.receiveCommands = receiveCommands;
-    this.type = type;
-  }
-
-  //~--- get methods ----------------------------------------------------------
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  @Override
-  public List<Changeset> getChangesets()
-  {
-    if (changesets == null)
-    {
-      GitHookChangesetCollector collector =
-        new GitHookChangesetCollector(rpack, receiveCommands);
-
-      changesets = collector.collectChangesets();
-    }
-
-    return changesets;
-  }
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  @Override
-  public RepositoryHookType getType()
-  {
-    return type;
-  }
-
-  //~--- fields ---------------------------------------------------------------
-
-  /** Field description */
-  private List<Changeset> changesets;
-
-  /** Field description */
-  private List<ReceiveCommand> receiveCommands;
-
-  /** Field description */
-  private ReceivePack rpack;
-
-  /** Field description */
-  private RepositoryHookType type;
-}

File scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHookEvent.java

-/**
- * Copyright (c) 2010, Sebastian Sdorra
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * 3. Neither the name of SCM-Manager; nor the names of its
- *    contributors may be used to endorse or promote products derived from this
- *    software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * http://bitbucket.org/sdorra/scm-manager
- *
- */
-
-
-
-package sonia.scm.repository;
-
-//~--- non-JDK imports --------------------------------------------------------
-
-import com.google.common.io.Closeables;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import sonia.scm.repository.spi.HgCommandContext;
-import sonia.scm.repository.spi.javahg.HgLogChangesetCommand;
-
-//~--- JDK imports ------------------------------------------------------------
-
-import java.io.File;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- *
- * @author Sebastian Sdorra
- */
-public class HgRepositoryHookEvent extends AbstractRepositoryHookEvent
-{
-
-  /** Field description */
-  public static final String REV_TIP = "tip";
-
-  /**
-   * the logger for HgRepositoryHookEvent
-   */
-  private static final Logger logger =
-    LoggerFactory.getLogger(HgRepositoryHookEvent.class);
-
-  //~--- constructors ---------------------------------------------------------
-
-  /**
-   * Constructs ...
-   *
-   *
-   * @param handler
-   * @param hookManager
-   * @param repositoryName
-   * @param startRev
-   * @param type
-   */
-  public HgRepositoryHookEvent(HgRepositoryHandler handler,
-    HgHookManager hookManager, String repositoryName, String startRev,
-    RepositoryHookType type)
-  {
-    this.handler = handler;
-    this.hookManager = hookManager;
-    this.repositoryName = repositoryName;
-    this.startRev = startRev;
-    this.type = type;
-  }
-
-  //~--- get methods ----------------------------------------------------------
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  @Override
-  public Collection<Changeset> getChangesets()
-  {
-    if (changesets == null)
-    {
-      HgCommandContext context = null;
-
-      try
-      {
-        context = createCommandContext();
-
-        HgLogChangesetCommand cmd = HgLogChangesetCommand.on(context.open(),
-                                      handler.getConfig());
-
-        changesets = cmd.rev(startRev.concat(":").concat(REV_TIP)).execute();
-      }
-      catch (Exception ex)
-      {
-        logger.error("could not retrieve changesets", ex);
-      }
-      finally
-      {
-        Closeables.closeQuietly(context);
-      }
-    }
-
-    return changesets;
-  }
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  @Override
-  public RepositoryHookType getType()
-  {
-    return type;
-  }
-
-  //~--- methods --------------------------------------------------------------
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  private HgCommandContext createCommandContext()
-  {
-    File directory = handler.getConfig().getRepositoryDirectory();
-    File repositoryDirectory = new File(directory, repositoryName);
-
-    // use HG_PENDING only for pre receive hooks
-    boolean pending = type == RepositoryHookType.PRE_RECEIVE;
-
-    Repository repository = getRepository();
-
-    return new HgCommandContext(hookManager, handler, repository,
-      repositoryDirectory, pending);
-  }
-
-  //~--- fields ---------------------------------------------------------------
-
-  /** Field description */
-  private List<Changeset> changesets;
-
-  /** Field description */
-  private HgRepositoryHandler handler;
-
-  /** Field description */
-  private HgHookManager hookManager;
-
-  /** Field description */
-  private String repositoryName;
-
-  /** Field description */
-  private String startRev;
-
-  /** Field description */
-  private RepositoryHookType type;
-}

File scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgHookChangesetProvider.java

 import sonia.scm.repository.spi.javahg.HgLogChangesetCommand;
 import sonia.scm.web.HgUtil;
 
-import static sonia.scm.repository.HgRepositoryHookEvent.REV_TIP;
-
 //~--- JDK imports ------------------------------------------------------------
 
 import java.io.File;
                                       handler.getConfig());
 
         response = new HookChangesetResponse(
-          cmd.rev(startRev.concat(":").concat(REV_TIP)).execute());
+          cmd.rev(startRev.concat(":").concat(HgUtil.REVISION_TIP)).execute());
       }
       catch (Exception ex)
       {

File scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnPostReceiveHookEvent.java

-/**
- * Copyright (c) 2010, Sebastian Sdorra
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * 3. Neither the name of SCM-Manager; nor the names of its
- *    contributors may be used to endorse or promote products derived from this
- *    software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * http://bitbucket.org/sdorra/scm-manager
- *
- */
-
-
-
-package sonia.scm.repository;
-
-//~--- non-JDK imports --------------------------------------------------------
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.tmatesoft.svn.core.SVNException;
-import org.tmatesoft.svn.core.SVNLogEntry;
-import org.tmatesoft.svn.core.SVNURL;
-import org.tmatesoft.svn.core.io.SVNRepository;
-import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
-
-import sonia.scm.util.Util;
-
-//~--- JDK imports ------------------------------------------------------------
-
-import java.io.File;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-/**
- *
- * @author Sebastian Sdorra
- */
-public class SvnPostReceiveHookEvent extends AbstractRepositoryHookEvent
-{
-
-  /** the logger for SvnPostReceiveHookEvent */
-  private static final Logger logger =
-    LoggerFactory.getLogger(SvnPostReceiveHookEvent.class);
-
-  //~--- constructors ---------------------------------------------------------
-
-  /**
-   * Constructs ...
-   *
-   *
-   * @param repositoryDirectory
-   * @param revision
-   */
-  public SvnPostReceiveHookEvent(File repositoryDirectory, long revision)
-  {
-    this.repositoryDirectory = repositoryDirectory;
-    this.revision = revision;
-  }
-
-  //~--- get methods ----------------------------------------------------------
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  @Override
-  public Collection<Changeset> getChangesets()
-  {
-    if (changesets == null)
-    {
-      changesets = fetchChangesets();
-    }
-
-    return changesets;
-  }
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  @Override
-  public RepositoryHookType getType()
-  {
-    return RepositoryHookType.POST_RECEIVE;
-  }
-
-  //~--- methods --------------------------------------------------------------
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  private List<Changeset> fetchChangesets()
-  {
-    List<Changeset> result = new ArrayList<Changeset>(1);
-    SVNRepository repository = null;
-
-    try
-    {
-      repository =
-        SVNRepositoryFactory.create(SVNURL.fromFile(repositoryDirectory));
-
-      Collection<SVNLogEntry> enties = repository.log(new String[] { "" },
-                                         null, revision, revision, true, true);
-
-      if (Util.isNotEmpty(enties))
-      {
-        SVNLogEntry entry = enties.iterator().next();
-
-        if (entry != null)
-        {
-          result.add(SvnUtil.createChangeset(entry));
-        }
-      }
-    }
-    catch (SVNException ex)
-    {
-      logger.error("could not open repository", ex);
-    }
-    finally
-    {
-      SvnUtil.closeSession(repository);
-    }
-
-    return result;
-  }
-
-  //~--- fields ---------------------------------------------------------------
-
-  /** Field description */
-  private List<Changeset> changesets;
-
-  /** Field description */
-  private File repositoryDirectory;
-
-  /** Field description */
-  private long revision;
-}

File scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnPreReceiveHookEvent.java

-/**
- * Copyright (c) 2010, Sebastian Sdorra
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * 3. Neither the name of SCM-Manager; nor the names of its
- *    contributors may be used to endorse or promote products derived from this
- *    software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * http://bitbucket.org/sdorra/scm-manager
- *
- */
-
-
-
-package sonia.scm.repository;
-
-//~--- non-JDK imports --------------------------------------------------------
-
-import com.google.common.collect.Lists;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.tmatesoft.svn.core.SVNLogEntry;
-import org.tmatesoft.svn.core.wc.ISVNOptions;
-import org.tmatesoft.svn.core.wc.SVNClientManager;
-import org.tmatesoft.svn.core.wc.SVNWCUtil;
-import org.tmatesoft.svn.core.wc.admin.SVNLookClient;
-
-//~--- JDK imports ------------------------------------------------------------
-
-import java.io.File;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-/**
- *
- * @author Sebastian Sdorra
- */
-public class SvnPreReceiveHookEvent extends AbstractRepositoryHookEvent
-{
-
-  /** the logger for SvnPreReceiveHookEvent */
-  private static final Logger logger =
-    LoggerFactory.getLogger(SvnPreReceiveHookEvent.class);
-
-  //~--- constructors ---------------------------------------------------------
-
-  /**
-   * Constructs ...
-   *
-   *
-   * @param repositoryDirectory
-   * @param transaction
-   */
-  public SvnPreReceiveHookEvent(File repositoryDirectory, String transaction)
-  {
-    this.repositoryDirectory = repositoryDirectory;
-    this.transaction = transaction;
-  }
-
-  //~--- get methods ----------------------------------------------------------
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  @Override
-  public Collection<Changeset> getChangesets()
-  {
-    if (changesets == null)
-    {
-      changesets = fetchChangesets();
-    }
-
-    return changesets;
-  }
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  @Override
-  public RepositoryHookType getType()
-  {
-    return RepositoryHookType.PRE_RECEIVE;
-  }
-
-  //~--- methods --------------------------------------------------------------
-
-  /**
-   * Method description
-   *
-   *
-   * @return
-   */
-  private Collection<Changeset> fetchChangesets()
-  {
-    List<Changeset> csets = new ArrayList<Changeset>(1);
-    SVNClientManager cm = null;
-
-    try
-    {
-      ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
-
-      cm = SVNClientManager.newInstance(options);
-
-      SVNLookClient clientManager = cm.getLookClient();
-      SVNLogEntry entry = clientManager.doGetInfo(repositoryDirectory,
-                            transaction);
-
-      if (entry != null)
-      {
-        Changeset c = SvnUtil.createChangeset(entry);
-
-        clientManager.doGetChanged(repositoryDirectory, transaction,
-                                   new SvnModificationHandler(c), true);
-        csets.add(c);
-      }
-      else if (logger.isWarnEnabled())
-      {
-        logger.warn("could not find log entry for pre receive hook");
-      }
-    }
-    catch (Exception ex)
-    {
-      logger.error(
-          "could not fetch changesets for transaction ".concat(transaction),
-          ex);
-    }
-    finally
-    {
-      SvnUtil.dispose(cm);
-    }
-
-    return csets;
-  }
-
-  //~--- fields ---------------------------------------------------------------
-
-  /** Field description */
-  private Collection<Changeset> changesets;
-
-  /** Field description */
-  private File repositoryDirectory;
-
-  /** Field description */
-  private String transaction;
-}