From 7baf2e4cd2ef8082b74937e26de75b01e630b5d4 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 17 Apr 2014 12:00:35 -0400 Subject: [PATCH] Expose JGit 3.x receive pack settings as Gitblit settings --- src/main/java/com/gitblit/servlet/SyndicationServlet.java | 43 +++++++++++++++++++------------------------ 1 files changed, 19 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/SyndicationServlet.java b/src/main/java/com/gitblit/servlet/SyndicationServlet.java index 739ee2d..24def99 100644 --- a/src/main/java/com/gitblit/servlet/SyndicationServlet.java +++ b/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; -- Gitblit v1.9.1