David Ostrovsky
2014-03-11 b799d545f37f7123aaa1ee1d0ff3b61f1f3cc8c2
src/main/java/com/gitblit/servlet/SyndicationServlet.java
@@ -22,10 +22,6 @@
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.http.HttpServlet;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
@@ -35,20 +31,22 @@
import com.gitblit.Constants;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.dagger.DaggerServlet;
import com.gitblit.manager.IProjectManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.FeedEntryModel;
import com.gitblit.models.ProjectModel;
import com.gitblit.models.RefModel;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.servlet.AuthenticationFilter.AuthenticatedRequest;
import com.gitblit.utils.BugtraqProcessor;
import com.gitblit.utils.HttpUtils;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.MessageProcessor;
import com.gitblit.utils.StringUtils;
import com.gitblit.utils.SyndicationUtils;
import dagger.ObjectGraph;
/**
 * SyndicationServlet generates RSS 2.0 feeds and feed links.
@@ -58,29 +56,23 @@
 * @author James Moger
 *
 */
@Singleton
public class SyndicationServlet extends HttpServlet {
public class SyndicationServlet extends DaggerServlet {
   private static final long serialVersionUID = 1L;
   private transient Logger logger = LoggerFactory.getLogger(SyndicationServlet.class);
   private final IStoredSettings settings;
   private IStoredSettings settings;
   private final IRepositoryManager repositoryManager;
   private IRepositoryManager repositoryManager;
   private final IProjectManager projectManager;
   private IProjectManager projectManager;
   @Inject
   public SyndicationServlet(
         IRuntimeManager runtimeManager,
         IRepositoryManager repositoryManager,
         IProjectManager projectManager) {
      super();
      this.settings = runtimeManager.getSettings();
      this.repositoryManager = repositoryManager;
      this.projectManager = projectManager;
   @Override
   protected void inject(ObjectGraph dagger) {
      this.settings = dagger.get(IStoredSettings.class);
      this.repositoryManager = dagger.get(IRepositoryManager.class);
      this.projectManager = dagger.get(IProjectManager.class);
   }
   /**
@@ -230,7 +222,10 @@
         // parameterized parameters
         urlPattern = "{0}/commit/?r={1}&h={2}";
      }
      String gitblitUrl = HttpUtils.getGitblitURL(request);
      String gitblitUrl = settings.getString(Keys.web.canonicalUrl, null);
      if (StringUtils.isEmpty(gitblitUrl)) {
         gitblitUrl = HttpUtils.getGitblitURL(request);
      }
      char fsc = settings.getChar(Keys.web.forwardSlashCharacter, '/');
      List<FeedEntryModel> entries = new ArrayList<FeedEntryModel>();
@@ -262,7 +257,7 @@
                  offset, length);
         }
         Map<ObjectId, List<RefModel>> allRefs = JGitUtils.getAllRefs(repository, model.showRemoteBranches);
         MessageProcessor processor = new MessageProcessor(settings);
         BugtraqProcessor processor = new BugtraqProcessor(settings);
         // convert RevCommit to SyndicatedEntryModel
         for (RevCommit commit : commits) {
@@ -273,7 +268,7 @@
                  StringUtils.encodeURL(model.name.replace('/', fsc)), commit.getName());
            entry.published = commit.getCommitterIdent().getWhen();
            entry.contentType = "text/html";
            String message = processor.processCommitMessage(model, commit.getFullMessage());
            String message = processor.processCommitMessage(repository, model, commit.getFullMessage());
            entry.content = message;
            entry.repository = model.name;
            entry.branch = objectId;