@@ -59,6 +59,7 @@ r22: { | |||
- Tim Ryan | |||
- Decebal Suiu | |||
- Eric Myrhe | |||
- Kevin Walter | |||
settings: | |||
- { name: 'realm.ldap.bindpattern', defaultValue: ' ' } | |||
- { name: 'tickets.closeOnPushCommitMessageRegex', defaultValue: '(?:fixes|closes)[\\s-]+#?(\\d+)' } |
@@ -1,83 +0,0 @@ | |||
/* | |||
* Copyright 2011 gitblit.com. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package com.gitblit.models; | |||
import java.io.Serializable; | |||
import java.util.List; | |||
/** | |||
* Represents a Gravatar profile. | |||
* | |||
* @author James Moger | |||
* | |||
*/ | |||
public class GravatarProfile implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
public String id; | |||
public String hash; | |||
public String requestHash; | |||
public String displayName; | |||
public String preferredUsername; | |||
public String currentLocation; | |||
public String aboutMe; | |||
public String profileUrl; | |||
public String thumbnailUrl; | |||
public List<ProfileObject> photos; | |||
// public Map<String, String> profileBackground; | |||
// public Map<String, String> name; | |||
public List<ProfileObject> phoneNumbers; | |||
public List<ProfileObject> emails; | |||
public List<ProfileObject> ims; | |||
public List<Account> accounts; | |||
public List<ProfileObject> urls; | |||
public static class ProfileObject implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
public String title; | |||
public String type; | |||
public String value; | |||
public boolean primary; | |||
@Override | |||
public String toString() { | |||
return value; | |||
} | |||
} | |||
public static class Account implements Serializable { | |||
private static final long serialVersionUID = 1L; | |||
public String domain; | |||
public String display; | |||
public String url; | |||
public String username; | |||
public String userid; | |||
public boolean verified; | |||
public String shortname; | |||
@Override | |||
public String toString() { | |||
return display; | |||
} | |||
} | |||
} |
@@ -15,9 +15,6 @@ | |||
*/ | |||
package com.gitblit.utils; | |||
import java.io.FileNotFoundException; | |||
import java.io.IOException; | |||
import java.lang.reflect.Type; | |||
import java.text.DateFormat; | |||
import java.text.MessageFormat; | |||
import java.text.SimpleDateFormat; | |||
@@ -38,11 +35,9 @@ import com.gitblit.IStoredSettings; | |||
import com.gitblit.Keys; | |||
import com.gitblit.manager.IRepositoryManager; | |||
import com.gitblit.models.Activity; | |||
import com.gitblit.models.GravatarProfile; | |||
import com.gitblit.models.RefModel; | |||
import com.gitblit.models.RepositoryCommit; | |||
import com.gitblit.models.RepositoryModel; | |||
import com.google.gson.reflect.TypeToken; | |||
/** | |||
* Utility class for building activity information from repositories. | |||
@@ -161,19 +156,6 @@ public class ActivityUtils { | |||
return recentActivity; | |||
} | |||
/** | |||
* Returns the Gravatar profile, if available, for the specified email | |||
* address. | |||
* | |||
* @param emailaddress | |||
* @return a Gravatar Profile | |||
* @throws IOException | |||
*/ | |||
public static GravatarProfile getGravatarProfileFromAddress(String emailaddress) | |||
throws IOException { | |||
return getGravatarProfile(StringUtils.getMD5(emailaddress.toLowerCase())); | |||
} | |||
/** | |||
* Creates a Gravatar thumbnail url from the specified email address. | |||
* | |||
@@ -211,32 +193,4 @@ public class ActivityUtils { | |||
"https://www.gravatar.com/avatar/{0}?s={1,number,0}&d=mm", emailHash, width); | |||
return url; | |||
} | |||
/** | |||
* Returns the Gravatar profile, if available, for the specified hashcode. | |||
* address. | |||
* | |||
* @param hash | |||
* the hash of the email address | |||
* @return a Gravatar Profile | |||
* @throws IOException | |||
*/ | |||
public static GravatarProfile getGravatarProfile(String hash) throws IOException { | |||
String url = MessageFormat.format("https://www.gravatar.com/{0}.json", hash); | |||
// Gravatar has a complex json structure | |||
Type profileType = new TypeToken<Map<String, List<GravatarProfile>>>() { | |||
}.getType(); | |||
Map<String, List<GravatarProfile>> profiles = null; | |||
try { | |||
profiles = JsonUtils.retrieveJson(url, profileType); | |||
} catch (FileNotFoundException e) { | |||
} | |||
if (profiles == null || profiles.size() == 0) { | |||
return null; | |||
} | |||
// due to the complex json structure we need to pull out the profile | |||
// from a list 2 levels deep | |||
GravatarProfile profile = profiles.values().iterator().next().get(0); | |||
return profile; | |||
} | |||
} |
@@ -1,32 +0,0 @@ | |||
/* | |||
* Copyright 2011 gitblit.com. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package com.gitblit.tests; | |||
import java.io.IOException; | |||
import org.junit.Test; | |||
import com.gitblit.models.GravatarProfile; | |||
import com.gitblit.utils.ActivityUtils; | |||
public class ActivityTest extends GitblitUnitTest { | |||
@Test | |||
public void testGravatarProfile() throws IOException { | |||
GravatarProfile profile = ActivityUtils.getGravatarProfile("beau@dentedreality.com.au"); | |||
assertEquals("beau", profile.preferredUsername); | |||
} | |||
} |