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()

Reply via email to