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 ec5e950 IGNITE-9521: Remove duplicates in branch selection in the bot
ec5e950 is described below
commit ec5e9507ad32b1502965a1bff136cd7cdf68407f
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Mon Sep 10 20:36:03 2018 +0300
IGNITE-9521: Remove duplicates in branch selection in the bot
---
.../org/apache/ignite/ci/conf/BranchesTracked.java | 7 +++--
.../org/apache/ignite/ci/conf/ChainAtServer.java | 33 +++++++--------------
.../ignite/ci/conf/ChainAtServerTracked.java | 34 ++++++++++++++++++++--
.../org/apache/ignite/ci/web/model/Version.java | 2 +-
.../ignite/ci/web/rest/GetTrackedBranches.java | 27 ++++++++---------
5 files changed, 59 insertions(+), 44 deletions(-)
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/BranchesTracked.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/BranchesTracked.java
index 6bf2d50..af02282 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/BranchesTracked.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/BranchesTracked.java
@@ -37,8 +37,11 @@ public class BranchesTracked {
return
branches.stream().map(BranchTracked::getId).collect(Collectors.toList());
}
- public Set<ChainAtServer> chainAtServers() {
- return
branches.stream().flatMap(BranchTracked::getChainsStream).collect(Collectors.toSet());
+ public Set<ChainAtServer> getSuitesUnique() {
+ return branches.stream()
+ .flatMap(BranchTracked::getChainsStream)
+ .map(ChainAtServer::new) // to produce object with another equals
+ .collect(Collectors.toSet());
}
public Optional<BranchTracked> get(String branch) {
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/ChainAtServer.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/ChainAtServer.java
index 12a5b96..fc61c75 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/ChainAtServer.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/ChainAtServer.java
@@ -22,7 +22,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
/**
- *
+ * Pair of serverId and suiteId.
*/
@SuppressWarnings("PublicField")
public class ChainAtServer {
@@ -32,11 +32,14 @@ public class ChainAtServer {
/** Suite identifier by teamcity identification for root chain. */
@Nonnull public String suiteId;
- /** Automatic build triggering. */
- @Nullable private Boolean triggerBuild;
+ public ChainAtServer() {
+
+ }
- /** Automatic build triggering quiet period in minutes. */
- @Nullable private Integer triggerBuildQuietPeriod;
+ public ChainAtServer(ChainAtServer o) {
+ this.serverId = o.serverId;
+ this.suiteId = o.suiteId;
+ }
/** {@inheritDoc} */
@Override public boolean equals(Object o) {
@@ -49,14 +52,12 @@ public class ChainAtServer {
ChainAtServer srv = (ChainAtServer)o;
return Objects.equals(serverId, srv.serverId) &&
- Objects.equals(suiteId, srv.suiteId) &&
- Objects.equals(triggerBuild, srv.triggerBuild) &&
- Objects.equals(triggerBuildQuietPeriod,
srv.triggerBuildQuietPeriod);
+ Objects.equals(suiteId, srv.suiteId);
}
/** {@inheritDoc} */
@Override public int hashCode() {
- return Objects.hash(serverId, suiteId, triggerBuild,
triggerBuildQuietPeriod);
+ return Objects.hash(serverId, suiteId);
}
/**
@@ -65,18 +66,4 @@ public class ChainAtServer {
@Nullable public String getServerId() {
return serverId;
}
-
- /**
- * @return {@code True} If automatic build triggering enabled.
- */
- public boolean isTriggerBuild() {
- return triggerBuild == null ? false : triggerBuild;
- }
-
- /**
- * @return Quiet period in minutes between triggering builds or zero if
period is not set and should be ignored.
- */
- public int getTriggerBuildQuietPeriod() {
- return triggerBuildQuietPeriod == null ? 0 : triggerBuildQuietPeriod;
- }
}
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/ChainAtServerTracked.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/ChainAtServerTracked.java
index 61295ab..1b43143 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/ChainAtServerTracked.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/conf/ChainAtServerTracked.java
@@ -19,18 +19,26 @@ package org.apache.ignite.ci.conf;
import java.util.Objects;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import static com.google.common.base.Preconditions.checkState;
import static com.google.common.base.Strings.isNullOrEmpty;
/**
- * Chain execution result on particular TC server.
+ * Chain on particular TC server, which is tracked by the Bot.
*/
@SuppressWarnings("PublicField")
public class ChainAtServerTracked extends ChainAtServer {
/** Branch identifier by TC identification for REST api */
@Nonnull public String branchForRest;
+ /** Automatic build triggering. */
+ @Nullable private Boolean triggerBuild;
+
+ /** Automatic build triggering quiet period in minutes. */
+ @Nullable private Integer triggerBuildQuietPeriod;
+
+
/** @return {@link #suiteId} */
@Nonnull public String getSuiteIdMandatory() {
checkState(!isNullOrEmpty(suiteId), "Invalid config: suiteId should be
filled " + this);
@@ -50,16 +58,36 @@ public class ChainAtServerTracked extends ChainAtServer {
@Override public boolean equals(Object o) {
if (this == o)
return true;
+
if (o == null || getClass() != o.getClass())
return false;
+
if (!super.equals(o))
return false;
+
ChainAtServerTracked tracked = (ChainAtServerTracked)o;
- return Objects.equals(branchForRest, tracked.branchForRest);
+
+ return Objects.equals(branchForRest, tracked.branchForRest) &&
+ Objects.equals(triggerBuild, tracked.triggerBuild) &&
+ Objects.equals(triggerBuildQuietPeriod,
tracked.triggerBuildQuietPeriod);
}
/** {@inheritDoc} */
@Override public int hashCode() {
- return Objects.hash(super.hashCode(), branchForRest);
+ return Objects.hash(super.hashCode(), branchForRest, triggerBuild,
triggerBuildQuietPeriod);
+ }
+
+ /**
+ * @return {@code True} If automatic build triggering enabled.
+ */
+ public boolean isTriggerBuild() {
+ return triggerBuild == null ? false : triggerBuild;
+ }
+
+ /**
+ * @return Quiet period in minutes between triggering builds or zero if
period is not set and should be ignored.
+ */
+ public int getTriggerBuildQuietPeriod() {
+ return triggerBuildQuietPeriod == null ? 0 : triggerBuildQuietPeriod;
}
}
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 c19e7f4..fd1c903 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
@@ -22,7 +22,7 @@ package org.apache.ignite.ci.web.model;
public static final String DEFAULT_CONTACT = "[email protected]";
/** TC Helper Version. */
- public String version = "20180823";
+ public String version = "20180910";
/** Ignite version. */
public String ignVer;
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 5fc3dfe..f44ae92 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
@@ -36,48 +36,45 @@ import org.apache.ignite.ci.web.model.Version;
import org.apache.ignite.lang.IgniteProductVersion;
/**
- * Created by Дмитрий on 05.11.2017.
+ * Service for returning tracked branches, servers, and the bot version.
*/
-
@Path("branches")
@Produces(MediaType.APPLICATION_JSON)
public class GetTrackedBranches {
-
@Context
- private ServletContext context;
+ private ServletContext ctx;
@Context
- private HttpServletRequest request;
+ private HttpServletRequest req;
@GET
@Path("version")
@PermitAll
public Version version() {
- Version version = new Version();
+ Version ver = new Version();
- IgniteProductVersion ignProdVer =
CtxListener.getIgnite(context).version();
+ IgniteProductVersion ignProdVer = CtxListener.getIgnite(ctx).version();
- String ignVer = ignProdVer.major() + "." + ignProdVer.minor() + "." +
ignProdVer.maintenance();
+ ver.ignVer = ignProdVer.major() + "." + ignProdVer.minor() + "." +
ignProdVer.maintenance();
- version.ignVer = ignVer;
- version.ignVerFull = ignProdVer.toString();
+ ver.ignVerFull = ignProdVer.toString();
- return version;
+ return ver;
}
@GET
@Path("getIds")
public List<String> getIds() {
- return CtxListener.getTcHelper(context).getTrackedBranchesIds();
+ return CtxListener.getTcHelper(ctx).getTrackedBranchesIds();
}
@GET
@Path("suites")
public Set<ChainAtServer> getSuites() {
- final ICredentialsProv prov = ICredentialsProv.get(request);
+ final ICredentialsProv prov = ICredentialsProv.get(req);
return HelperConfig.getTrackedBranches()
- .chainAtServers()
+ .getSuitesUnique()
.stream()
.filter(chainAtServer ->
prov.hasAccess(chainAtServer.serverId))
.collect(Collectors.toSet());
@@ -86,7 +83,7 @@ public class GetTrackedBranches {
@GET
@Path("getServerIds")
public Set<String> getServerIds() {
- final ICredentialsProv prov = ICredentialsProv.get(request);
+ final ICredentialsProv prov = ICredentialsProv.get(req);
return HelperConfig.getTrackedBranches()
.getServerIds()