|
42 | 42 | import java.util.Map; |
43 | 43 | import java.util.Set; |
44 | 44 | import java.util.function.Supplier; |
| 45 | +import java.util.stream.Stream; |
45 | 46 |
|
46 | 47 | /** |
47 | 48 | * Base class for implementations of @{link DataEntryForm}. |
48 | | - * User: bimber |
49 | | - * Date: 4/27/13 |
50 | 49 | */ |
51 | 50 | public class AbstractDataEntryForm implements DataEntryForm |
52 | 51 | { |
@@ -304,29 +303,18 @@ private Map<String, Map<String, Map<String, String>>> getPermissionMap() |
304 | 303 | String schemaName= pair.first; |
305 | 304 | String queryName = pair.second; |
306 | 305 |
|
307 | | - Map<String, Map<String, String>> schemaPerms = permissionMap.get(schemaName); |
308 | | - if (schemaPerms == null) |
309 | | - schemaPerms = new HashMap<>(); |
| 306 | + Map<String, Map<String, String>> schemaPerms = permissionMap.computeIfAbsent(schemaName, k -> new HashMap<>()); |
| 307 | + Map<String, String> queryPerms = schemaPerms.computeIfAbsent(queryName, k -> new HashMap<>()); |
310 | 308 |
|
311 | | - Map<String, String> queryPerms = schemaPerms.get(queryName); |
312 | | - if (queryPerms == null) |
313 | | - queryPerms = new HashMap<>(); |
314 | | - |
315 | | - Set<Class<? extends Permission>> setOfPermissions; |
| 309 | + Stream<Class<? extends Permission>> streamOfPermissions; |
316 | 310 |
|
317 | 311 | //test if this is a dataset |
318 | 312 | if ("study".equalsIgnoreCase(schemaName) && datasetMap.get(queryName) != null) |
319 | | - setOfPermissions = datasetMap.get(queryName).getPermissions(_ctx.getUser()); |
| 313 | + streamOfPermissions = datasetMap.get(queryName).getPermissions(_ctx.getUser()).stream(); |
320 | 314 | else |
321 | | - setOfPermissions = SecurityManager.getPermissions(_ctx.getContainer(), _ctx.getUser(), Set.of()); |
322 | | - |
323 | | - for (Class<? extends Permission> p : setOfPermissions) |
324 | | - { |
325 | | - queryPerms.put(p.getName(), p.getCanonicalName()); |
326 | | - } |
| 315 | + streamOfPermissions = SecurityManager.streamPermissions(_ctx.getContainer(), _ctx.getUser(), Set.of()); |
327 | 316 |
|
328 | | - schemaPerms.put(queryName, queryPerms); |
329 | | - permissionMap.put(schemaName, schemaPerms); |
| 317 | + streamOfPermissions.forEach(p -> queryPerms.put(p.getName(), p.getCanonicalName())); |
330 | 318 | } |
331 | 319 |
|
332 | 320 | return permissionMap; |
|
0 commit comments