Add node level statistics to query outputs
Change-Id: I4d56c48ed83350c4ef19ae4449544bf0fff7b94a
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/TaskAttributeFactory.java b/src/main/java/com/googlesource/gerrit/plugins/task/TaskAttributeFactory.java
index e683034..00b7dcf 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/TaskAttributeFactory.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/TaskAttributeFactory.java
@@ -59,6 +59,12 @@
}
public static class TaskAttribute {
+ public static class Statistics {
+ public boolean isApplicableRefreshRequired;
+ public boolean isSubNodeReloadRequired;
+ public boolean isTaskRefreshNeeded;
+ }
+
public Boolean applicable;
public Map<String, String> exported;
public Boolean hasPass;
@@ -69,6 +75,7 @@
public Status status;
public List<TaskAttribute> subTasks;
public Long evaluationMilliSeconds;
+ public Statistics statistics;
public TaskAttribute(String name) {
this.name = name;
@@ -143,9 +150,10 @@
this.node = node;
this.matchCache = matchCache;
this.task = node.task;
- this.attribute = new TaskAttribute(task.name());
+ attribute = new TaskAttribute(task.name());
if (options.includeStatistics) {
statistics.numberOfNodes++;
+ attribute.statistics = new TaskAttribute.Statistics();
}
}
@@ -194,6 +202,13 @@
if (options.evaluationTime) {
attribute.evaluationMilliSeconds = millis() - attribute.evaluationMilliSeconds;
}
+ if (attribute.statistics != null) {
+ attribute.statistics.isApplicableRefreshRequired =
+ node.properties.isApplicableRefreshRequired;
+ attribute.statistics.isSubNodeReloadRequired =
+ node.properties.isSubNodeReloadRequired();
+ attribute.statistics.isTaskRefreshNeeded = node.properties.isTaskRefreshNeeded;
+ }
return Optional.of(attribute);
}
}