Merged in feature/ui_changeset_list (pull request #82)

Feature/ui changeset list
This commit is contained in:
Philipp Czora
2018-10-17 15:38:47 +00:00
57 changed files with 10006 additions and 8413 deletions

View File

@@ -109,9 +109,10 @@ public class BranchRootResource {
}
Repository repository = repositoryService.getRepository();
RepositoryPermissions.read(repository).check();
ChangesetPagingResult changesets = repositoryService.getLogCommand()
.setPagingStart(page)
.setPagingLimit(pageSize)
ChangesetPagingResult changesets = new PagedLogCommandBuilder(repositoryService)
.page(page)
.pageSize(pageSize)
.create()
.setBranch(branchName)
.getChangesets();
if (changesets != null && changesets.getChangesets() != null) {

View File

@@ -12,6 +12,7 @@ import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryNotFoundException;
import sonia.scm.repository.RepositoryPermissions;
import sonia.scm.repository.RevisionNotFoundException;
import sonia.scm.repository.api.LogCommandBuilder;
import sonia.scm.repository.api.RepositoryService;
import sonia.scm.repository.api.RepositoryServiceFactory;
import sonia.scm.web.VndMediaType;
@@ -59,9 +60,10 @@ public class ChangesetRootResource {
try (RepositoryService repositoryService = serviceFactory.create(new NamespaceAndName(namespace, name))) {
Repository repository = repositoryService.getRepository();
RepositoryPermissions.read(repository).check();
ChangesetPagingResult changesets = repositoryService.getLogCommand()
.setPagingStart(page)
.setPagingLimit(pageSize)
ChangesetPagingResult changesets = new PagedLogCommandBuilder(repositoryService)
.page(page)
.pageSize(pageSize)
.create()
.getChangesets();
if (changesets != null && changesets.getChangesets() != null) {
PageResult<Changeset> pageResult = new PageResult<>(changesets.getChangesets(), changesets.getTotal());

View File

@@ -73,9 +73,10 @@ public class FileHistoryRootResource {
try (RepositoryService repositoryService = serviceFactory.create(new NamespaceAndName(namespace, name))) {
log.info("Get changesets of the file {} and revision {}", path, revision);
Repository repository = repositoryService.getRepository();
ChangesetPagingResult changesets = repositoryService.getLogCommand()
.setPagingStart(page)
.setPagingLimit(pageSize)
ChangesetPagingResult changesets = new PagedLogCommandBuilder(repositoryService)
.page(page)
.pageSize(pageSize)
.create()
.setPath(path)
.setStartChangeset(revision)
.getChangesets();

View File

@@ -0,0 +1,30 @@
package sonia.scm.api.v2.resources;
import sonia.scm.repository.api.LogCommandBuilder;
import sonia.scm.repository.api.RepositoryService;
class PagedLogCommandBuilder {
private final RepositoryService repositoryService;
private int page;
private int pageSize ;
PagedLogCommandBuilder(RepositoryService repositoryService) {
this.repositoryService = repositoryService;
}
PagedLogCommandBuilder page(int page) {
this.page = page;
return this;
}
PagedLogCommandBuilder pageSize(int pageSize) {
this.pageSize = pageSize;
return this;
}
LogCommandBuilder create() {
return repositoryService.getLogCommand()
.setPagingStart(page * pageSize)
.setPagingLimit(pageSize);
}
}

View File

@@ -34,24 +34,21 @@ package sonia.scm.filter;
//~--- non-JDK imports --------------------------------------------------------
import com.google.inject.Singleton;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.util.WebUtil;
import sonia.scm.web.filter.HttpFilter;
//~--- JDK imports ------------------------------------------------------------
import java.io.File;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
//~--- JDK imports ------------------------------------------------------------
/**
*
@@ -109,11 +106,7 @@ public class StaticResourceFilter extends HttpFilter
{
if (logger.isDebugEnabled())
{
StringBuilder msg = new StringBuilder("return ");
msg.append(HttpServletResponse.SC_NOT_MODIFIED);
msg.append(" for ").append(uri);
logger.debug(msg.toString());
logger.debug("return {} for {}" , HttpServletResponse.SC_NOT_MODIFIED, uri);
}
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);

View File

@@ -64,7 +64,7 @@ public final class JwtAccessTokenBuilder implements AccessTokenBuilder {
private String subject;
private String issuer;
private long expiresIn = 10l;
private long expiresIn = 60l;
private TimeUnit expiresInUnit = TimeUnit.MINUTES;
private Scope scope = Scope.empty();