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

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


The following commit(s) were added to refs/heads/ignite-9848-3 by this push:
     new d19262f  IGNITE-9848: Background upload of all builds from TC to the 
bot DB
d19262f is described below

commit d19262faf99f52645dbaf751f95f76c3e5c80fe5
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Mon Oct 29 17:56:30 2018 +0300

    IGNITE-9848: Background upload of all builds from TC to the bot DB
---
 .../ignite/ci/tcbot/chain/BuildChainProcessor.java | 22 +++++++++++-----------
 .../ignite/ci/teamcity/ignited/BuildRefDao.java    | 10 ++++++++++
 .../ci/teamcity/ignited/ITeamcityIgnited.java      |  5 +++++
 .../ci/teamcity/ignited/TeamcityIgnitedImpl.java   |  5 +++++
 4 files changed, 31 insertions(+), 11 deletions(-)

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 07f5fe0..56a9bd1 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
@@ -44,13 +44,13 @@ import org.apache.ignite.ci.analysis.mode.ProcessLogsMode;
 import org.apache.ignite.ci.di.AutoProfiling;
 import org.apache.ignite.ci.tcmodel.hist.BuildRef;
 import org.apache.ignite.ci.tcmodel.result.Build;
+import org.apache.ignite.ci.teamcity.ignited.BuildRefDao;
 import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
 import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
 import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted;
 import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
 import org.apache.ignite.ci.util.FutureUtil;
 import org.apache.ignite.ci.web.TcUpdatePool;
-import org.apache.lucene.util.IntsRef;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
@@ -69,6 +69,8 @@ public class BuildChainProcessor {
     /** Compactor. */
     @Inject private IStringCompactor compactor;
 
+    @Inject private BuildRefDao buildRefDao;
+
     /**
      * @param teamcity Teamcity.
      * @param teamcityIgnited
@@ -97,8 +99,8 @@ public class BuildChainProcessor {
         Map<String, MultBuildRunCtx> buildsCtxMap = new ConcurrentHashMap<>();
 
         Stream<? extends BuildRef> uniqueBuldsInvolved = entryPoints.stream()
-                .flatMap(ref -> dependencies(teamcityIgnited, builds, 
teamcity, ref)).filter(Objects::nonNull)
-                .flatMap(ref -> dependencies(teamcityIgnited, builds, 
teamcity, ref)).filter(Objects::nonNull)
+                .flatMap(ref -> dependencies(teamcityIgnited, builds, 
ref)).filter(Objects::nonNull)
+                .flatMap(ref -> dependencies(teamcityIgnited, builds, 
ref)).filter(Objects::nonNull)
                 .filter(ref -> ensureUnique(unique, ref))
                 ;
 
@@ -283,10 +285,10 @@ public class BuildChainProcessor {
         return branch;
     }
 
-    @Nullable private static Stream<? extends BuildRef> dependencies(
+    @Nullable private Stream<? extends BuildRef> dependencies(
         ITeamcityIgnited teamcityIgnited,
         Map<Integer, FatBuildCompacted> builds,
-        ITeamcity teamcity, BuildRef ref) {
+        BuildRef ref) {
         FatBuildCompacted buildCompacted = builds.get(ref.getId());
         if (buildCompacted != null)
             return Stream.of(ref); // already processed build, so just keep 
current ID in stream
@@ -298,12 +300,10 @@ public class BuildChainProcessor {
 
         int[] ints = build.snapshotDependencies();
 
-        List<BuildRef> deps = IntStream.of(ints).mapToObj(i-> {
-            BuildRef ref1 = new BuildRef();
-            ref1.setId(i);
-
-            return ref1;
-        }).collect(Collectors.toList());
+        //todo
+        List<BuildRef> deps = IntStream.of(ints).mapToObj(i -> {
+            return buildRefDao.getBuildRef(teamcityIgnited.serverId(), i);
+        }).filter(Objects::nonNull).collect(Collectors.toList());
 
         if (deps.isEmpty())
             return Stream.of(ref);
diff --git 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefDao.java
 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefDao.java
index 92b1684..87439fa 100644
--- 
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefDao.java
+++ 
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefDao.java
@@ -230,4 +230,14 @@ public class BuildRefDao {
 
         return res.array();
     }
+
+    public BuildRef getBuildRef(String serverId, int i) {
+        BuildRefCompacted ref = buildRefsCache.get(buildIdToCacheKey(
+            ITeamcityIgnited.serverIdToInt(serverId), i));
+
+        if(ref==null)
+            return null;
+
+        return ref.toBuildRef(compactor);
+    }
 }
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 9903920..95d05eb 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
@@ -30,6 +30,11 @@ import 
org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted;
  */
 public interface ITeamcityIgnited {
     /**
+     * @return Internal server ID as string
+     */
+    String serverId();
+
+    /**
      * @return Normalized Host address, ends with '/'.
      */
     public String host();
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 310ec4e..a964d07 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
@@ -104,6 +104,11 @@ public class TeamcityIgnitedImpl implements 
ITeamcityIgnited {
     }
 
     /** {@inheritDoc} */
+    @Override public String serverId() {
+        return srvNme;
+    }
+
+    /** {@inheritDoc} */
     @Override public String host() {
         return conn.host();
     }

Reply via email to