19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23 package org.openjdk.skara.bots.mlbridge;
24
25 import org.openjdk.skara.bot.*;
26 import org.openjdk.skara.email.EmailAddress;
27 import org.openjdk.skara.forge.*;
28
29 import java.net.URI;
30 import java.nio.file.Path;
31 import java.time.Duration;
32 import java.util.*;
33 import java.util.regex.Pattern;
34
35 public class MailingListBridgeBot implements Bot {
36 private final EmailAddress emailAddress;
37 private final HostedRepository codeRepo;
38 private final HostedRepository archiveRepo;
39 private final HostedRepository censusRepo;
40 private final String censusRef;
41 private final EmailAddress listAddress;
42 private final Set<String> ignoredUsers;
43 private final Set<Pattern> ignoredComments;
44 private final URI listArchive;
45 private final String smtpServer;
46 private final WebrevStorage webrevStorage;
47 private final Set<String> readyLabels;
48 private final Map<String, Pattern> readyComments;
49 private final Map<String, String> headers;
50 private final URI issueTracker;
51 private final PullRequestUpdateCache updateCache;
52 private final Duration sendInterval;
53
54 MailingListBridgeBot(EmailAddress from, HostedRepository repo, HostedRepository archive,
55 HostedRepository censusRepo, String censusRef, EmailAddress list,
56 Set<String> ignoredUsers, Set<Pattern> ignoredComments, URI listArchive, String smtpServer,
57 HostedRepository webrevStorageRepository, String webrevStorageRef,
58 Path webrevStorageBase, URI webrevStorageBaseUri, Set<String> readyLabels,
59 Map<String, Pattern> readyComments, URI issueTracker, Map<String, String> headers,
60 Duration sendInterval) {
61 emailAddress = from;
62 codeRepo = repo;
63 archiveRepo = archive;
64 this.censusRepo = censusRepo;
65 this.censusRef = censusRef;
66 listAddress = list;
67 this.ignoredUsers = ignoredUsers;
68 this.ignoredComments = ignoredComments;
69 this.listArchive = listArchive;
70 this.smtpServer = smtpServer;
71 this.readyLabels = readyLabels;
72 this.readyComments = readyComments;
73 this.headers = headers;
74 this.issueTracker = issueTracker;
75 this.sendInterval = sendInterval;
76
77 this.webrevStorage = new WebrevStorage(webrevStorageRepository, webrevStorageRef, webrevStorageBase,
78 webrevStorageBaseUri, from);
79 this.updateCache = new PullRequestUpdateCache();
80 }
81
82 HostedRepository codeRepo() {
83 return codeRepo;
84 }
85
86 HostedRepository archiveRepo() {
87 return archiveRepo;
88 }
89
90 HostedRepository censusRepo() {
91 return censusRepo;
92 }
93
94 String censusRef() {
95 return censusRef;
96 }
97
98 EmailAddress emailAddress() {
99 return emailAddress;
100 }
101
102 EmailAddress listAddress() {
103 return listAddress;
104 }
105
106 Duration sendInterval() {
107 return sendInterval;
108 }
109
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23 package org.openjdk.skara.bots.mlbridge;
24
25 import org.openjdk.skara.bot.*;
26 import org.openjdk.skara.email.EmailAddress;
27 import org.openjdk.skara.forge.*;
28
29 import java.net.URI;
30 import java.nio.file.Path;
31 import java.time.Duration;
32 import java.util.*;
33 import java.util.regex.Pattern;
34
35 public class MailingListBridgeBot implements Bot {
36 private final EmailAddress emailAddress;
37 private final HostedRepository codeRepo;
38 private final HostedRepository archiveRepo;
39 private final String archiveRef;
40 private final HostedRepository censusRepo;
41 private final String censusRef;
42 private final EmailAddress listAddress;
43 private final Set<String> ignoredUsers;
44 private final Set<Pattern> ignoredComments;
45 private final URI listArchive;
46 private final String smtpServer;
47 private final WebrevStorage webrevStorage;
48 private final Set<String> readyLabels;
49 private final Map<String, Pattern> readyComments;
50 private final Map<String, String> headers;
51 private final URI issueTracker;
52 private final PullRequestUpdateCache updateCache;
53 private final Duration sendInterval;
54
55 MailingListBridgeBot(EmailAddress from, HostedRepository repo, HostedRepository archive, String archiveRef,
56 HostedRepository censusRepo, String censusRef, EmailAddress list,
57 Set<String> ignoredUsers, Set<Pattern> ignoredComments, URI listArchive, String smtpServer,
58 HostedRepository webrevStorageRepository, String webrevStorageRef,
59 Path webrevStorageBase, URI webrevStorageBaseUri, Set<String> readyLabels,
60 Map<String, Pattern> readyComments, URI issueTracker, Map<String, String> headers,
61 Duration sendInterval) {
62 emailAddress = from;
63 codeRepo = repo;
64 archiveRepo = archive;
65 this.archiveRef = archiveRef;
66 this.censusRepo = censusRepo;
67 this.censusRef = censusRef;
68 listAddress = list;
69 this.ignoredUsers = ignoredUsers;
70 this.ignoredComments = ignoredComments;
71 this.listArchive = listArchive;
72 this.smtpServer = smtpServer;
73 this.readyLabels = readyLabels;
74 this.readyComments = readyComments;
75 this.headers = headers;
76 this.issueTracker = issueTracker;
77 this.sendInterval = sendInterval;
78
79 this.webrevStorage = new WebrevStorage(webrevStorageRepository, webrevStorageRef, webrevStorageBase,
80 webrevStorageBaseUri, from);
81 this.updateCache = new PullRequestUpdateCache();
82 }
83
84 HostedRepository codeRepo() {
85 return codeRepo;
86 }
87
88 HostedRepository archiveRepo() {
89 return archiveRepo;
90 }
91
92 String archiveRef() {
93 return archiveRef;
94 }
95
96 HostedRepository censusRepo() {
97 return censusRepo;
98 }
99
100 String censusRef() {
101 return censusRef;
102 }
103
104 EmailAddress emailAddress() {
105 return emailAddress;
106 }
107
108 EmailAddress listAddress() {
109 return listAddress;
110 }
111
112 Duration sendInterval() {
113 return sendInterval;
114 }
115
|