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/06/01 22:13:46 UTC
[ignite-teamcity-bot] branch master updated: TC Bot refactoring:
deprecated class usages 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 78f1b7b TC Bot refactoring: deprecated class usages removal
78f1b7b is described below
commit 78f1b7b87fb546dd5334a2f6198359b826ee1a47
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Sun Jun 2 01:13:40 2019 +0300
TC Bot refactoring: deprecated class usages removal
---
.../apache/ignite/ci/IgnitePersistentTeamcity.java | 9 +---
.../ignite/ci/jira/ignited/JiraIgnitedModule.java | 4 ++
.../org/apache/ignite/ci/jira/package-info.java | 2 +-
.../ignite/ci/tcbot/chain/BuildChainProcessor.java | 28 +++++-----
.../ignite/ci/tcbot/chain/PrChainsProcessor.java | 17 +++---
.../tcbot/chain/TrackedBranchChainsProcessor.java | 9 +---
.../ci/teamcity/ignited/ITeamcityIgnited.java | 9 +++-
.../ci/teamcity/ignited/TeamcityIgnitedImpl.java | 60 +++++++++++-----------
.../ci/teamcity/ignited/TeamcityIgnitedModule.java | 2 -
.../ci/teamcity/restcached/ITcServerProvider.java | 3 +-
.../restcached/TcServerCachingProvider.java | 7 +--
.../ci/web/model/current/SuiteCurrentStatus.java | 4 +-
.../ignite/ci/web/model/current/UpdateInfo.java | 11 ++--
.../org/apache/ignite/ci/web/rest/GetBuildLog.java | 47 +++++++----------
.../ignite/ci/web/rest/GetChainResultsAsHtml.java | 7 ++-
.../ci/web/rest/build/GetBuildTestFailures.java | 5 +-
.../ci/tcbot/chain/BuildChainProcessorTest.java | 10 ++--
.../ci/tcbot/chain/MockBasedTcBotModule.java | 3 --
.../org/apache/ignite/tcservice/ITeamcity.java | 4 +-
.../ignite/tcservice/IgniteTeamcityConnection.java | 4 --
20 files changed, 103 insertions(+), 142 deletions(-)
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
index cd20e73..76c93d0 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java
@@ -22,7 +22,6 @@ import java.util.List;
import java.util.Map;
import java.util.SortedSet;
import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
@@ -140,8 +139,8 @@ public class IgnitePersistentTeamcity implements IAnalyticsEnabledTeamcity, ITea
}
/** {@inheritDoc} */
- @Override public CompletableFuture<File> downloadBuildLogZip(int id) {
- return teamcity.downloadBuildLogZip(id);
+ @Override public CompletableFuture<File> downloadBuildLogZip(int buildId) {
+ return teamcity.downloadBuildLogZip(buildId);
}
/** {@inheritDoc} */
@@ -195,10 +194,6 @@ public class IgnitePersistentTeamcity implements IAnalyticsEnabledTeamcity, ITea
});
}
- public Executor getExecutor() {
- return this.teamcity.getExecutor();
- }
-
/** {@inheritDoc} */
@Override public void setExecutor(ExecutorService executor) {
this.teamcity.setExecutor(executor);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnitedModule.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnitedModule.java
index ef237d4..4126b58 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnitedModule.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnitedModule.java
@@ -17,6 +17,7 @@
package org.apache.ignite.ci.jira.ignited;
import com.google.inject.AbstractModule;
+import com.google.inject.internal.SingletonScope;
import org.apache.ignite.ci.jira.pure.JiraIntegrationModule;
/**
@@ -27,6 +28,9 @@ public class JiraIgnitedModule extends AbstractModule {
@Override protected void configure() {
bind(IJiraIgnitedProvider.class).to(JiraIgnitedProvider.class);
+ bind(JiraTicketDao.class).in(new SingletonScope());
+ bind(JiraTicketSync.class).in(new SingletonScope());
+
install(new JiraIntegrationModule());
}
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/package-info.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/package-info.java
index 4a7ae03..f7c4ecf 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/package-info.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/package-info.java
@@ -16,7 +16,7 @@
*/
/**
- * This package is inteneded for interacting with Jira servers. It contains classes which is needed for injection Jira
+ * This package is intended for interacting with Jira servers. It contains classes which is needed for injection Jira
* integration service instance via Guice. And interfaces and classes which provide specified functionality.
*/
package org.apache.ignite.ci.jira;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java
index 4c0c342..40c4f15 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java
@@ -134,7 +134,6 @@ public class BuildChainProcessor {
}
/**
- * @param teamcity Teamcity.
* @param tcIgn Teamcity Ignited.
* @param entryPoints Entry point(s): Build(s) to start scan from.
* @param includeLatestRebuild Include latest rebuild.
@@ -145,14 +144,13 @@ public class BuildChainProcessor {
*/
@AutoProfiling
public FullChainRunCtx loadFullChainContext(
- IAnalyticsEnabledTeamcity teamcity,
- ITeamcityIgnited tcIgn,
- Collection<Integer> entryPoints,
- LatestRebuildMode includeLatestRebuild,
- ProcessLogsMode procLog,
- boolean includeScheduledInfo,
- @Nullable String failRateBranch,
- SyncMode mode) {
+ ITeamcityIgnited tcIgn,
+ Collection<Integer> entryPoints,
+ LatestRebuildMode includeLatestRebuild,
+ ProcessLogsMode procLog,
+ boolean includeScheduledInfo,
+ @Nullable String failRateBranch,
+ SyncMode mode) {
if (entryPoints.isEmpty())
return new FullChainRunCtx(Build.createFakeStub());
@@ -190,7 +188,7 @@ public class BuildChainProcessor {
buildsForSuite.forEach(buildCompacted -> ctx.addBuild(loadChanges(buildCompacted, tcIgn)));
- analyzeTests(ctx, teamcity, procLog);
+ analyzeTests(ctx, tcIgn, procLog);
fillBuildCounts(ctx, tcIgn, includeScheduledInfo);
@@ -364,8 +362,8 @@ public class BuildChainProcessor {
@SuppressWarnings("WeakerAccess")
@AutoProfiling
- protected void analyzeTests(MultBuildRunCtx outCtx, ITeamcity teamcity,
- ProcessLogsMode procLog) {
+ protected void analyzeTests(MultBuildRunCtx outCtx, ITeamcityIgnited teamcity,
+ ProcessLogsMode procLog) {
for (SingleBuildRunCtx ctx : outCtx.getBuilds()) {
if ((procLog == ProcessLogsMode.SUITE_NOT_COMPLETE && ctx.hasSuiteIncompleteFailure())
|| procLog == ProcessLogsMode.ALL)
@@ -373,7 +371,7 @@ public class BuildChainProcessor {
}
}
- private CompletableFuture<LogCheckTask> checkBuildLogNoCache(ITeamcity teamcity, int buildId, ISuiteResults ctx) {
+ private CompletableFuture<LogCheckTask> checkBuildLogNoCache(ITeamcityIgnited teamcity, int buildId, ISuiteResults ctx) {
final CompletableFuture<File> zipFut = teamcity.downloadBuildLogZip(buildId);
boolean dumpLastTest = ctx.hasSuiteIncompleteFailure();
@@ -381,7 +379,7 @@ public class BuildChainProcessor {
return null;
return zipFut.thenApplyAsync(zipFile -> runCheckForZippedLog(dumpLastTest, zipFile),
- teamcity.getExecutor());
+ tcUpdatePool.getService());
}
@@ -419,7 +417,7 @@ public class BuildChainProcessor {
//todo implement persistent cache for build results
@AutoProfiling
- public CompletableFuture<LogCheckResult> analyzeBuildLog(ITeamcity teamcity, Integer buildId, SingleBuildRunCtx ctx) {
+ public CompletableFuture<LogCheckResult> analyzeBuildLog(ITeamcityIgnited teamcity, Integer buildId, SingleBuildRunCtx ctx) {
final Stopwatch started = Stopwatch.createStarted();
CompletableFuture<LogCheckTask> fut = buildLogProcessingRunning.computeIfAbsent(buildId,
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
index 2e183b0..1e5f8e1 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
@@ -58,9 +58,6 @@ public class PrChainsProcessor {
@Inject private BuildChainProcessor buildChainProcessor;
/** Tc server provider. */
- @Inject private ITcServerProvider tcSrvProvider;
-
- /** Tc server provider. */
@Inject private ITeamcityIgnitedProvider tcIgnitedProvider;
/** */
@@ -100,14 +97,13 @@ public class PrChainsProcessor {
final AtomicInteger runningUpdates = new AtomicInteger();
//using here non persistent TC allows to skip update statistic
- IAnalyticsEnabledTeamcity teamcity = tcSrvProvider.server(srvCode, creds);
ITeamcityIgnited tcIgnited = tcIgnitedProvider.server(srvCode, creds);
IGitHubConnIgnited gitHubConnIgnited = gitHubConnIgnitedProvider.server(srvCode);
IJiraIgnited jiraIntegration = jiraIgnProv.server(srvCode);
- res.setJavaFlags(teamcity, gitHubConnIgnited, jiraIntegration);
+ res.setJavaFlags(gitHubConnIgnited, jiraIntegration);
LatestRebuildMode rebuild;
if (FullQueryParams.HISTORY.equals(act))
@@ -135,8 +131,8 @@ public class PrChainsProcessor {
String baseBranch = Strings.isNullOrEmpty(baseBranchForTc) ? ITeamcity.DEFAULT : baseBranchForTc;
- final FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(teamcity,
- tcIgnited,
+ final FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(
+ tcIgnited,
hist,
rebuild,
logs,
@@ -144,7 +140,7 @@ public class PrChainsProcessor {
baseBranch,
mode);
- final ChainAtServerCurrentStatus chainStatus = new ChainAtServerCurrentStatus(teamcity.serverCode(), branchForTc);
+ final ChainAtServerCurrentStatus chainStatus = new ChainAtServerCurrentStatus(tcIgnited.serverCode(), branchForTc);
chainStatus.baseBranchForTc = baseBranch;
@@ -187,15 +183,14 @@ public class PrChainsProcessor {
public List<SuiteCurrentStatus> getBlockersSuitesStatuses(String buildTypeId, String branchForTc, String srvId,
ICredentialsProv prov, SyncMode syncMode) {
//using here non persistent TC allows to skip update statistic
- IAnalyticsEnabledTeamcity teamcity = tcSrvProvider.server(srvId, prov);
ITeamcityIgnited tcIgnited = tcIgnitedProvider.server(srvId, prov);
List<Integer> hist = tcIgnited.getLastNBuildsFromHistory(buildTypeId, branchForTc, 1);
String baseBranch = ITeamcity.DEFAULT;
- final FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(teamcity,
- tcIgnited,
+ final FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(
+ tcIgnited,
hist,
LatestRebuildMode.LATEST,
ProcessLogsMode.SUITE_NOT_COMPLETE,
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
index b1b2693..d0ad75f 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java
@@ -46,9 +46,6 @@ import static com.google.common.base.Strings.isNullOrEmpty;
* Process failures for some setup tracked branch, which may be triggered/monitored by TC Bot.
*/
public class TrackedBranchChainsProcessor {
- /** TC Server prov. */
- @Inject private ITcServerProvider srvProv;
-
/** TC ignited server provider. */
@Inject private ITeamcityIgnitedProvider tcIgnitedProv;
@@ -90,8 +87,6 @@ public class TrackedBranchChainsProcessor {
chainStatus.baseBranchForTc = baseBranchTc;
- IAnalyticsEnabledTeamcity teamcity = srvProv.server(srvId, creds);
-
ITeamcityIgnited tcIgnited = tcIgnitedProv.server(srvId, creds);
String suiteIdMandatory = chainTracked.getSuiteIdMandatory();
@@ -108,8 +103,8 @@ public class TrackedBranchChainsProcessor {
boolean includeScheduled = buildResMergeCnt == 1;
- final FullChainRunCtx ctx = chainProc.loadFullChainContext(teamcity,
- tcIgnited,
+ final FullChainRunCtx ctx = chainProc.loadFullChainContext(
+ tcIgnited,
chains,
rebuild,
logs,
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
index c76279f..e9d0c7c 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java
@@ -17,12 +17,15 @@
package org.apache.ignite.ci.teamcity.ignited;
import com.google.common.base.Strings;
+
+import java.io.File;
import java.util.Collection;
import java.util.Date;
import java.util.Map;
import java.util.List;
import java.util.Optional;
import java.util.Set;
+import java.util.concurrent.CompletableFuture;
import javax.annotation.Nullable;
import org.apache.ignite.ci.analysis.SuiteInBranch;
import org.apache.ignite.ci.analysis.TestInBranch;
@@ -44,9 +47,9 @@ import org.jetbrains.annotations.NotNull;
*/
public interface ITeamcityIgnited {
/**
- * @return Internal server ID as string
+ * @return Internal serverID (Code) as string
*/
- public String serverId();
+ public String serverCode();
/**
* @return TeamCity configuration.
@@ -250,4 +253,6 @@ public interface ITeamcityIgnited {
return null;
}
+
+ CompletableFuture<File> downloadBuildLogZip(int buildId);
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java
index 3cde6b8..162f6dd 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java
@@ -18,45 +18,17 @@ package org.apache.ignite.ci.teamcity.ignited;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.OptionalInt;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
-import javax.annotation.Nullable;
-import javax.inject.Inject;
-import org.apache.ignite.tcservice.ITeamcity;
import org.apache.ignite.ci.analysis.SuiteInBranch;
import org.apache.ignite.ci.analysis.TestInBranch;
-import org.apache.ignite.tcbot.common.interceptor.AutoProfiling;
import org.apache.ignite.ci.di.MonitoredTask;
import org.apache.ignite.ci.di.cache.GuavaCached;
import org.apache.ignite.ci.di.scheduler.IScheduler;
-import org.apache.ignite.tcbot.common.conf.ITcServerConfig;
import org.apache.ignite.ci.tcbot.trends.MasterTrendsService;
-import org.apache.ignite.tcservice.model.agent.Agent;
-import org.apache.ignite.tcservice.model.conf.Project;
-import org.apache.ignite.tcservice.model.hist.BuildRef;
-import org.apache.ignite.tcservice.model.mute.MuteInfo;
-import org.apache.ignite.tcservice.model.result.Build;
import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildCondition;
import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildConditionDao;
import org.apache.ignite.ci.teamcity.ignited.buildref.BuildRefDao;
import org.apache.ignite.ci.teamcity.ignited.buildref.BuildRefSync;
-import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeCompacted;
-import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeDao;
-import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefCompacted;
-import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefDao;
-import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeSync;
+import org.apache.ignite.ci.teamcity.ignited.buildtype.*;
import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted;
import org.apache.ignite.ci.teamcity.ignited.change.ChangeDao;
import org.apache.ignite.ci.teamcity.ignited.change.ChangeSync;
@@ -67,12 +39,29 @@ import org.apache.ignite.ci.teamcity.ignited.mute.MuteDao;
import org.apache.ignite.ci.teamcity.ignited.mute.MuteSync;
import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompactedDao;
import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync;
-import org.apache.ignite.tcservice.ITeamcityConn;
import org.apache.ignite.ci.user.ICredentialsProv;
+import org.apache.ignite.tcbot.common.conf.ITcServerConfig;
+import org.apache.ignite.tcbot.common.interceptor.AutoProfiling;
+import org.apache.ignite.tcservice.ITeamcity;
+import org.apache.ignite.tcservice.ITeamcityConn;
+import org.apache.ignite.tcservice.model.agent.Agent;
+import org.apache.ignite.tcservice.model.conf.Project;
+import org.apache.ignite.tcservice.model.hist.BuildRef;
+import org.apache.ignite.tcservice.model.mute.MuteInfo;
+import org.apache.ignite.tcservice.model.result.Build;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.annotation.Nullable;
+import javax.inject.Inject;
+import java.io.File;
+import java.util.*;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
+
import static org.apache.ignite.tcservice.model.hist.BuildRef.STATUS_UNKNOWN;
/**
@@ -175,7 +164,7 @@ public class TeamcityIgnitedImpl implements ITeamcityIgnited {
}
/** {@inheritDoc} */
- @Override public String serverId() {
+ @Override public String serverCode() {
return srvCode;
}
@@ -430,6 +419,15 @@ public class TeamcityIgnitedImpl implements ITeamcityIgnited {
return conn.agents(connected, authorized);
}
+ @Override
+ @Deprecated
+ public CompletableFuture<File> downloadBuildLogZip(int buildId) {
+ if (conn instanceof ITeamcity)
+ return ((ITeamcity) conn).downloadBuildLogZip(buildId);
+
+ return null;
+ }
+
/** {@inheritDoc} */
@Override public List<String> getCompositeBuildTypesIdsSortedByBuildNumberCounter(String projectId) {
return buildTypeSync.getCompositeBuildTypesIdsSortedByBuildNumberCounter(srvIdMaskHigh, projectId, conn);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java
index 281dc0b..1c0e2f8 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java
@@ -62,8 +62,6 @@ public class TeamcityIgnitedModule extends AbstractModule {
bind(RunHistSync.class).in(new SingletonScope());
bind(MuteDao.class).in(new SingletonScope());
bind(MuteSync.class).in(new SingletonScope());
- bind(JiraTicketDao.class).in(new SingletonScope());
- bind(JiraTicketSync.class).in(new SingletonScope());
bind(IStringCompactor.class).to(IgniteStringCompactor.class).in(new SingletonScope());
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/ITcServerProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/ITcServerProvider.java
index 9b8cbe0..4b785b7 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/ITcServerProvider.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/ITcServerProvider.java
@@ -18,6 +18,7 @@ package org.apache.ignite.ci.teamcity.restcached;
import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
import org.apache.ignite.ci.user.ICredentialsProv;
+import org.apache.ignite.tcservice.ITeamcity;
import javax.annotation.Nullable;
@@ -29,5 +30,5 @@ public interface ITcServerProvider {
* @param srvId Server id.
* @param prov Prov.
*/
- public IAnalyticsEnabledTeamcity server(String srvId, @Nullable ICredentialsProv prov);
+ public ITeamcity server(String srvId, @Nullable ICredentialsProv prov);
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcServerCachingProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcServerCachingProvider.java
index e4c1715..c36debb 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcServerCachingProvider.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcServerCachingProvider.java
@@ -22,6 +22,7 @@ import com.google.common.cache.CacheBuilder;
import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
import org.apache.ignite.ci.user.ICredentialsProv;
import org.apache.ignite.tcbot.common.exeption.ExceptionUtil;
+import org.apache.ignite.tcservice.ITeamcity;
import javax.annotation.Nullable;
import javax.inject.Inject;
@@ -37,7 +38,7 @@ class TcServerCachingProvider implements ITcServerProvider {
private ITcServerFactory srvFactory;
/** Servers. */
- private final Cache<String, IAnalyticsEnabledTeamcity> srvs
+ private final Cache<String, ITeamcity> srvs
= CacheBuilder.newBuilder()
.maximumSize(100)
.expireAfterAccess(16, TimeUnit.MINUTES)
@@ -45,12 +46,12 @@ class TcServerCachingProvider implements ITcServerProvider {
.build();
/** {@inheritDoc} */
- @Override public IAnalyticsEnabledTeamcity server(String srvId, @Nullable ICredentialsProv prov) {
+ @Override public ITeamcity server(String srvId, @Nullable ICredentialsProv prov) {
String fullKey = Strings.nullToEmpty(prov == null ? null : prov.getUser(srvId)) + ":" + Strings.nullToEmpty(srvId);
try {
return srvs.get(fullKey, () -> {
- IAnalyticsEnabledTeamcity teamcity = srvFactory.createServer(srvId);
+ ITeamcity teamcity = srvFactory.createServer(srvId);
if (prov != null) {
final String user = prov.getUser(srvId);
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
index 6998a80..876cddb 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
@@ -217,14 +217,14 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
suite.getBuildsWithThreadDump().forEach(buildId -> {
webUrlThreadDump = "/rest/" + GetBuildLog.GET_BUILD_LOG + "/" + GetBuildLog.THREAD_DUMP
- + "?" + GetBuildLog.SERVER_ID + "=" + tcIgnited.serverId()
+ + "?" + GetBuildLog.SERVER_ID + "=" + tcIgnited.serverCode()
+ "&" + GetBuildLog.BUILD_NO + "=" + buildId
+ "&" + GetBuildLog.FILE_IDX + "=" + -1;
});
runningBuildCount = suite.runningBuildCount();
queuedBuildCount = suite.queuedBuildCount();
- serverId = tcIgnited.serverId();
+ serverId = tcIgnited.serverCode();
this.suiteId = suite.suiteId();
branchName = branchForLink(suite.branchName());
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/UpdateInfo.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/UpdateInfo.java
index 2df1fd1..240e704 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/UpdateInfo.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/UpdateInfo.java
@@ -17,7 +17,6 @@
package org.apache.ignite.ci.web.model.current;
-import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited;
import org.apache.ignite.ci.jira.ignited.IJiraIgnited;
@@ -52,15 +51,13 @@ import org.apache.ignite.ci.jira.ignited.IJiraIgnited;
}
/**
- * @param teamcity TeamCity to get info about tokens.
* @param gitHubConn GitHub integration associated with this server.
* @param jiraIntegration JIRA Integration
*/
- public void setJavaFlags(IAnalyticsEnabledTeamcity teamcity,
- IGitHubConnIgnited gitHubConn,
- IJiraIgnited jiraIntegration) {
- if (teamcity.isTeamCityTokenAvailable())
- javaFlags |= TEAMCITY_FLAG;
+ public void setJavaFlags(IGitHubConnIgnited gitHubConn,
+ IJiraIgnited jiraIntegration) {
+ //since user has logged in, TC flag should be set
+ javaFlags |= TEAMCITY_FLAG;
if (gitHubConn.config().isGitTokenAvailable())
javaFlags |= GITHUB_FLAG;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetBuildLog.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetBuildLog.java
index 03e00fb..232ba22 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetBuildLog.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetBuildLog.java
@@ -17,13 +17,11 @@
package org.apache.ignite.ci.web.rest;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
+import org.apache.ignite.ci.ITcAnalytics;
+import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider;
+import org.apache.ignite.ci.web.CtxListener;
+import org.apache.ignite.tcservice.ITeamcity;
+
import javax.annotation.security.PermitAll;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
@@ -35,9 +33,9 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
-import org.apache.ignite.ci.ITcAnalytics;
-import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider;
-import org.apache.ignite.ci.web.CtxListener;
+import java.io.BufferedWriter;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
/**
* Build log download, now provides thread dumps
@@ -67,10 +65,17 @@ public class GetBuildLog {
@QueryParam(BUILD_NO) Integer buildNo) {
ITcServerProvider helper = CtxListener.getInjector(ctx).getInstance(ITcServerProvider.class);
- ITcAnalytics srv = helper.server(srvId, null);
- String cached = srv.getThreadDumpCached(buildNo);
+ final ITeamcity server = helper.server(srvId, null);
+
+ //todo bad code
+ if(server instanceof ITcAnalytics) {
+ ITcAnalytics srv = (ITcAnalytics) server;
+ String cached = srv.getThreadDumpCached(buildNo);
+ return sendString(cached);
+ }
+
+ return sendString("Invalid class" + server.getClass());
- return sendString(cached);
}
private Response sendString(String data) {
@@ -82,20 +87,4 @@ public class GetBuildLog {
return Response.ok(stream).build();
}
- private Response sendFile(File file) {
- final StreamingOutput stream = os -> {
- Writer writer = new BufferedWriter(new OutputStreamWriter(os));
-
- try (BufferedReader reader = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)){
- String line;
- while ((line = reader.readLine()) != null) {
- writer.write(line);
- writer.write("\n");
- }
- writer.flush();
- }
- };
- return Response.ok(stream).build();
- }
-
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java
index 58ea700..9a8acd6 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java
@@ -75,11 +75,10 @@ public class GetChainResultsAsHtml {
ITcServerProvider tcHelper = injector.getInstance(ITcServerProvider.class);
final ICredentialsProv creds = ICredentialsProv.get(req);
- IAnalyticsEnabledTeamcity teamcity = tcHelper.server(srvId, creds);
ITeamcityIgnited tcIgn = injector.getInstance(ITeamcityIgnitedProvider.class).server(srvId, creds);
- final FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(teamcity,
- tcIgn,
+ final FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(
+ tcIgn,
Collections.singletonList(buildId),
LatestRebuildMode.NONE,
ProcessLogsMode.SUITE_NOT_COMPLETE,
@@ -87,7 +86,7 @@ public class GetChainResultsAsHtml {
failRateBranch,
SyncMode.RELOAD_QUEUED);
- ChainAtServerCurrentStatus status = new ChainAtServerCurrentStatus(tcIgn.serverId(), ctx.branchName());
+ ChainAtServerCurrentStatus status = new ChainAtServerCurrentStatus(tcIgn.serverCode(), ctx.branchName());
ctx.getRunningUpdates().forEach(FutureUtil::getResultSilent);
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 7d3f55d..2afb63d 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
@@ -123,15 +123,14 @@ public class GetBuildTestFailures {
tcIgnitedProv.checkAccess(srvCode, prov);
- IAnalyticsEnabledTeamcity teamcity = tcSrvProvider.server(srvCode, prov);
ITeamcityIgnited tcIgnited = tcIgnitedProv.server(srvCode, prov);
String failRateBranch = ITeamcity.DEFAULT;
ProcessLogsMode procLogs = (checkAllLogs != null && checkAllLogs) ? ProcessLogsMode.ALL : ProcessLogsMode.SUITE_NOT_COMPLETE;
- final FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(teamcity,
- tcIgnited,
+ final FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(
+ tcIgnited,
Collections.singletonList(buildId),
LatestRebuildMode.NONE,
procLogs,
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessorTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessorTest.java
index 75cb7e3..324bc90 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessorTest.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessorTest.java
@@ -87,7 +87,7 @@ public class BuildChainProcessorTest {
ITeamcityIgnited tcIgnited = tcIgnitedMock(builds);
- FullChainRunCtx ctx = bcp.loadFullChainContext(tcOldMock(), tcIgnited,
+ FullChainRunCtx ctx = bcp.loadFullChainContext(tcIgnited,
entry,
LatestRebuildMode.ALL, ProcessLogsMode.SUITE_NOT_COMPLETE, false, ITeamcity.DEFAULT, SyncMode.NONE);
List<MultBuildRunCtx> suites = ctx.failedChildSuites().collect(Collectors.toList());
@@ -123,7 +123,7 @@ public class BuildChainProcessorTest {
builds.put(pds1.id(), pds1);
}
- FullChainRunCtx ctx2 = bcp.loadFullChainContext(tcOldMock(), tcIgnited,
+ FullChainRunCtx ctx2 = bcp.loadFullChainContext(tcIgnited,
entry,
LatestRebuildMode.ALL, ProcessLogsMode.SUITE_NOT_COMPLETE, false, ITeamcity.DEFAULT, SyncMode.NONE);
List<MultBuildRunCtx> suites2 = ctx2.failedChildSuites().collect(Collectors.toList());
@@ -153,7 +153,7 @@ public class BuildChainProcessorTest {
List<Integer> entry = Lists.newArrayList();
addTestBuild(c, builds, entry, 0);
- FullChainRunCtx ctx = bcp.loadFullChainContext(tcOldMock(), tcIgnitedMock(builds),
+ FullChainRunCtx ctx = bcp.loadFullChainContext(tcIgnitedMock(builds),
entry,
LatestRebuildMode.LATEST, ProcessLogsMode.SUITE_NOT_COMPLETE, false, ITeamcity.DEFAULT, SyncMode.NONE);
List<MultBuildRunCtx> suites = ctx.failedChildSuites().collect(Collectors.toList());
@@ -196,10 +196,6 @@ public class BuildChainProcessorTest {
builds.put(pds2.id(), pds2);
}
- @NotNull public static IAnalyticsEnabledTeamcity tcOldMock() {
- return Mockito.mock(IAnalyticsEnabledTeamcity.class);
- }
-
@NotNull public ITeamcityIgnited tcIgnitedMock(Map<Integer, FatBuildCompacted> builds) {
return TeamcityIgnitedMock.getMutableMapTeamcityIgnited(builds,
injector.getInstance(IStringCompactor.class));
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
index a9147d7..8bb49f7 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
@@ -89,9 +89,6 @@ public class MockBasedTcBotModule extends AbstractModule {
final ITcServerProvider tcSrvOldProv = Mockito.mock(ITcServerProvider.class);
- final IAnalyticsEnabledTeamcity tcOld = BuildChainProcessorTest.tcOldMock();
- when(tcSrvOldProv.server(anyString(), any(ICredentialsProv.class))).thenReturn(tcOld);
-
bind(ITcServerProvider.class).toInstance(tcSrvOldProv);
final ITcBotConfig cfg = new ITcBotConfig() {
diff --git a/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcity.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcity.java
index 787b257..a7cdd42 100644
--- a/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcity.java
+++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcity.java
@@ -53,12 +53,10 @@ public interface ITeamcity extends ITeamcityConn {
/** Fake property for addressing 'Suite Name'. */
public String SUITE_NAME_PROPERTY = "_suiteName";
- CompletableFuture<File> downloadBuildLogZip(int id);
+ CompletableFuture<File> downloadBuildLogZip(int buildId);
void setExecutor(ExecutorService pool);
- Executor getExecutor();
-
/**
* @param tok TeamCity authorization token.
diff --git a/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/IgniteTeamcityConnection.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/IgniteTeamcityConnection.java
index af8cbac..3fe1e9b 100644
--- a/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/IgniteTeamcityConnection.java
+++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/IgniteTeamcityConnection.java
@@ -88,10 +88,6 @@ public class IgniteTeamcityConnection implements ITeamcity {
private String srvCode;
- public Executor getExecutor() {
- return executor;
- }
-
public void init(@Nullable String srvCode) {
this.srvCode = srvCode;