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 dd9feb2 Code cleanup & deprecating old metrics and graphs
dd9feb2 is described below
commit dd9feb2b45d15dcadd66e5e734f62fec0427233b
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Thu Oct 4 15:49:56 2018 +0300
Code cleanup & deprecating old metrics and graphs
---
.../apache/ignite/ci/analysis/FullChainRunCtx.java | 1 +
.../apache/ignite/ci/analysis/MultBuildRunCtx.java | 4 +-
.../ignite/ci/web/model/chart/ChartData.java | 3 +-
.../apache/ignite/ci/web/model/chart/LineData.java | 3 +-
.../ignite/ci/web/model/chart/TestsMetrics.java | 3 +-
.../model/current/ChainAtServerCurrentStatus.java | 4 +-
.../ci/web/model/current/SuiteCurrentStatus.java | 5 +-
.../org/apache/ignite/ci/web/rest/GetBuildLog.java | 17 +++--
.../ignite/ci/web/rest/GetChainResultsAsHtml.java | 5 +-
.../ignite/ci/web/rest/GetTrackedBranches.java | 2 +
.../org/apache/ignite/ci/web/rest/Metrics.java | 3 +-
.../org/apache/ignite/ci/web/rest/login/Login.java | 78 +++++++++++-----------
.../ignite/ci/web/rest/pr/GetPrTestFailures.java | 2 +
.../rest/tracked/GetTrackedBranchTestResults.java | 12 ++--
14 files changed, 81 insertions(+), 61 deletions(-)
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
index 001b73d..82cbb09 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
@@ -40,6 +40,7 @@ public class FullChainRunCtx {
fakeStub = chainResults.isFakeStub();
}
+ @Deprecated
public int buildProblems() {
return
(int)buildCfgsResults.stream().filter(MultBuildRunCtx::hasNontestBuildProblem).count();
}
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
index 803c72e..6a338a8 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
@@ -113,7 +113,9 @@ public class MultBuildRunCtx implements ISuiteResults {
return firstBuildInfo.buildTypeId;
}
- //currently used only in metrics
+
+ @Deprecated
+ //currently used only in old metrics
public boolean hasNontestBuildProblem() {
return allProblemsInAllBuilds().anyMatch(problem ->
!problem.isFailedTests()
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/ChartData.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/ChartData.java
index 19e5105..5ac503b 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/ChartData.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/ChartData.java
@@ -26,8 +26,9 @@ import java.util.Map;
import java.util.function.Function;
/**
- * Created by Дмитрий on 09.08.2017
+ *
*/
+@Deprecated
public class ChartData<K> {
/** Captions for measurements at axis X */
public List<String> axisX;
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/LineData.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/LineData.java
index ff5eec6..ec0a8d5 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/LineData.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/LineData.java
@@ -22,8 +22,9 @@ import java.util.Arrays;
import java.util.List;
/**
- * Contains values for one line on chart
+ *
*/
+@Deprecated
public class LineData {
public List<Double> values;
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/TestsMetrics.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/TestsMetrics.java
index 946bc64..fa69657 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/TestsMetrics.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/chart/TestsMetrics.java
@@ -23,8 +23,9 @@ import org.apache.ignite.ci.analysis.SuiteInBranch;
import org.apache.ignite.ci.web.IBackgroundUpdatable;
/**
- * Created by Дмитрий on 09.08.2017
+ *
*/
+@Deprecated
public class TestsMetrics implements IBackgroundUpdatable {
public ChartData<SuiteInBranch> failed = new ChartData<>();
public ChartData<SuiteInBranch> notrun = new ChartData<>();
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
index a3b06e7..43ed1c8 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
@@ -80,8 +80,8 @@ public class ChainAtServerCurrentStatus {
@Nullable public String baseBranchForTc;
- public ChainAtServerCurrentStatus(String serverId, String branchTc) {
- this.serverId = serverId;
+ public ChainAtServerCurrentStatus(String srvId, String branchTc) {
+ this.serverId = srvId;
this.branchName = branchTc;
}
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 73f46aa..86adfa3 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
@@ -56,7 +56,7 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
/** Suite Name */
public String name;
- /** Suite Run Result (filled if failed) */
+ /** Suite Run Result (filled if failed): Summary of build problems, count
of tests, etc. */
public String result;
/** Has critical problem: Timeout or JMV Crash */
@@ -112,6 +112,8 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
*/
@Nullable public ProblemRef problemRef;
+ /** Possible blocker: filled for PR and builds checks, mean there was
stable execution in master, but */
+ public Boolean possibleBlocker;
public void initFromContext(@Nonnull final ITeamcity teamcity,
@Nonnull final MultBuildRunCtx suite,
@@ -208,6 +210,7 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
serverId = teamcity.serverId();
this.suiteId = suite.suiteId();
branchName = branchForLink(suite.branchName());
+ // todo implement this logic in suite possibleBlocker =
suite.hasPossibleBlocker();
}
private void initStat(@Nullable ITcAnalytics tcAnalytics, String
failRateNormalizedBranch, String curBranchNormalized, String suiteId) {
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 c936506..29cfd4b 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
@@ -26,6 +26,7 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import javax.annotation.security.PermitAll;
import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@@ -34,7 +35,6 @@ 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.IAnalyticsEnabledTeamcity;
import org.apache.ignite.ci.ITcAnalytics;
import org.apache.ignite.ci.ITcHelper;
import org.apache.ignite.ci.web.CtxListener;
@@ -51,20 +51,25 @@ public class GetBuildLog {
public static final String BUILD_NO = "buildNo";
public static final String FILE_IDX = "fileIdx";
+ /** Servlet Context. */
@Context
- private ServletContext context;
+ private ServletContext ctx;
+
+ /** Current Request. */
+ @Context
+ private HttpServletRequest req;
@GET
@Path(THREAD_DUMP)
@PermitAll
public Response getThreadDump(
- @QueryParam(SERVER_ID) String serverId,
+ @QueryParam(SERVER_ID) String srvId,
@QueryParam(BUILD_NO) Integer buildNo,
@Deprecated @QueryParam(FILE_IDX) Integer fileIdx) {
- ITcHelper helper = CtxListener.getTcHelper(context);
- ITcAnalytics server = helper.tcAnalytics(serverId);
- String cached = server.getThreadDumpCached(buildNo);
+ ITcHelper helper = CtxListener.getTcHelper(ctx);
+ ITcAnalytics srv = helper.tcAnalytics(srvId);
+ String cached = srv.getThreadDumpCached(buildNo);
return sendString(cached);
}
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 ca9cf56..920e548 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
@@ -48,14 +48,15 @@ import static javax.ws.rs.core.MediaType.TEXT_HTML;
import static org.apache.ignite.internal.util.lang.GridFunc.isEmpty;
/**
- * Created by Дмитрий on 10.02.2018.
+ *
*/
@Path("chainResults")
public class GetChainResultsAsHtml {
-
+ /** Servlet Context. */
@Context
private ServletContext ctx;
+ /** Current Request. */
@Context
private HttpServletRequest req;
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 f44ae92..f514875 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
@@ -41,9 +41,11 @@ import org.apache.ignite.lang.IgniteProductVersion;
@Path("branches")
@Produces(MediaType.APPLICATION_JSON)
public class GetTrackedBranches {
+ /** Servlet Context. */
@Context
private ServletContext ctx;
+ /** Current Request. */
@Context
private HttpServletRequest req;
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/Metrics.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/Metrics.java
index d1ab1d2..25e3c6a 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/Metrics.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/Metrics.java
@@ -60,6 +60,7 @@ import static java.util.Collections.singletonList;
@Path("metrics")
@Produces("application/json")
+@Deprecated
public class Metrics {
public static final String FAILURES_PUBLIC = "failures.public";
public static final String FAILURES_PRIVATE = "failures.private";
@@ -97,7 +98,7 @@ public class Metrics {
return null;
for (MultBuildRunCtx suite : ctx.suites()) {
- boolean suiteOk = suite.failedTests() == 0 &&
!suite.hasNontestBuildProblem();
+ boolean suiteOk = suite.failedTests() == 0 &&
!suite.hasCriticalProblem();
history.addSuiteResult(teamcity.serverId() + "\t" +
suite.suiteName(), suiteOk);
}
return ctx;
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/Login.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/Login.java
index fe0e12e..5d8b561 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/Login.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/Login.java
@@ -48,35 +48,35 @@ public class Login {
public static final int SALT_LEN = 16;
@Context
- private ServletContext context;
+ private ServletContext ctx;
@GET
@Path("primaryServerData")
@PermitAll
public ServerDataResponse primaryServerUrl() {
- ITcHelper tcHelper = CtxListener.getTcHelper(context);
- String serverId = tcHelper.primaryServerId();
- IAnalyticsEnabledTeamcity server = tcHelper.server(serverId, null);
- return new ServerDataResponse(server.host());
+ ITcHelper tcHelper = CtxListener.getTcHelper(ctx);
+ String srvId = tcHelper.primaryServerId();
+ IAnalyticsEnabledTeamcity srv = tcHelper.server(srvId, null);
+ return new ServerDataResponse(srv.host());
}
@POST
@Path("login")
@PermitAll
public LoginResponse login(@FormParam("uname") String username,
- @FormParam("psw") String password) {
+ @FormParam("psw") String pwd) {
Preconditions.checkNotNull(username);
- Preconditions.checkNotNull(password);
+ Preconditions.checkNotNull(pwd);
- ITcHelper tcHelper = CtxListener.getTcHelper(context);
- final Injector injector = CtxListener.getInjector(context);
+ ITcHelper tcHelper = CtxListener.getTcHelper(ctx);
+ final Injector injector = CtxListener.getInjector(ctx);
final ITcLogin tcLogin = injector.getInstance(ITcLogin.class);
UserAndSessionsStorage users = tcHelper.users();
- String primaryServerId = tcHelper.primaryServerId();
+ String primarySrvId = tcHelper.primaryServerId();
try {
- return doLogin(username, password, users, primaryServerId,
+ return doLogin(username, pwd, users, primarySrvId,
tcHelper.getServerIds(), tcLogin);
} catch (Exception e) {
e.printStackTrace();
@@ -85,41 +85,41 @@ public class Login {
}
public LoginResponse doLogin(@FormParam("uname") String username,
- @FormParam("psw") String password,
+ @FormParam("psw") String pwd,
UserAndSessionsStorage users,
- String primaryServerId,
- Collection<String> serverIds,
+ String primarySrvId,
+ Collection<String> srvIds,
ITcLogin tcLogin) {
SecureRandom random = new SecureRandom();
- byte[] tokenBytes = random.generateSeed(TOKEN_LEN);
- String token = Base64Util.encodeBytesToString(tokenBytes);
+ byte[] tokBytes = random.generateSeed(TOKEN_LEN);
+ String tok = Base64Util.encodeBytesToString(tokBytes);
String sessId =
Base64Util.encodeBytesToString(random.generateSeed(SESS_ID_LEN));
- UserSession userSession = new UserSession();
- userSession.username = username;
- userSession.sessId = sessId;
+ UserSession userSes = new UserSession();
+ userSes.username = username;
+ userSes.sessId = sessId;
- userSession.loginTs = System.currentTimeMillis();
+ userSes.loginTs = System.currentTimeMillis();
- LoginResponse loginResponse = new LoginResponse();
+ LoginResponse loginRes = new LoginResponse();
System.out.println("Saved session id " + sessId);
TcHelperUser user = getOrCreateUser(username, users, random);
- byte[] userKeyCandidate = CryptUtil.hmacSha256(user.salt, (username +
":" + password));
+ byte[] userKeyCandidate = CryptUtil.hmacSha256(user.salt, (username +
":" + pwd));
byte[] userKeyCandidateKcv = CryptUtil.aesKcv(userKeyCandidate);
- final User tcUser =
tcLogin.checkServiceUserAndPassword(primaryServerId, username, password);
+ final User tcUser = tcLogin.checkServiceUserAndPassword(primarySrvId,
username, pwd);
if (user.userKeyKcv == null) {
if (tcUser == null) {
- loginResponse.errorMessage =
- "Service " + primaryServerId + " rejected
credentials/user not found";
+ loginRes.errorMessage =
+ "Service " + primarySrvId + " rejected
credentials/user not found";
- return loginResponse;
+ return loginRes;
}
//todo new registration should be checked on server first
@@ -128,14 +128,14 @@ public class Login {
user.email = tcUser.email;
user.fullName = tcUser.name;
-
user.getOrCreateCreds(primaryServerId).setLogin(username).setPassword(password,
userKeyCandidate);
+
user.getOrCreateCreds(primarySrvId).setLogin(username).setPassword(pwd,
userKeyCandidate);
- for (String addSrvId : serverIds) {
- if (!addSrvId.equals(primaryServerId)) {
- final User tcAddUser =
tcLogin.checkServiceUserAndPassword(addSrvId, username, password);
+ for (String addSrvId : srvIds) {
+ if (!addSrvId.equals(primarySrvId)) {
+ final User tcAddUser =
tcLogin.checkServiceUserAndPassword(addSrvId, username, pwd);
if (tcAddUser != null) {
-
user.getOrCreateCreds(addSrvId).setLogin(username).setPassword(password,
userKeyCandidate);
+
user.getOrCreateCreds(addSrvId).setLogin(username).setPassword(pwd,
userKeyCandidate);
user.enrichUserData(tcAddUser);
}
@@ -144,18 +144,17 @@ public class Login {
users.putUser(username, user);
} else {
- if (!Arrays.equals(userKeyCandidateKcv, user.userKeyKcv)) {
- return loginResponse; //password validation failed
- }
+ if (!Arrays.equals(userKeyCandidateKcv, user.userKeyKcv))
+ return loginRes; //password validation failed
}
- userSession.userKeyUnderToken = CryptUtil.aesEncrypt(tokenBytes,
userKeyCandidate);
+ userSes.userKeyUnderToken = CryptUtil.aesEncrypt(tokBytes,
userKeyCandidate);
- users.putSession(sessId, userSession);
+ users.putSession(sessId, userSes);
- loginResponse.fullToken = sessId + ":" + token;
+ loginRes.fullToken = sessId + ":" + tok;
- return loginResponse;
+ return loginRes;
}
@@ -174,9 +173,8 @@ public class Login {
}
}
- if (user.salt == null) {
+ if (user.salt == null)
user.salt = random.generateSeed(SALT_LEN);
- }
return user;
}
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/pr/GetPrTestFailures.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/pr/GetPrTestFailures.java
index 6151af6..e05a6c5 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/pr/GetPrTestFailures.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/pr/GetPrTestFailures.java
@@ -49,9 +49,11 @@ public class GetPrTestFailures {
public static final String PR = "pr";
public static final String CURRENT_PR_FAILURES = "currentPrFailures";
+ /** Servlet Context. */
@Context
private ServletContext ctx;
+ /** Current Request. */
@Context
private HttpServletRequest req;
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 e4bd1ea..e68c992 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
@@ -43,11 +43,13 @@ public class GetTrackedBranchTestResults {
public static final String TEST_FAILURES_SUMMARY_CACHE_NAME =
"currentTestFailuresSummary";
public static final String ALL_TEST_FAILURES_SUMMARY =
"AllTestFailuresSummary";
+ /** Servlet Context. */
@Context
private ServletContext ctx;
+ /** Current Request. */
@Context
- private HttpServletRequest request;
+ private HttpServletRequest req;
@GET
@Path("updates")
@@ -76,7 +78,7 @@ public class GetTrackedBranchTestResults {
param.setBranch(branchOrNull);
param.setCheckAllLogs(checkAllLogs);
- return updater.get(TEST_FAILURES_SUMMARY_CACHE_NAME,
ICredentialsProv.get(request), param,
+ return updater.get(TEST_FAILURES_SUMMARY_CACHE_NAME,
ICredentialsProv.get(req), param,
(k) -> getTestFailsNoCache(k.getBranch(),
k.getCheckAllLogs()), true
);
}
@@ -88,7 +90,7 @@ public class GetTrackedBranchTestResults {
@Nullable @QueryParam("branch") String branch,
@Nullable @QueryParam("checkAllLogs") Boolean checkAllLogs) {
- final ICredentialsProv creds = ICredentialsProv.get(request);
+ final ICredentialsProv creds = ICredentialsProv.get(req);
final TrackedBranchChainsProcessor tbProc =
CtxListener.getInjector(ctx).getInstance(TrackedBranchChainsProcessor.class);
@@ -116,7 +118,7 @@ public class GetTrackedBranchTestResults {
fullKey.setCount(cnt == null ? FullQueryParams.DEFAULT_COUNT : cnt);
fullKey.setCheckAllLogs(checkAllLogs != null && checkAllLogs);
- final ICredentialsProv creds = ICredentialsProv.get(request);
+ final ICredentialsProv creds = ICredentialsProv.get(req);
return updater.get(ALL_TEST_FAILURES_SUMMARY, creds,
fullKey,
k -> getAllTestFailsNoCache(
@@ -132,7 +134,7 @@ public class GetTrackedBranchTestResults {
public TestFailuresSummary getAllTestFailsNoCache(@Nullable
@QueryParam("branch") String branchOpt,
@QueryParam("count")
Integer cnt,
@Nullable
@QueryParam("checkAllLogs") Boolean checkAllLogs) {
- final ICredentialsProv creds = ICredentialsProv.get(request);
+ final ICredentialsProv creds = ICredentialsProv.get(req);
int cntLimit = cnt == null ? FullQueryParams.DEFAULT_COUNT : cnt;
final TrackedBranchChainsProcessor tbProc =
CtxListener.getInjector(ctx).getInstance(TrackedBranchChainsProcessor.class);