You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2019/02/12 17:46:50 UTC

[ignite-teamcity-bot] branch master updated: Java 11 build: Deprecated access check removal

This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git


The following commit(s) were added to refs/heads/master by this push:
     new 57f13f9  Java 11 build: Deprecated access check removal
57f13f9 is described below

commit 57f13f968cc0de49c7e142adbdbabe6ba8bf53b7
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Tue Feb 12 20:46:42 2019 +0300

    Java 11 build: Deprecated access check removal
---
 .../org/apache/ignite/ci/jobs/CheckQueueJob.java   |  4 +-
 .../ignite/ci/tcbot/issue/IssueDetector.java       | 10 ++--
 .../tcbot/visa/TcBotTriggerAndSignOffService.java  |  4 +-
 .../teamcity/ignited/ITeamcityIgnitedProvider.java | 12 ++---
 .../teamcity/ignited/TcIgnitedCachingProvider.java | 22 ++++-----
 .../apache/ignite/ci/user/ICredentialsProv.java    | 17 +++----
 .../ignite/ci/web/auth/AuthenticationFilter.java   | 10 ++--
 .../org/apache/ignite/ci/web/model/Version.java    |  2 +-
 .../ignite/ci/web/rest/GetTrackedBranches.java     |  4 +-
 .../apache/ignite/ci/web/rest/TriggerBuilds.java   | 39 ++++++++--------
 .../ignite/ci/web/rest/build/CompareBuilds.java    | 12 ++---
 .../ci/web/rest/build/GetBuildTestFailures.java    | 54 +++++++++++++---------
 .../rest/tracked/GetTrackedBranchTestResults.java  | 19 ++++----
 .../ignite/ci/web/rest/visa/TcBotVisaService.java  | 26 +++++------
 .../ignited/TeamcityIgnitedProviderMock.java       |  8 ++--
 15 files changed, 131 insertions(+), 112 deletions(-)

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java
index 072fd4d..5101778 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java
@@ -276,9 +276,9 @@ public class CheckQueueJob implements Runnable {
             for (ChainAtServerTracked chain : branchTracked.getChains()) {
                 String srv = chain.serverId;
 
-                if (!creds.hasAccess(srv)) {
+                if (!tcIgnitedProv.hasAccess(srv, creds)) {
                     logger.warn("Background operations credentials does not grant access to server \"{}\"," +
-                            " build queue trigger will not work.", srv);
+                        " build queue trigger will not work.", srv);
 
                     continue;
                 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
index 7ea2c63..2e8266b 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java
@@ -227,10 +227,12 @@ public class IssueDetector {
         int newIssues = 0;
 
         for (ChainAtServerCurrentStatus next : res.servers) {
-            if(!creds.hasAccess(next.serverId))
+            String srvId = next.serverId;
+
+            if(!tcProv.hasAccess(srvId, creds))
                 continue;
 
-            ITeamcityIgnited tcIgnited = tcProv.server(next.serverId, creds);
+            ITeamcityIgnited tcIgnited = tcProv.server(srvId, creds);
 
             for (SuiteCurrentStatus suiteCurrentStatus : next.suites) {
 
@@ -239,11 +241,11 @@ public class IssueDetector {
                 final String trackedBranch = res.getTrackedBranch();
 
                 for (TestFailure testFailure : suiteCurrentStatus.testFailures) {
-                    if(registerTestFailIssues(tcIgnited, next.serverId, normalizeBranch, testFailure, trackedBranch))
+                    if(registerTestFailIssues(tcIgnited, srvId, normalizeBranch, testFailure, trackedBranch))
                         newIssues++;
                 }
 
-                if(registerSuiteFailIssues(tcIgnited, next.serverId, normalizeBranch, suiteCurrentStatus, trackedBranch))
+                if(registerSuiteFailIssues(tcIgnited, srvId, normalizeBranch, suiteCurrentStatus, trackedBranch))
                     newIssues++;
             }
         }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java
index 44e3bb1..34f35a8 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java
@@ -600,11 +600,11 @@ public class TcBotTriggerAndSignOffService {
         return teamcity.host() + "viewQueued.html?itemId=" + ref.id();
     }
 
-    public CurrentVisaStatus currentVisaStatus(String srvId, ICredentialsProv prov, String buildTypeId, String tcBranch) {
+    public CurrentVisaStatus currentVisaStatus(String srvCode, ICredentialsProv prov, String buildTypeId, String tcBranch) {
         CurrentVisaStatus status = new CurrentVisaStatus();
 
         List<SuiteCurrentStatus> suitesStatuses
-            = prChainsProcessor.getBlockersSuitesStatuses(buildTypeId, tcBranch, srvId, prov, SyncMode.NONE);
+            = prChainsProcessor.getBlockersSuitesStatuses(buildTypeId, tcBranch, srvCode, prov, SyncMode.NONE);
 
         if (suitesStatuses == null)
             return status;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnitedProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnitedProvider.java
index 0497527..24e2a19 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnitedProvider.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnitedProvider.java
@@ -24,16 +24,16 @@ import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException;
  * Provides instance of particular cache-based teamcity connection.
  */
 public interface ITeamcityIgnitedProvider {
-    public boolean hasAccess(String srvId, @Nullable ICredentialsProv prov);
+    public boolean hasAccess(String srvCode, @Nullable ICredentialsProv prov);
 
     /**
-     * @param srvId Server id.
+     * @param srvCode Server id.
      * @param prov Prov.
      */
-    public ITeamcityIgnited server(String srvId, @Nullable ICredentialsProv prov);
+    public ITeamcityIgnited server(String srvCode, @Nullable ICredentialsProv prov);
 
-    default void checkAccess(@Nullable String srvId, ICredentialsProv credsProv) {
-        if (!hasAccess(srvId, credsProv))
-            throw ServiceUnauthorizedException.noCreds(srvId);
+    default void checkAccess(@Nullable String srvCode, ICredentialsProv credsProv) {
+        if (!hasAccess(srvCode, credsProv))
+            throw ServiceUnauthorizedException.noCreds(srvCode);
     }
 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TcIgnitedCachingProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TcIgnitedCachingProvider.java
index 227b99e..77ff2e7 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TcIgnitedCachingProvider.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TcIgnitedCachingProvider.java
@@ -52,37 +52,37 @@ class TcIgnitedCachingProvider implements ITeamcityIgnitedProvider {
             .build();
 
     /** {@inheritDoc} */
-    @Override public boolean hasAccess(String srvId, @Nullable ICredentialsProv prov) {
-        String ref = cfg.getTeamcityConfig(srvId).reference();
+    @Override public boolean hasAccess(String srvCode, @Nullable ICredentialsProv prov) {
+        String ref = cfg.getTeamcityConfig(srvCode).reference();
 
         if (!Strings.isNullOrEmpty(ref))
             return prov.hasAccess(ref);
 
-        return prov.hasAccess(srvId);
+        return prov.hasAccess(srvCode);
     }
 
     /** {@inheritDoc} */
-    @Override public ITeamcityIgnited server(String srvIdReq, @Nullable ICredentialsProv prov) {
-        ITcServerConfig cfg = this.cfg.getTeamcityConfig(srvIdReq);
+    @Override public ITeamcityIgnited server(String srvCode, @Nullable ICredentialsProv prov) {
+        ITcServerConfig cfg = this.cfg.getTeamcityConfig(srvCode);
         String ref = cfg.reference();
 
-        String realSrvId = !Strings.isNullOrEmpty(ref) && !srvIdReq.equals(ref) ? ref : srvIdReq;
+        String realSrvCode = !Strings.isNullOrEmpty(ref) && !srvCode.equals(ref) ? ref : srvCode;
 
-        String fullKey = Strings.nullToEmpty(prov == null ? null : prov.getUser(realSrvId)) + ":" + Strings.nullToEmpty(realSrvId);
+        String fullKey = Strings.nullToEmpty(prov == null ? null : prov.getUser(realSrvCode)) + ":" + Strings.nullToEmpty(realSrvCode);
 
         try {
             return srvs.get(fullKey, () -> {
-                ITeamcity tcRealConn = srvFactory.server(realSrvId, prov);
+                ITeamcity tcRealConn = srvFactory.server(realSrvCode, prov);
 
                 if (prov != null) {
-                    final String user = prov.getUser(realSrvId);
-                    final String pwd = prov.getPassword(realSrvId);
+                    final String user = prov.getUser(realSrvCode);
+                    final String pwd = prov.getPassword(realSrvCode);
                     tcRealConn.setAuthData(user, pwd);
                 }
 
                 TeamcityIgnitedImpl impl = provider.get();
 
-                impl.init(realSrvId, tcRealConn);
+                impl.init(realSrvCode, tcRealConn);
 
                 return impl;
             });
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/ICredentialsProv.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/ICredentialsProv.java
index 29e6c5b..9455210 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/ICredentialsProv.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/ICredentialsProv.java
@@ -22,27 +22,28 @@ import com.google.common.base.Strings;
 import javax.servlet.http.HttpServletRequest;
 
 public interface ICredentialsProv {
-    String _KEY = ICredentialsProv.class.getName();
+    /** Key for context attribute. */
+    public String _KEY = ICredentialsProv.class.getName();
 
     //note it will not work for PermitAll Methods
-    static ICredentialsProv get(HttpServletRequest req) {
+    public static ICredentialsProv get(HttpServletRequest req) {
         return (ICredentialsProv) req.getAttribute(_KEY);
     }
 
     /**
      * Gets username for particular service
-     * @param srv Server Id.
+     * @param srvCode Server Id.
      */
-    public String getUser(String srv);
+    public String getUser(String srvCode);
 
     /**
      * Gets password for particular service
-     * @param srv Server Id.
+     * @param srvCode Server Id.
      */
-    public String getPassword(String srv);
+    public String getPassword(String srvCode);
 
-    default boolean hasAccess(String srvId) {
-        return !Strings.isNullOrEmpty(getUser(srvId)) && !Strings.isNullOrEmpty(getPassword(srvId));
+    default boolean hasAccess(String srvCode) {
+        return !Strings.isNullOrEmpty(getUser(srvCode)) && !Strings.isNullOrEmpty(getPassword(srvCode));
     }
 
     String getPrincipalId();
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/auth/AuthenticationFilter.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/auth/AuthenticationFilter.java
index 1e76eee..948a4d1 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/auth/AuthenticationFilter.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/auth/AuthenticationFilter.java
@@ -217,16 +217,16 @@ public class AuthenticationFilter implements ContainerRequestFilter {
     @NotNull
     private ICredentialsProv createCredsProv(TcHelperUser user, byte[] userKey) {
         return new ICredentialsProv() {
-            @Override public String getUser(String srv) {
-                TcHelperUser.Credentials creds = user.getCredentials(srv);
+            @Override public String getUser(String srvCode) {
+                TcHelperUser.Credentials creds = user.getCredentials(srvCode);
                 if (creds == null)
                     return null;
 
                 return creds.getUsername();
             }
 
-            @Override public String getPassword(String srv) {
-                TcHelperUser.Credentials creds = user.getCredentials(srv);
+            @Override public String getPassword(String srvCode) {
+                TcHelperUser.Credentials creds = user.getCredentials(srvCode);
                 if (creds == null)
                     return null;
 
@@ -243,7 +243,7 @@ public class AuthenticationFilter implements ContainerRequestFilter {
 
                     if (Throwables.getCausalChain(e).stream().anyMatch(t -> t instanceof BadPaddingException)) {
                         throw new ServiceUnauthorizedException("Invalid credentials stored for " +
-                                creds.getUsername() + " for service [" + srv + "]");
+                                creds.getUsername() + " for service [" + srvCode + "]");
                     }
 
                     return null;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
index 8ef44c8..66e9ff4 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
@@ -28,7 +28,7 @@ package org.apache.ignite.ci.web.model;
     public static final String GITHUB_REF = "https://github.com/apache/ignite-teamcity-bot";
 
     /** TC Bot Version. */
-    public static final String VERSION = "20190202";
+    public static final String VERSION = "20190212";
 
     /** Java version, where Web App is running. */
     public String javaVer;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetTrackedBranches.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetTrackedBranches.java
index ea62194..1d0c302 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetTrackedBranches.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetTrackedBranches.java
@@ -79,13 +79,15 @@ public class GetTrackedBranches {
 
         Injector injector = CtxListener.getInjector(ctx);
         ITcBotConfig cfg = injector.getInstance(ITcBotConfig.class);
+        ITeamcityIgnitedProvider tcIgnProv = injector.getInstance(ITeamcityIgnitedProvider.class);
+
         return cfg.getTrackedBranches()
             .getSuitesUnique()
             .stream()
             .filter(chainAtSrv ->
                 Strings.isNullOrEmpty(srvId)
                     || srvId.equals(chainAtSrv.serverId))
-            .filter(chainAtServer -> prov.hasAccess(chainAtServer.serverId))
+            .filter(chainAtServer -> tcIgnProv.hasAccess(chainAtServer.serverId, prov))
             .collect(Collectors.toSet());
     }
 
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/TriggerBuilds.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/TriggerBuilds.java
index 5c527ba..037cead 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/TriggerBuilds.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/TriggerBuilds.java
@@ -36,6 +36,7 @@ import org.apache.ignite.ci.github.pure.IGitHubConnection;
 import org.apache.ignite.ci.github.pure.IGitHubConnectionProvider;
 import org.apache.ignite.ci.jira.pure.IJiraIntegration;
 import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
+import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
 import org.apache.ignite.ci.user.ICredentialsProv;
 import org.apache.ignite.ci.tcbot.visa.TcBotTriggerAndSignOffService;
 import org.apache.ignite.ci.web.CtxListener;
@@ -60,7 +61,7 @@ public class TriggerBuilds {
     @GET
     @Path("trigger")
     public SimpleResult triggerBuilds(
-        @Nullable @QueryParam("serverId") String srvId,
+        @Nullable @QueryParam("serverId") String srvCode,
         @Nullable @QueryParam("branchName") String branchForTc,
         @Nonnull @QueryParam("parentSuiteId") String parentSuiteId,
         @Nonnull @QueryParam("suiteIdList") String suiteIdList,
@@ -68,24 +69,23 @@ public class TriggerBuilds {
         @Nullable @QueryParam("observe") Boolean observe,
         @Nullable @QueryParam("ticketId") String ticketId
     ) {
+        ICredentialsProv prov = ICredentialsProv.get(req);
+        Injector injector = CtxListener.getInjector(ctx);
 
-        final ICredentialsProv prov = ICredentialsProv.get(req);
-
-        if (!prov.hasAccess(srvId))
-            throw ServiceUnauthorizedException.noCreds(srvId);
+        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvCode, prov);
 
         if (isNullOrEmpty(suiteIdList))
             return new SimpleResult("Error: nothing to run.");
 
-        String jiraRes = CtxListener.getInjector(ctx)
+        String jiraRes = injector
             .getInstance(TcBotTriggerAndSignOffService.class)
-            .triggerBuildsAndObserve(srvId, branchForTc, parentSuiteId, suiteIdList, top, observe, ticketId, prov);
+            .triggerBuildsAndObserve(srvCode, branchForTc, parentSuiteId, suiteIdList, top, observe, ticketId, prov);
 
         return new SimpleResult("Tests started." + (!jiraRes.isEmpty() ? "<br>" + jiraRes : ""));
     }
 
     /**
-     * @param srvId Server id.
+     * @param srvCode Server id.
      * @param branchForTc Branch for tc.
      * @param suiteId Suite id.
      * @param ticketId Ticket full name with IGNITE- prefix.
@@ -93,34 +93,37 @@ public class TriggerBuilds {
     @GET
     @Path("commentJira")
     public SimpleResult commentJira(
-        @Nullable @QueryParam("serverId") String srvId,
+        @Nullable @QueryParam("serverId") String srvCode,
         @Nullable @QueryParam("branchName") String branchForTc,
         @Nullable @QueryParam("suiteId") String suiteId,
         @Nullable @QueryParam("ticketId") String ticketId
     ) {
-        final ICredentialsProv prov = ICredentialsProv.get(req);
+        ICredentialsProv prov = ICredentialsProv.get(req);
+
+        Injector injector = CtxListener.getInjector(ctx);
 
-        if (!prov.hasAccess(srvId))
-            throw ServiceUnauthorizedException.noCreds(srvId);
+        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvCode, prov);
 
-        return CtxListener.getInjector(ctx)
+        return injector
             .getInstance(TcBotTriggerAndSignOffService.class)
-            .commentJiraEx(srvId, branchForTc, suiteId, ticketId, prov);
+            .commentJiraEx(srvCode, branchForTc, suiteId, ticketId, prov);
     }
 
     @GET
     @Path("integrationUrls")
     public Set<ServerIntegrationLinks> getIntegrationUrls(@NotNull @QueryParam("serverIds") String srvIds) {
-        final ICredentialsProv prov = ICredentialsProv.get(req);
+        ICredentialsProv prov = ICredentialsProv.get(req);
+
+        Injector injector = CtxListener.getInjector(ctx);
+
+        ITeamcityIgnitedProvider tcIgnProv = injector.getInstance(ITeamcityIgnitedProvider.class);
 
         String[] srvIds0 = srvIds.split(",");
 
         return Arrays.stream(srvIds0).map(srvId -> {
-            if (!prov.hasAccess(srvId))
+            if (!tcIgnProv.hasAccess(srvId, prov))
                 return null;
 
-            Injector injector = CtxListener.getInjector(ctx);
-
             IJiraIntegration jira = injector.getInstance(IJiraIntegrationProvider.class).server(srvId);
 
             IGitHubConnection gh = injector.getInstance(IGitHubConnectionProvider.class).server(srvId);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/CompareBuilds.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/CompareBuilds.java
index 531f9c9..ca86338 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/CompareBuilds.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/CompareBuilds.java
@@ -30,6 +30,7 @@ import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import org.apache.ignite.ci.tcbot.builds.CompareBuildsService;
+import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
 import org.apache.ignite.ci.util.Diff;
 import org.apache.ignite.ci.user.ICredentialsProv;
 import org.apache.ignite.ci.web.CtxListener;
@@ -116,14 +117,13 @@ public class CompareBuilds {
     }
 
     /** */
-    private List<String> tests(String srv, Integer buildId) {
+    private List<String> tests(String srvCode, Integer buildId) {
         Injector injector = CtxListener.getInjector(ctx);
-        CompareBuildsService compareBuildsSvc = injector.getInstance(CompareBuildsService.class);
-        final ICredentialsProv prov = ICredentialsProv.get(req);
 
-        if (!prov.hasAccess(srv))
-            throw ServiceUnauthorizedException.noCreds(srv);
+        ICredentialsProv prov = ICredentialsProv.get(req);
 
-        return compareBuildsSvc.tests0(srv, buildId, prov);
+        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvCode, prov);
+
+        return injector.getInstance(CompareBuildsService.class).tests0(srvCode, buildId, prov);
     }
 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
index eabf526..3ed0179 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
@@ -21,6 +21,8 @@ import com.google.common.collect.BiMap;
 import java.text.ParseException;
 
 import com.google.inject.Injector;
+import org.apache.ignite.ci.tcbot.conf.ITcBotConfig;
+import org.apache.ignite.ci.tcbot.conf.TcServerConfig;
 import org.apache.ignite.ci.tcbot.trends.MasterTrendsService;
 import org.apache.ignite.ci.teamcity.ignited.SyncMode;
 import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildCondition;
@@ -107,7 +109,7 @@ public class GetBuildTestFailures {
         return collectBuildCtxById(srvId, buildId, checkAllLogs, SyncMode.RELOAD_QUEUED);
     }
 
-    @NotNull public TestFailuresSummary collectBuildCtxById(@QueryParam("serverId") String srvId,
+    @NotNull public TestFailuresSummary collectBuildCtxById(@QueryParam("serverId") String srvCode,
         @QueryParam("buildId") Integer buildId,
         @QueryParam("checkAllLogs") @Nullable Boolean checkAllLogs, SyncMode syncMode) {
         final ICredentialsProv prov = ICredentialsProv.get(req);
@@ -119,11 +121,10 @@ public class GetBuildTestFailures {
         final TestFailuresSummary res = new TestFailuresSummary();
         final AtomicInteger runningUpdates = new AtomicInteger();
 
-        if(!prov.hasAccess(srvId))
-            throw ServiceUnauthorizedException.noCreds(srvId);
+        tcIgnitedProv.checkAccess(srvCode, prov);
 
-        IAnalyticsEnabledTeamcity teamcity = tcSrvProvider.server(srvId, prov);
-        ITeamcityIgnited tcIgnited = tcIgnitedProv.server(srvId, prov);
+        IAnalyticsEnabledTeamcity teamcity = tcSrvProvider.server(srvCode, prov);
+        ITeamcityIgnited tcIgnited = tcIgnitedProv.server(srvCode, prov);
 
         String failRateBranch = ITeamcity.DEFAULT;
 
@@ -138,7 +139,7 @@ public class GetBuildTestFailures {
             failRateBranch,
             syncMode);
 
-        final ChainAtServerCurrentStatus chainStatus = new ChainAtServerCurrentStatus(srvId, ctx.branchName());
+        final ChainAtServerCurrentStatus chainStatus = new ChainAtServerCurrentStatus(srvCode, ctx.branchName());
 
         int cnt = (int) ctx.getRunningUpdates().count();
         if (cnt > 0)
@@ -159,7 +160,7 @@ public class GetBuildTestFailures {
      * @param buildId Build id.
      * @param isValid Is valid.
      * @param field Field.
-     * @param serverId Server.
+     * @param srvIdOpt Server code (optional)
      */
     @GET
     @Path("condition")
@@ -167,45 +168,55 @@ public class GetBuildTestFailures {
         @QueryParam("buildId") Integer buildId,
         @QueryParam("isValid") Boolean isValid,
         @QueryParam("field") String field,
-        @QueryParam("serverId") String serverId) {
-        String srvId = isNullOrEmpty(serverId) ? "apache" : serverId;
+        @QueryParam("serverId") String srvIdOpt) {
+        Injector injector = CtxListener.getInjector(ctx);
+
+        String srvCode = isNullOrEmpty(srvIdOpt)
+            ? injector.getInstance(ITcBotConfig.class).primaryServerCode()
+            : srvIdOpt;
 
         if (buildId == null || isValid == null)
             return null;
 
-        final ICredentialsProv prov = ICredentialsProv.get(req);
+        ITeamcityIgnitedProvider tcIgnitedProv = injector.getInstance(ITeamcityIgnitedProvider.class);
 
-        if (!prov.hasAccess(srvId))
-            throw ServiceUnauthorizedException.noCreds(srvId);
+        ICredentialsProv prov = ICredentialsProv.get(req);
 
-        ITeamcityIgnitedProvider tcIgnitedProv = CtxListener.getInjector(ctx)
-            .getInstance(ITeamcityIgnitedProvider.class);
+        tcIgnitedProv.checkAccess(srvCode, prov);
 
-        ITeamcityIgnited ignited = tcIgnitedProv.server(srvId, prov);
+        ITeamcityIgnited tcIgn = tcIgnitedProv.server(srvCode, prov);
 
         BiMap<String, String> problemNames = BuildStatisticsSummary.fullProblemNames;
 
         BuildCondition buildCond =
             new BuildCondition(buildId, prov.getPrincipalId(), isValid, problemNames.getOrDefault(field, field));
 
-        return ignited.setBuildCondition(buildCond);
+        return tcIgn.setBuildCondition(buildCond);
     }
 
+    /**
+     * @param srvCode Server id.
+     * @param buildType Build type.
+     * @param branch Branch.
+     * @param sinceDate Since date.
+     * @param untilDate Until date.
+     * @param skipTests Skip tests.
+     */
     @GET
     @Path("history")
     public BuildsHistory getBuildsHistory(
-        @Nullable @QueryParam("server") String srvId,
+        @Nullable @QueryParam("server") String srvCode,
         @Nullable @QueryParam("buildType") String buildType,
         @Nullable @QueryParam("branch") String branch,
         @Nullable @QueryParam("sinceDate") String sinceDate,
         @Nullable @QueryParam("untilDate") String untilDate,
         @Nullable @QueryParam("skipTests") String skipTests)  throws ParseException {
 
-        final Injector injector = CtxListener.getInjector(ctx);
+        Injector injector = CtxListener.getInjector(ctx);
 
         BuildsHistory.Builder builder = new BuildsHistory.Builder()
             .branch(branch)
-            .server(srvId)
+            .server(srvCode)
             .buildType(buildType)
             .sinceDate(sinceDate)
             .untilDate(untilDate);
@@ -215,10 +226,9 @@ public class GetBuildTestFailures {
 
         BuildsHistory buildsHist = builder.build(injector);
 
-        final ICredentialsProv prov = ICredentialsProv.get(req);
+        ICredentialsProv prov = ICredentialsProv.get(req);
 
-        if (!prov.hasAccess(srvId))
-            throw ServiceUnauthorizedException.noCreds(srvId);
+        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvCode, prov);
 
         buildsHist.initialize(prov);
 
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
index e8a9202..04b2936 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java
@@ -31,6 +31,7 @@ import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor;
 import org.apache.ignite.ci.tcbot.conf.ITcBotConfig;
 import org.apache.ignite.ci.tcbot.visa.TcBotTriggerAndSignOffService;
 import org.apache.ignite.ci.tcmodel.mute.MuteInfo;
+import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
 import org.apache.ignite.ci.teamcity.ignited.SyncMode;
 import org.apache.ignite.ci.user.ICredentialsProv;
 import org.apache.ignite.ci.web.CtxListener;
@@ -140,31 +141,31 @@ public class GetTrackedBranchTestResults {
     }
 
     /**
-     * @param srvId Server id.
+     * @param srvCode Server id.
      * @param projectId Project id.
      * @return Mutes for given server-project pair.
      */
     @GET
     @Path("mutes")
     public Set<MuteInfo> mutes(
-        @Nullable @QueryParam("serverId") String srvId,
+        @Nullable @QueryParam("serverId") String srvCode,
         @Nullable @QueryParam("projectId") String projectId
     ) {
         ICredentialsProv creds = ICredentialsProv.get(req);
 
-        ITcBotConfig cfg = CtxListener.getInjector(ctx).getInstance(ITcBotConfig.class);
+        Injector injector = CtxListener.getInjector(ctx);
+        ITcBotConfig cfg = injector.getInstance(ITcBotConfig.class);
 
-        if (F.isEmpty(srvId))
-            srvId = cfg.primaryServerCode();
+        if (F.isEmpty(srvCode))
+            srvCode = cfg.primaryServerCode();
 
         if (F.isEmpty(projectId))
             projectId = DEFAULT_PROJECT_ID;
 
-        if (!creds.hasAccess(srvId))
-            throw ServiceUnauthorizedException.noCreds(srvId);
+        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvCode, creds);
 
-        return CtxListener.getInjector(ctx)
+        return injector
             .getInstance(TcBotTriggerAndSignOffService.class)
-            .getMutes(srvId, projectId, creds);
+            .getMutes(srvCode, projectId, creds);
     }
 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java
index a3d94cb..be40c29 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java
@@ -76,46 +76,46 @@ public class TcBotVisaService {
     }
 
     /**
-     * @param srvId Server id.
+     * @param srvCode Server id.
      * @return Contribution list for PRs and branches can be checked by TC bot.
      */
     @GET
     @Path("contributions")
-    public List<ContributionToCheck> contributions(@Nullable @QueryParam("serverId") String srvId) {
+    public List<ContributionToCheck> contributions(@Nullable @QueryParam("serverId") String srvCode) {
         ICredentialsProv credsProv = ICredentialsProv.get(req);
 
         Injector injector = CtxListener.getInjector(ctx);
 
-        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvId, credsProv);
+        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvCode, credsProv);
 
-        return injector.getInstance(TcBotTriggerAndSignOffService.class).getContributionsToCheck(srvId, credsProv);
+        return injector.getInstance(TcBotTriggerAndSignOffService.class).getContributionsToCheck(srvCode, credsProv);
     }
 
     @GET
     @Path("contributionStatus")
-    public Set<ContributionCheckStatus> contributionStatus(@Nullable @QueryParam("serverId") String srvId,
+    public Set<ContributionCheckStatus> contributionStatus(@Nullable @QueryParam("serverId") String srvCode,
         @QueryParam("prId") String prId) {
         ICredentialsProv prov = ICredentialsProv.get(req);
 
         Injector injector = CtxListener.getInjector(ctx);
 
-        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvId, prov);
+        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvCode, prov);
 
-        return injector.getInstance(TcBotTriggerAndSignOffService.class).contributionStatuses(srvId, prov, prId);
+        return injector.getInstance(TcBotTriggerAndSignOffService.class).contributionStatuses(srvCode, prov, prId);
     }
 
     @GET
     @Path("visaStatus")
-    public CurrentVisaStatus currentVisaStatus(@Nullable @QueryParam("serverId") String srvId,
+    public CurrentVisaStatus currentVisaStatus(@Nullable @QueryParam("serverId") String srvCode,
         @Nonnull @QueryParam("suiteId") String suiteId,
         @QueryParam("tcBranch") String tcBranch) {
+        Injector injector = CtxListener.getInjector(ctx);
+
         ICredentialsProv prov = ICredentialsProv.get(req);
-        if (!prov.hasAccess(srvId))
-            throw ServiceUnauthorizedException.noCreds(srvId);
 
-        TcBotTriggerAndSignOffService instance = CtxListener.getInjector(ctx)
-            .getInstance(TcBotTriggerAndSignOffService.class);
+        injector.getInstance(ITeamcityIgnitedProvider.class).checkAccess(srvCode, prov);
 
-        return instance.currentVisaStatus(srvId, prov, suiteId, tcBranch);
+        return injector.getInstance(TcBotTriggerAndSignOffService.class)
+            .currentVisaStatus(srvCode, prov, suiteId, tcBranch);
     }
 }
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedProviderMock.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedProviderMock.java
index d484a13..ca903b2 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedProviderMock.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedProviderMock.java
@@ -36,13 +36,13 @@ public class TeamcityIgnitedProviderMock implements ITeamcityIgnitedProvider {
     }
 
     /** {@inheritDoc} */
-    @Override public boolean hasAccess(String srvId, @Nullable ICredentialsProv prov) {
-        return prov.hasAccess(srvId);
+    @Override public boolean hasAccess(String srvCode, @Nullable ICredentialsProv prov) {
+        return prov.hasAccess(srvCode);
     }
 
     /** {@inheritDoc} */
-    @Override public ITeamcityIgnited server(String srvId, ICredentialsProv prov) {
-        final Map<Integer, FatBuildCompacted> integerFatBuildCompactedMap = tcBuildsData.get(srvId);
+    @Override public ITeamcityIgnited server(String srvCode, ICredentialsProv prov) {
+        final Map<Integer, FatBuildCompacted> integerFatBuildCompactedMap = tcBuildsData.get(srvCode);
 
         return TeamcityIgnitedMock.getMutableMapTeamcityIgnited(integerFatBuildCompactedMap, compactor);
     }