public void visitSource()

in src/main/java/org/apache/jenkins/gitpubsub/ASFGitSCMNavigator.java [220:254]


    public void visitSource(@NonNull String sourceName, @NonNull SCMSourceObserver observer)
            throws IOException, InterruptedException {
        try (ASFGitSCMNavigatorRequest request = new ASFGitSCMNavigatorContext()
                .withTraits(traits)
                .newRequest(this, observer)) {
            observer.getListener().getLogger().format("%n    Checking repository %s%n",
                    HyperlinkNote
                            .encodeTo(server + "?p=" + URLEncoder.encode(sourceName, "UTF-8") + ".git;a=summary",
                                    sourceName));
            if (request.process(sourceName, new SCMNavigatorRequest.SourceLambda() {
                @NonNull
                @Override
                public SCMSource create(@NonNull String projectName) throws IOException, InterruptedException {
                    return new ASFGitSCMSourceBuilder(getId() + "::" + projectName,
                            server, projectName
                    )
                            .withTraits(traits)
                            .build();
                }
            }, null, new SCMNavigatorRequest.Witness() {
                @Override
                public void record(@NonNull String projectName, boolean isMatch) {
                    if (isMatch) {
                        observer.getListener().getLogger().format("      Proposing %s%n", projectName);
                    } else {
                        observer.getListener().getLogger().format("      Ignoring %s%n", projectName);
                    }
                }
            })) {
                observer.getListener().getLogger().format("%n  1 repository was processed (query complete)%n");
                return;
            }
            observer.getListener().getLogger().format("%n  1 repository was processed%n");
        }
    }