@@ -90,17 +90,22 @@ public class JsonPrinter {
9090 @ EJB
9191 static InAppNotificationsJsonPrinter inAppNotificationsJsonPrinter ;
9292
93+ @ EJB
94+ static RoleAssigneeServiceBean roleAssigneeService ;
95+
9396 public static void injectSettingsService (SettingsServiceBean ssb ,
9497 DatasetFieldServiceBean dfsb ,
9598 DataverseFieldTypeInputLevelServiceBean dfils ,
9699 DatasetServiceBean ds ,
97100 MailServiceBean ms ,
98- InAppNotificationsJsonPrinter njp ) {
101+ InAppNotificationsJsonPrinter njp ,
102+ RoleAssigneeServiceBean ras ) {
99103 settingsService = ssb ;
100104 datasetFieldService = dfsb ;
101105 datasetService = ds ;
102106 mailService = ms ;
103107 inAppNotificationsJsonPrinter = njp ;
108+ roleAssigneeService = ras ;
104109 }
105110
106111 public JsonPrinter () {
@@ -155,14 +160,24 @@ public static JsonArrayBuilder jsonRoleAssignments(List<RoleAssignment> roleAssi
155160 }
156161
157162 public static JsonObjectBuilder json (RoleAssignment ra ) {
158- return jsonObjectBuilder ()
159- .add ("id" , ra .getId ())
160- .add ("assignee" , ra .getAssigneeIdentifier ())
161- .add ("roleId" , ra .getRole ().getId ())
162- .add ("roleName" , ra .getRole ().getName ())
163- .add ("_roleAlias" , ra .getRole ().getAlias ())
164- .add ("privateUrlToken" , ra .getPrivateUrlToken ())
165- .add ("definitionPointId" , ra .getDefinitionPoint ().getId ());
163+ JsonObjectBuilder job = jsonObjectBuilder ()
164+ .add ("id" , ra .getId ())
165+ .add ("assignee" , ra .getAssigneeIdentifier ())
166+ .add ("assigneeName" , roleAssigneeService .getRoleAssignee (ra .getAssigneeIdentifier ()).getDisplayInfo ().getTitle ())
167+ .add ("roleId" , ra .getRole ().getId ())
168+ .add ("roleName" , ra .getRole ().getName ())
169+ .add ("roleDescription" , ra .getRole ().getDescription ())
170+ .add ("_roleAlias" , ra .getRole ().getAlias ())
171+ .add ("privateUrlToken" , ra .getPrivateUrlToken ())
172+ .add ("definitionPointId" , ra .getDefinitionPoint ().getId ())
173+ .add ("definitionPointName" , ra .getDefinitionPoint ().getDisplayName ())
174+ .add ("definitionPointType" , ra .getDefinitionPoint ().getDtype ());
175+
176+ if (ra .getDefinitionPoint ().getGlobalId () != null ) {
177+ job .add ("definitionPointGlobalId" , ra .getDefinitionPoint ().getGlobalId ().toString ());
178+ }
179+
180+ return job ;
166181 }
167182
168183 public static JsonArrayBuilder json (Set <Permission > permissions ) {
@@ -296,12 +311,12 @@ public static JsonObjectBuilder json(Workflow wf){
296311
297312 return bld ;
298313 }
299-
314+
300315 public static JsonObjectBuilder json (Dataverse dv , boolean minimal ) {
301316 if (!minimal ){
302317 return json (dv , false , false , false , null );
303318 } else {
304- return json (dv , false , false , true , null );
319+ return json (dv , false , false , true , null );
305320 }
306321 }
307322
@@ -315,7 +330,7 @@ public static JsonObjectBuilder json(Dataverse dv, Boolean hideEmail, Boolean re
315330 .add ("id" , dv .getId ())
316331 .add ("alias" , dv .getAlias ())
317332 .add ("name" , dv .getName ());
318- //minimal refers to only returning the id alias and name for
333+ //minimal refers to only returning the id alias and name for
319334 //used in selecting collections available for linking
320335 if (minimal ) {
321336 return bld ;
@@ -1715,7 +1730,7 @@ public static JsonArrayBuilder json(List<UserNotification> notifications, Authen
17151730
17161731 return notificationsArray ;
17171732 }
1718-
1733+
17191734 public static JsonObjectBuilder jsonLanguage (String locale , String title ) {
17201735 // returns a single metadata language entry
17211736 return jsonObjectBuilder ().add ("locale" , locale ).add ("title" , title );
@@ -1725,7 +1740,7 @@ public static JsonArrayBuilder jsonLanguage(Map<String, String> langMap) {
17251740 // returns an array of metadatalanguages
17261741 return Json .createArrayBuilder (langMap .entrySet ().stream ().map (entry -> jsonLanguage (entry .getKey (), entry .getValue ())).toList ());
17271742 }
1728-
1743+
17291744 public static JsonArrayBuilder jsonDatasetVersionSummaries (List <DatasetVersionSummary > summaries ) {
17301745 JsonArrayBuilder arrayBuilder = Json .createArrayBuilder ();
17311746 summaries .stream ()
0 commit comments