< prev index next >

bots/notify/src/main/java/org/openjdk/skara/bots/notify/JNotifyBotFactory.java

Print this page

 94                                 mode = MailingListUpdater.Mode.PR;
 95                                 break;
 96                             case "pr-only":
 97                                 mode = MailingListUpdater.Mode.PR_ONLY;
 98                                 break;
 99                             default:
100                                 throw new RuntimeException("Unknown mode");
101                         }
102                     }
103 
104                     Map<String, String> headers = mailinglist.contains("headers") ?
105                             mailinglist.get("headers").fields().stream()
106                                        .collect(Collectors.toMap(JSONObject.Field::name, field -> field.value().asString())) :
107                             Map.of();
108                     var author = mailinglist.contains("author") ? EmailAddress.parse(mailinglist.get("author").asString()) : null;
109                     var allowedDomains = author == null ? Pattern.compile(mailinglist.get("domains").asString()) : null;
110                     updaters.add(new MailingListUpdater(listServer.getList(recipient), recipientAddress, sender, author,
111                                                         includeBranchNames, mode, headers, allowedDomains));
112                 }
113             }




114 
115             if (updaters.isEmpty()) {
116                 log.warning("No consumers configured for notify bot repository: " + repoName);
117                 continue;
118             }
119 
120             var baseName = repo.value().contains("basename") ? repo.value().get("basename").asString() : configuration.repositoryName(repoName);
121 
122             var tagStorageBuilder = new StorageBuilder<Tag>(baseName + ".tags.txt")
123                     .remoteRepository(databaseRepo, databaseRef, databaseName, databaseEmail, "Added tag for " + repoName);
124             var branchStorageBuilder = new StorageBuilder<ResolvedBranch>(baseName + ".branches.txt")
125                     .remoteRepository(databaseRepo, databaseRef, databaseName, databaseEmail, "Added branch hash for " + repoName);
126             var bot = new JNotifyBot(configuration.repository(repoName), configuration.storageFolder(), branchPattern, tagStorageBuilder, branchStorageBuilder, updaters);
127             ret.add(bot);
128         }
129 
130         return ret;
131     }
132 }

 94                                 mode = MailingListUpdater.Mode.PR;
 95                                 break;
 96                             case "pr-only":
 97                                 mode = MailingListUpdater.Mode.PR_ONLY;
 98                                 break;
 99                             default:
100                                 throw new RuntimeException("Unknown mode");
101                         }
102                     }
103 
104                     Map<String, String> headers = mailinglist.contains("headers") ?
105                             mailinglist.get("headers").fields().stream()
106                                        .collect(Collectors.toMap(JSONObject.Field::name, field -> field.value().asString())) :
107                             Map.of();
108                     var author = mailinglist.contains("author") ? EmailAddress.parse(mailinglist.get("author").asString()) : null;
109                     var allowedDomains = author == null ? Pattern.compile(mailinglist.get("domains").asString()) : null;
110                     updaters.add(new MailingListUpdater(listServer.getList(recipient), recipientAddress, sender, author,
111                                                         includeBranchNames, mode, headers, allowedDomains));
112                 }
113             }
114             if (repo.value().contains("issues")) {
115                 var issueProject = configuration.issueProject(repo.value().get("issues").asString());
116                 updaters.add(new IssueUpdater(issueProject));
117             }
118 
119             if (updaters.isEmpty()) {
120                 log.warning("No consumers configured for notify bot repository: " + repoName);
121                 continue;
122             }
123 
124             var baseName = repo.value().contains("basename") ? repo.value().get("basename").asString() : configuration.repositoryName(repoName);
125 
126             var tagStorageBuilder = new StorageBuilder<Tag>(baseName + ".tags.txt")
127                     .remoteRepository(databaseRepo, databaseRef, databaseName, databaseEmail, "Added tag for " + repoName);
128             var branchStorageBuilder = new StorageBuilder<ResolvedBranch>(baseName + ".branches.txt")
129                     .remoteRepository(databaseRepo, databaseRef, databaseName, databaseEmail, "Added branch hash for " + repoName);
130             var bot = new JNotifyBot(configuration.repository(repoName), configuration.storageFolder(), branchPattern, tagStorageBuilder, branchStorageBuilder, updaters);
131             ret.add(bot);
132         }
133 
134         return ret;
135     }
136 }
< prev index next >