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);
}