From b57b9ec3edd2ca7e7e44190f85e3743cea822e3e Mon Sep 17 00:00:00 2001
From: Fabrice Bacchella <fbacchella@spamcop.net>
Date: Mon, 15 Jun 2015 11:55:05 -0400
Subject: [PATCH] First draft for a customized avatar image
---
src/main/java/com/gitblit/wicket/GitBlitWebApp.java | 36 +++++++++++++++++++++++++++++++++---
1 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
index 359040b..39cdbb4 100644
--- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -32,6 +32,7 @@
import ro.fortsoft.pf4j.PluginState;
import ro.fortsoft.pf4j.PluginWrapper;
+import com.gitblit.AvatarGenerator;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.extensions.GitblitWicketPlugin;
@@ -250,12 +251,15 @@
}
}
- // customize the Wicket class resolver to load from plugins
+ // customize the Wicket class resolver to load from plugins
IClassResolver coreResolver = getApplicationSettings().getClassResolver();
- PluginClassResolver classResolver = new PluginClassResolver(coreResolver, pluginManager);
- getApplicationSettings().setClassResolver(classResolver);
+ PluginClassResolver classResolver = new PluginClassResolver(coreResolver, pluginManager);
+ getApplicationSettings().setClassResolver(classResolver);
getMarkupSettings().setDefaultMarkupEncoding("UTF-8");
+
+ buildAvatarGenerator();
+
}
/* (non-Javadoc)
@@ -476,4 +480,30 @@
public static GitBlitWebApp get() {
return (GitBlitWebApp) WebApplication.get();
}
+
+ AvatarGenerator generator = null;
+ @SuppressWarnings("unchecked")
+ private void buildAvatarGenerator() {
+ Class<AvatarGenerator> clazz;
+ try {
+ clazz = (Class<AvatarGenerator>) getClass().getClassLoader().loadClass(settings.getString(Keys.web.avatarClass, "com.gitblit.GravatarGenerator"));
+ generator = clazz.newInstance();
+ generator.configure(settings);
+ } catch (ClassNotFoundException | SecurityException | InstantiationException | IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ public String buildAvatarUrl(String username, String emailaddress, String cssClass, int width, boolean identicon) {
+ if (width <= 0) {
+ width = 50;
+ }
+ if(generator != null) {
+ return (String) generator.getURL(username, emailaddress, identicon, width);
+ }
+ return null;
+ }
+
+
}
--
Gitblit v1.9.1