elharo commented on code in PR #97:
URL: 
https://github.com/apache/maven-project-info-reports-plugin/pull/97#discussion_r1963524553


##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -288,32 +334,13 @@ private void renderTeamMember(Contributor member, 
Map<String, Boolean> headersMa
             sink.tableRow_();
         }
 
-        private static final String AVATAR_SIZE = "s=60";
-
-        private String getSpacerGravatarUrl() {
-            return protocol + 
"://www.gravatar.com/avatar/00000000000000000000000000000000?d=blank&f=y&" + 
AVATAR_SIZE;
-        }
-
-        private String getGravatarUrl(String email) {
-            if (email == null) {
-                return null;
-            }
-            email = StringUtils.trim(email);
-            email = email.toLowerCase();
-            MessageDigest md;
+        private String getExternalAvatarUrl(String email) {

Review Comment:
   If breaking the build is the right answer — though I'm not sure it is — then 
that should happen higher up, likely with a MavenReportException or something 
like that. It shouldn't be a  runtime exception from deep inside the code, 
whihc would indicate a bug in the code. An avatar service being unreachable is 
not a bug in the code, so just use a regular IOException here. 



##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -83,9 +116,22 @@ public boolean canGenerateReport() throws 
MavenReportException {
     }
 
     @Override
-    public void executeReport(Locale locale) {
-        ProjectTeamRenderer r =
-                new ProjectTeamRenderer(getSink(), project.getModel(), 
getI18N(locale), locale, showAvatarImages);
+    public void executeReport(Locale locale) throws MavenReportException {
+        AvatarsProvider avatarsProvider = 
avatarsProviders.get(avatarProviderName);
+        if (avatarsProvider == null) {
+            throw new MavenReportException("No AvatarsProvider found for name 
" + avatarProviderName);

Review Comment:
   I suggest message then, and not breaking the report. You could also add a 
default image used when the server can't be reached.



##########
src/main/java/org/apache/maven/report/projectinfo/TeamReport.java:
##########
@@ -226,10 +276,7 @@ private void renderTeamMember(Contributor member, 
Map<String, Boolean> headersMa
                 Properties properties = member.getProperties();
                 String picUrl = properties.getProperty("picUrl");
                 if (picUrl == null || picUrl.isEmpty()) {
-                    picUrl = getGravatarUrl(member.getEmail());
-                }
-                if (picUrl == null || picUrl.isEmpty()) {
-                    picUrl = getSpacerGravatarUrl();
+                    picUrl = getExternalAvatarUrl(member.getEmail());

Review Comment:
   What if a user doesn't have an avatar? I don't think I do, for instance. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to