aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/com/googlesource/gerrit/plugins/qtcodereview/QtBuildFailedSender.java
blob: eea708203e65fa9ca820c8b1e140c7ee07c090c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//
// Copyright (C) 2019 The Qt Company
//

package com.googlesource.gerrit.plugins.qtcodereview;

import com.google.gerrit.common.errors.EmailException;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.account.ProjectWatches.NotifyType;
import com.google.gerrit.server.mail.send.EmailArguments;
import com.google.gerrit.server.mail.send.ReplyToChangeSender;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;

import java.util.ArrayList;
import java.util.List;

// Send email when build has failed
public class QtBuildFailedSender extends ReplyToChangeSender {
    public interface Factory {
        QtBuildFailedSender create(Project.NameKey project, Change.Id id);
    }

    @Inject
    public QtBuildFailedSender(EmailArguments ea,
                               @Assisted Project.NameKey project,
                               @Assisted Change.Id id)
                               throws OrmException {
        super(ea, "comment", newChangeData(ea, project, id));
    }

    @Override
    protected void init() throws EmailException {
        super.init();

        ccAllApprovals();
        bccStarredBy();
        includeWatchers(NotifyType.ALL_COMMENTS);
        removeUsersThatIgnoredTheChange();
    }

    @Override
    protected void formatChange() throws EmailException {
        appendText(textTemplate("Comment"));
    }

    @Override
    protected void setupSoyContext() {
        super.setupSoyContext();
        List<String> emptyList = new ArrayList<>();
        soyContext.put("commentFiles", emptyList);
    }

    @Override
    protected boolean supportsHtml() {
        return false;
    }
}