public CompositeDistributionResponse()

in src/main/java/org/apache/sling/distribution/impl/CompositeDistributionResponse.java [49:80]


    public CompositeDistributionResponse(List<DistributionResponse> distributionResponses, int packagesCount, long packagseSize, long exportTime) {
        super(DistributionRequestState.DISTRIBUTED, null);
        this.packagesCount = packagesCount;
        this.packagseSize = packagseSize;
        this.queuesCount = distributionResponses.size();
        this.exportTime = exportTime;
        if (distributionResponses.isEmpty()) {
            state = DistributionRequestState.DROPPED;
            this.info = DistributionResponseInfo.NONE;
        } else {
            state = DistributionRequestState.DISTRIBUTED;
            StringBuilder messageBuilder = new StringBuilder("[");
            for (DistributionResponse response : distributionResponses) {
                state = aggregatedState(state, response.getState());
                messageBuilder.append(response.getMessage()).append(", ");
            }
            int lof = messageBuilder.lastIndexOf(", ");
            messageBuilder.replace(lof, lof + 2, "]");
            message = messageBuilder.toString();
            this.info = new DistributionResponseInfo() {
                @NotNull @Override public String getId() {
                    List<String> ids = new ArrayList<>();
                    for (DistributionResponse response : distributionResponses) {
                        if (response.getDistributionInfo() != null) {
                            ids.add(response.getDistributionInfo().getId());
                        }
                    }
                    return ids.toString();
                }
            };
        }
    }