2525import com .epam .reportportal .base .infrastructure .commons .ContentTypeResolver ;
2626import com .epam .reportportal .base .infrastructure .persistence .binary .UserBinaryDataService ;
2727import com .epam .reportportal .base .infrastructure .persistence .commons .ReportPortalUser ;
28- import com .epam .reportportal .base .infrastructure .persistence .dao .ProjectRepository ;
2928import com .epam .reportportal .base .infrastructure .persistence .dao .UserRepository ;
3029import com .epam .reportportal .base .infrastructure .persistence .entity .attachment .BinaryData ;
3130import com .epam .reportportal .base .infrastructure .persistence .entity .user .User ;
3231import com .epam .reportportal .base .infrastructure .persistence .entity .user .UserRole ;
3332import com .epam .reportportal .base .infrastructure .persistence .entity .user .UserType ;
34- import com .epam .reportportal .base .infrastructure .persistence .util .PersonalProjectService ;
3533import com .epam .reportportal .base .infrastructure .rules .exception .ErrorType ;
3634import com .epam .reportportal .base .infrastructure .rules .exception .ReportPortalException ;
3735import com .epam .reportportal .extension .github .client .GitHubClient ;
3836import com .epam .reportportal .extension .github .model .EmailResource ;
3937import com .epam .reportportal .extension .github .model .UserResource ;
40- import java .io .IOException ;
4138import java .io .InputStream ;
4239import java .util .Objects ;
4340import java .util .Optional ;
4441import java .util .UUID ;
42+ import lombok .extern .slf4j .Slf4j ;
4543import org .apache .commons .lang3 .StringUtils ;
4644import org .springframework .core .io .Resource ;
4745import org .springframework .http .ResponseEntity ;
5048/**
5149 * Replicates GitHub account info with internal ReportPortal's database.
5250 */
51+ @ Slf4j
5352public class GitHubUserReplicator extends AbstractUserReplicator {
5453
5554 private final UserEventPublisher userEventPublisher ;
5655
57- public GitHubUserReplicator (UserRepository userRepository , ProjectRepository projectRepository ,
58- PersonalProjectService personalProjectService , UserBinaryDataService userBinaryDataService ,
56+ public GitHubUserReplicator (UserRepository userRepository , UserBinaryDataService userBinaryDataService ,
5957 ContentTypeResolver contentTypeResolver , UserEventPublisher userEventPublisher ) {
60- super (userRepository , projectRepository , personalProjectService , userBinaryDataService ,
61- contentTypeResolver );
58+ super (userRepository , contentTypeResolver , userBinaryDataService );
6259 this .userEventPublisher = userEventPublisher ;
6360 }
6461
@@ -68,7 +65,7 @@ public GitHubUserReplicator(UserRepository userRepository, ProjectRepository pro
6865 * @param accessToken GitHub access token
6966 */
7067 public void synchronizeUser (String accessToken ) {
71- LOGGER .info ("synchronizeUser" );
68+ log .info ("synchronizeUser" );
7269 GitHubClient gitHubClient = GitHubClient .withAccessToken (accessToken );
7370 UserResource userResource = gitHubClient .getUser ();
7471
@@ -97,7 +94,7 @@ public void synchronizeUser(String accessToken) {
9794 */
9895 @ Transactional
9996 public ReportPortalUser replicateUser (UserResource userResource , GitHubClient gitHubClient ) {
100- LOGGER .info ("replicateUser: login={}" , userResource .getLogin ());
97+ log .info ("replicateUser: login={}" , userResource .getLogin ());
10198 String email = resolveEmail (userResource , gitHubClient );
10299
103100 User user = userRepository .findByEmail (email ).map (u -> {
@@ -119,15 +116,15 @@ public ReportPortalUser replicateUser(UserResource userResource, GitHubClient gi
119116 }
120117
121118 private void updateUser (User user , UserResource userResource , GitHubClient gitHubClient ) {
122- LOGGER .info ("updateUser: login={}" , user .getLogin ());
119+ log .info ("updateUser: login={}" , user .getLogin ());
123120 user .setFullName (
124121 isNullOrEmpty (userResource .getName ()) ? user .getLogin () : userResource .getName ());
125122 user .setMetadata (defaultMetaData ());
126123 uploadAvatar (gitHubClient , user , userResource .getAvatarUrl ());
127124 }
128125
129126 private User createUser (UserResource userResource , GitHubClient gitHubClient ) {
130- LOGGER .info ("createUser: login={}" , userResource .getLogin ());
127+ log .info ("createUser: login={}" , userResource .getLogin ());
131128 String email = resolveEmail (userResource , gitHubClient );
132129 User user = new User ();
133130 user .setLogin (email );
@@ -142,7 +139,7 @@ private User createUser(UserResource userResource, GitHubClient gitHubClient) {
142139 }
143140
144141 private void uploadAvatar (GitHubClient gitHubClient , User user , String avatarUrl ) {
145- LOGGER .info ("uploadAvatar: login={}" , user .getLogin ());
142+ log .info ("uploadAvatar: login={}" , user .getLogin ());
146143 if (avatarUrl == null ) {
147144 return ;
148145 }
@@ -157,12 +154,12 @@ private void uploadAvatar(GitHubClient gitHubClient, User user, String avatarUrl
157154 uploadPhoto (user , photo );
158155 }
159156 } catch (Exception e ) {
160- LOGGER .warn ("Unable to load avatar for user '{}', skipping: {}" , user .getLogin (), e .getMessage (), e );
157+ log .warn ("Unable to load avatar for user '{}', skipping: {}" , user .getLogin (), e .getMessage (), e );
161158 }
162159 }
163160
164161 private Optional <String > retrievePrimaryEmail (GitHubClient gitHubClient ) {
165- LOGGER .info ("retrievePrimaryEmail" );
162+ log .info ("retrievePrimaryEmail" );
166163 return gitHubClient .getUserEmails ()
167164 .stream ()
168165 .filter (EmailResource ::isVerified )
@@ -172,14 +169,13 @@ private Optional<String> retrievePrimaryEmail(GitHubClient gitHubClient) {
172169 }
173170
174171 private String resolveEmail (UserResource user , GitHubClient client ) {
175- LOGGER .info ("resolveEmail: login={}" , user .getLogin ());
172+ log .info ("resolveEmail: login={}" , user .getLogin ());
176173 return Optional .ofNullable (user .getEmail ())
177174 .filter (StringUtils ::isNotBlank )
178175 .map (NORMALIZE_STRING )
179176 .orElseGet (() -> retrievePrimaryEmail (client )
180177 .map (NORMALIZE_STRING )
181178 .filter (StringUtils ::isNotBlank )
182- .orElseThrow (
183- () -> new UserSynchronizationException ("User 'email' has not been provided" )));
179+ .orElseThrow (() -> new UserSynchronizationException ("User 'email' has not been provided" )));
184180 }
185181}
0 commit comments