public FatBuildCompacted()

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);
        }
    }