View Javadoc
1   package com.atlassian.refapp.sal.user;
2   
3   import com.atlassian.sal.api.user.UserKey;
4   import com.atlassian.sal.api.user.UserProfile;
5   import com.atlassian.user.User;
6   
7   import java.net.URI;
8   import java.util.TimeZone;
9   
10  import static com.google.common.base.Preconditions.checkNotNull;
11  
12  public class RefimplUserProfile implements UserProfile {
13      private static final URI LARGE_CHARLIE = URI.create("/charlie_lg.png");
14  
15      private final String username;
16      private final String fullName;
17      private final String email;
18      private final URI profilePageUri;
19  
20      public RefimplUserProfile(User user) {
21          this.username = checkNotNull(user.getName(), "username");
22          this.fullName = user.getFullName();
23          this.email = user.getEmail();
24          this.profilePageUri = URI.create("/plugins/servlet/users/" + username);
25      }
26  
27      @Override
28      public UserKey getUserKey() {
29          // No separate primary key, so return the username
30          return new UserKey(username);
31      }
32  
33      @Override
34      public String getUsername() {
35          return username;
36      }
37  
38      @Override
39      public String getFullName() {
40          return fullName;
41      }
42  
43      @Override
44      public String getEmail() {
45          return email;
46      }
47  
48      @Override
49      public URI getProfilePictureUri(int width, int height) {
50          if (width > 100 || height > 100) {
51              return null;
52          } else {
53              return LARGE_CHARLIE;
54          }
55      }
56  
57      @Override
58      public URI getProfilePictureUri() {
59          return LARGE_CHARLIE;
60      }
61  
62      @Override
63      public URI getProfilePageUri() {
64          return profilePageUri;
65      }
66  
67      // TODO: Remove this method when SAL-162 has been finished
68      public TimeZone getTimeZone() {
69          return null;
70      }
71  }