|
8 | 8 | import java.util.HashMap; |
9 | 9 | import java.util.List; |
10 | 10 | import java.util.Map; |
11 | | - |
| 11 | +import java.util.Map.Entry; |
12 | 12 |
|
13 | 13 | import jakarta.ejb.EJB; |
14 | 14 | import jakarta.ejb.LocalBean; |
@@ -1194,22 +1194,31 @@ public Response getDownloadTypeStatuses(@QueryParam("facilityName") String facil |
1194 | 1194 | IcatClient icatClient = new IcatClient(icatUrl, sessionId); |
1195 | 1195 | String userName = icatClient.getUserName(); |
1196 | 1196 | TransportMap transportMap = TransportMap.getInstance(); |
| 1197 | + HashMap<String, TransportMechanism> facilityMapping = transportMap.getFacilityMapping(facilityName); |
1197 | 1198 |
|
1198 | 1199 | JsonObjectBuilder responseJson = Json.createObjectBuilder(); |
1199 | | - List<DownloadType> downloadTypes = downloadTypeRepository.getDownloadTypes(facilityName); |
1200 | | - for (DownloadType downloadType : downloadTypes) { |
1201 | | - String downloadTypeName = downloadType.getDownloadType(); |
1202 | | - if (transportMap.isAllowed(facilityName, downloadTypeName, userName, icatClient)) { |
1203 | | - JsonObjectBuilder downloadTypeBuilder = Json.createObjectBuilder(); |
1204 | | - downloadTypeBuilder.add("disabled", downloadType.getDisabled()); |
1205 | | - downloadTypeBuilder.add("message", downloadType.getMessage()); |
1206 | | - TransportMechanism transportMechanism = transportMap.getTransportMechanism(facilityName, downloadTypeName); |
1207 | | - if (transportMechanism != null) { |
1208 | | - downloadTypeBuilder.add("idsUrl", transportMechanism.idsUrl); |
1209 | | - downloadTypeBuilder.add("displayName", transportMechanism.displayName); |
1210 | | - downloadTypeBuilder.add("description", transportMechanism.description); |
| 1200 | + if (facilityMapping != null) { |
| 1201 | + for (Entry<String, TransportMechanism> entry : facilityMapping.entrySet()) { |
| 1202 | + String downloadTypeName = entry.getKey(); |
| 1203 | + TransportMechanism transportMechanism = entry.getValue(); |
| 1204 | + if (transportMap.isAllowed(facilityName, downloadTypeName, userName, icatClient)) { |
| 1205 | + JsonObjectBuilder downloadTypeBuilder = Json.createObjectBuilder(); |
| 1206 | + if (transportMechanism != null) { |
| 1207 | + downloadTypeBuilder.add("idsUrl", transportMechanism.idsUrl); |
| 1208 | + downloadTypeBuilder.add("displayName", transportMechanism.displayName); |
| 1209 | + downloadTypeBuilder.add("description", transportMechanism.description); |
| 1210 | + } |
| 1211 | + |
| 1212 | + DownloadType downloadType = downloadTypeRepository.getDownloadType(facilityName, downloadTypeName); |
| 1213 | + if (downloadType != null) { |
| 1214 | + downloadTypeBuilder.add("disabled", downloadType.getDisabled()); |
| 1215 | + downloadTypeBuilder.add("message", downloadType.getMessage()); |
| 1216 | + } else { |
| 1217 | + downloadTypeBuilder.add("disabled", false); |
| 1218 | + downloadTypeBuilder.add("message", ""); |
| 1219 | + } |
| 1220 | + responseJson.add(downloadTypeName, downloadTypeBuilder); |
1211 | 1221 | } |
1212 | | - responseJson.add(downloadTypeName, downloadTypeBuilder); |
1213 | 1222 | } |
1214 | 1223 | } |
1215 | 1224 |
|
|
0 commit comments