PageRenderTime 44ms CodeModel.GetById 33ms app.highlight 10ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/com/atlassian/stash/redirect/RepositoryRedirectRequestCheck.java

https://bitbucket.org/tpettersen/stash-redirect-plugin
Java | 31 lines | 24 code | 7 blank | 0 comment | 4 complexity | dcd166acf12eabbccf529a0b4bd48e7b MD5 | raw file
 1package com.atlassian.stash.redirect;
 2
 3import com.atlassian.stash.repository.Repository;
 4import com.atlassian.stash.scm.ScmRequest;
 5import com.atlassian.stash.scm.ScmRequestCheck;
 6
 7import javax.annotation.Nonnull;
 8import java.io.IOException;
 9
10public class RepositoryRedirectRequestCheck implements ScmRequestCheck {
11
12    private final RepositoryRedirectDao redirectDao;
13
14    public RepositoryRedirectRequestCheck(RepositoryRedirectDao redirectDao) {
15        this.redirectDao = redirectDao;
16    }
17
18    @Override
19    public boolean check(@Nonnull ScmRequest scmRequest) throws IOException {
20        Repository repository = scmRequest.getRepository();
21        if (repository != null) {
22            String redirectUrl = redirectDao.getRedirectUrl(repository.getId());
23            if (redirectUrl != null) {
24                scmRequest.sendError("THIS REPOSITORY HAS MOVED", "Please clone from " + redirectUrl);
25                return false;
26            }
27        }
28        return true;
29    }
30
31}