@@ -158,10 +158,31 @@ public void updateUserData(UserData user, EclipseProfile profile) {
158158 user .setEclipsePersonId (profile .getName ());
159159 }
160160
161+ public void enrichUserJson (UserJson json , UserData user ) {
162+ var usableToken = true ;
163+ PublisherAgreement agreement = null ;
164+ try {
165+ // Add information on the publisher agreement
166+ agreement = getPublisherAgreement (user );
167+ } catch (ErrorResultException e ) {
168+ if (e .getStatus () == HttpStatus .FORBIDDEN ) {
169+ usableToken = false ;
170+ } else {
171+ logger .info ("Failed to enrich UserJson" , e );
172+ }
173+ }
174+
175+ enrichUserJson (json , user , agreement , usableToken );
176+ }
177+
178+ public void enrichUserJson (UserJson json , UserData user , PublisherAgreement agreement ) {
179+ enrichUserJson (json , user , agreement , true );
180+ }
181+
161182 /**
162183 * Enrich the given JSON user data with Eclipse-specific information.
163184 */
164- public void enrichUserJson (UserJson json , UserData user ) {
185+ private void enrichUserJson (UserJson json , UserData user , PublisherAgreement agreement , boolean usableToken ) {
165186 if (!isActive ()) {
166187 return ;
167188 }
@@ -175,23 +196,12 @@ public void enrichUserJson(UserJson json, UserData user) {
175196 return ;
176197 }
177198
178- var usableToken = true ;
179- try {
180- // Add information on the publisher agreement
181- var agreement = getPublisherAgreement (user );
182- if (agreement != null && agreement .isActive () && agreement .version () != null ) {
183- var status = publisherAgreementVersion .equals (agreement .version ()) ? "signed" : "outdated" ;
184- publisherAgreement .setStatus (status );
185- }
186- if (agreement != null && agreement .timestamp () != null ) {
187- publisherAgreement .setTimestamp (TimeUtil .toUTCString (agreement .timestamp ()));
188- }
189- } catch (ErrorResultException e ) {
190- if (e .getStatus () == HttpStatus .FORBIDDEN ) {
191- usableToken = false ;
192- } else {
193- logger .info ("Failed to enrich UserJson" , e );
194- }
199+ if (agreement != null && agreement .isActive () && agreement .version () != null ) {
200+ var status = publisherAgreementVersion .equals (agreement .version ()) ? "signed" : "outdated" ;
201+ publisherAgreement .setStatus (status );
202+ }
203+ if (agreement != null && agreement .timestamp () != null ) {
204+ publisherAgreement .setTimestamp (TimeUtil .toUTCString (agreement .timestamp ()));
195205 }
196206
197207 // Report user as logged in only if there is a usable token:
0 commit comments