in tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java [158:240]
public FatBuildCompacted(IStringCompactor compactor, Build build) {
super(compactor, build);
startDate = build.getStartDate() == null ? -1L : build.getStartDate().getTime();
finishDate = build.getFinishDate() == null ? -1L : build.getFinishDate().getTime();
queuedDate = build.getQueuedDate() == null ? -1L : build.getQueuedDate().getTime();
BuildType type = build.getBuildType();
if (type != null) {
projectId = compactor.getStringId(type.getProjectId());
buildTypeName(type.getName(), compactor);
}
AtomicBoolean failedToStart = new AtomicBoolean();
failedToStart.set(build.isFailedToStart());
int[] arr = build.getSnapshotDependenciesNonNull()
.stream()
.peek(b -> {
if (failedToStart.get())
return;
if (b.hasUnknownStatus())
failedToStart.set(true);
})
.filter(b -> b.getId() != null)
.mapToInt(BuildRef::getId)
.toArray();
snapshotDependencies(arr);
setFlag(DEF_BR_F, build.defaultBranch);
setFlag(COMPOSITE_F, build.composite);
if (failedToStart.get())
setFlag(FAILED_TO_START_F, true);
if (build.isFakeStub())
setFakeStub(true);
final Triggered trigXml = build.getTriggered();
if (trigXml != null) {
triggered = new TriggeredCompacted();
triggered.type = compactor.getStringId(trigXml.getType());
final User trigXmlUser = trigXml.getUser();
if (trigXmlUser != null) {
triggered.userId = Integer.valueOf(trigXmlUser.id);
triggered.userUsername = compactor.getStringId(trigXmlUser.username);
} else {
triggered.userId = -1;
triggered.userUsername = -1;
}
final BuildRef trigBuildRef = trigXml.getBuild();
triggered.buildId = trigBuildRef != null ? trigBuildRef.getId() : -1;
}
Revisions revisions = build.getRevisions();
if (revisions != null) {
this.revisions = revisions.revisions()
.stream()
.filter(b -> b.version() != null)
.map(revision -> new RevisionCompacted(compactor, revision))
.toArray(RevisionCompacted[]::new);
}
Parameters parameters = build.parameters();
if (parameters != null) {
List<Property> propList = parameters.properties().stream()
.filter(prop -> !Strings.isNullOrEmpty(prop.name()))
.filter(prop -> !ITeamcity.AVOID_SAVE_PROPERTIES.contains(prop.name())).collect(Collectors.toList());
if (!propList.isEmpty())
this.buildParameters = new ParametersCompacted(compactor, propList);
}
}