test_class.declarator: controller
test_class.modifier: @Autowired private
test_class.original_string: @Autowired private IdmNotificationAttachmentController controller;
test_class.type: IdmNotificationAttachmentController
test_class.var_name: controller
test_class.declarator: notificationLogService
test_class.modifier: @Autowired private
test_class.original_string: @Autowired private IdmNotificationLogService notificationLogService;
test_class.type: IdmNotificationLogService
test_class.var_name: notificationLogService
test_class.declarator: attachmentManager
test_class.modifier: @Autowired private
test_class.original_string: @Autowired private AttachmentManager attachmentManager;
test_class.type: AttachmentManager
test_class.var_name: attachmentManager
test_class.declarator: notificationAttachmentService
test_class.modifier: @Autowired private
test_class.original_string: @Autowired private IdmNotificationAttachmentService notificationAttachmentService;
test_class.type: IdmNotificationAttachmentService
test_class.var_name: notificationAttachmentService
test_class.declarator: notificationManager
test_class.modifier: @Autowired private
test_class.original_string: @Autowired private NotificationManager notificationManager;
test_class.type: NotificationManager
test_class.var_name: notificationManager
test_class.declarator: notificationTemplateService
test_class.modifier: @Autowired private
test_class.original_string: @Autowired private IdmNotificationTemplateService notificationTemplateService;
test_class.type: IdmNotificationTemplateService
test_class.var_name: notificationTemplateService
test_class.declarator: notificationConfigurationService
test_class.modifier: @Autowired private
test_class.original_string: @Autowired private IdmNotificationConfigurationService notificationConfigurationService;
test_class.type: IdmNotificationConfigurationService
test_class.var_name: notificationConfigurationService
test_class.file: Realization/backend/core/core-impl/src/test/java/eu/bcvsolutions/idm/core/notification/rest/impl/IdmNotificationAttachmentControllerTest.java
test_class.identifier: IdmNotificationAttachmentControllerTest
test_class.superclass: extends AbstractReadWriteDtoControllerRestTest<IdmNotificationAttachmentDto>
test_case.body: @Test
  	public void testDownload() throws Exception {
  		NotificationConfigurationDto config = createConfig();
  		IdmNotificationTemplateDto template = createTestTemplate();
  		IdmIdentityDto identity = getHelper().createIdentity((GuardedString) null);
  		//
  		IdmAttachmentDto attachmentOne = DefaultAttachmentManagerIntegrationTest.prepareDtoWithoutContent();
  		attachmentOne.setInputData(IOUtils.toInputStream(getHelper().createName())); // prepared attachment
  		IdmAttachmentDto attachment = DefaultAttachmentManagerIntegrationTest.prepareDtoWithoutContent();
  		String content = getHelper().createName();
  		attachment.setInputData(IOUtils.toInputStream(content));	
  		IdmAttachmentDto attachmentTwo = attachmentManager.saveAttachment(identity, attachment);
  		List<IdmAttachmentDto> attachments = Lists.newArrayList(attachmentOne, attachmentTwo);
  		//
  		List<IdmNotificationLogDto> notifications = notificationManager.send(
  				config.getTopic(), 
  				new IdmMessageDto.Builder().setTemplate(template).build(), 
  				null,
  				Lists.newArrayList(identity),
  				attachments);
  		
  		Assert.assertEquals(1, notifications.size());
  		Assert.assertTrue(notifications.stream().anyMatch(n -> n.getType().equals(IdmEmailLog.NOTIFICATION_TYPE)));
  		//
  		IdmNotificationLogDto notification = notifications.get(0);
  		//
  		IdmNotificationAttachmentFilter notificationAttachmentFilter = new IdmNotificationAttachmentFilter();
  		notificationAttachmentFilter.setNotification(notification.getId());
  		List<IdmNotificationAttachmentDto> notificationAttachments = notificationAttachmentService.find(notificationAttachmentFilter, null).getContent();
  		Assert.assertEquals(2, notificationAttachments.size());
  		Assert.assertTrue(notificationAttachments.stream().allMatch(na -> na.getAttachment() != null));
  		Assert.assertTrue(notificationAttachments.stream().anyMatch(na -> na.getAttachment().equals(attachmentTwo.getId())));
  		IdmNotificationAttachmentDto notificationAttachment = notificationAttachments
  				.stream()
  				.filter(na -> na.getAttachment().equals(attachmentTwo.getId()))
  				.findFirst()
  				.get();
  		//
  		// download attachment
  		String response = getMockMvc().perform(MockMvcRequestBuilders.get(getDetailUrl(notificationAttachment.getId()) + "/download")
          		.with(authentication(getAdminAuthentication())))
  				.andExpect(status().isOk())
                  .andReturn()
                  .getResponse()
                  .getContentAsString();
  		Assert.assertEquals(content, response);
  		//
  		// 404 - notification attachment not found
  		getMockMvc().perform(MockMvcRequestBuilders.get(getDetailUrl(UUID.randomUUID()) + "/download")
          		.with(authentication(getAdminAuthentication())))
  				.andExpect(status().isNotFound());
  		//
  		// 404 - delete attachment (e.g. simulate ecm store purge)
  		attachmentManager.delete(attachmentTwo);
  		getMockMvc().perform(MockMvcRequestBuilders.get(getDetailUrl(notificationAttachment.getId()) + "/download")
          		.with(authentication(getAdminAuthentication())))
  				.andExpect(status().isNotFound());
  	}
test_case.class_method_signature: IdmNotificationAttachmentControllerTest.testDownload()
test_case.full_signature: @Test public void testDownload()
test_case.identifier: testDownload
test_case.invocations: createConfig createTestTemplate createIdentity getHelper prepareDtoWithoutContent setInputData toInputStream createName getHelper prepareDtoWithoutContent createName getHelper setInputData toInputStream saveAttachment newArrayList send getTopic build setTemplate newArrayList assertEquals size assertTrue anyMatch stream equals getType get setNotification getId getContent find assertEquals size assertTrue allMatch stream getAttachment assertTrue anyMatch stream equals getAttachment getId get findFirst filter stream equals getAttachment getId getContentAsString getResponse andReturn andExpect perform getMockMvc with get getDetailUrl getId authentication getAdminAuthentication isOk status assertEquals andExpect perform getMockMvc with get getDetailUrl randomUUID authentication getAdminAuthentication isNotFound status delete andExpect perform getMockMvc with get getDetailUrl getId authentication getAdminAuthentication isNotFound status
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDownload()
focal_class.declarator: TAG = "Notification attachments"
focal_class.modifier: protected static final
focal_class.original_string: protected static final String TAG = "Notification attachments";
focal_class.type: String
focal_class.var_name: TAG
focal_class.declarator: attachmentManager
focal_class.modifier: @Autowired private
focal_class.original_string: @Autowired private AttachmentManager attachmentManager;
focal_class.type: AttachmentManager
focal_class.var_name: attachmentManager
focal_class.file: Realization/backend/core/core-impl/src/main/java/eu/bcvsolutions/idm/core/notification/rest/impl/IdmNotificationAttachmentController.java
focal_class.identifier: IdmNotificationAttachmentController
focal_class.class_method_signature: IdmNotificationAttachmentController.IdmNotificationAttachmentController(IdmNotificationAttachmentService service)
focal_class.full_signature: @Autowired public  IdmNotificationAttachmentController(IdmNotificationAttachmentService service)
focal_class.identifier: IdmNotificationAttachmentController
focal_class.modifiers: @Autowired public
focal_class.parameters: (IdmNotificationAttachmentService service)
focal_class.signature:  IdmNotificationAttachmentController(IdmNotificationAttachmentService service)
focal_class.class_method_signature: IdmNotificationAttachmentController.find(
  			@RequestParam(required = false) MultiValueMap<String, Object> parameters, 
  			@PageableDefault Pageable pageable)
focal_class.full_signature: @Override @ResponseBody @RequestMapping(method = RequestMethod.GET) @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @ApiOperation( value = "Search notification attachments (/search/quick alias)", nickname = "searchNotificationAttachments", tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public Resources<?> find(
  			@RequestParam(required = false) MultiValueMap<String, Object> parameters, 
  			@PageableDefault Pageable pageable)
focal_class.identifier: find
focal_class.modifiers: @Override @ResponseBody @RequestMapping(method = RequestMethod.GET) @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @ApiOperation( value = "Search notification attachments (/search/quick alias)", nickname = "searchNotificationAttachments", tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public
focal_class.parameters: (
  			@RequestParam(required = false) MultiValueMap<String, Object> parameters, 
  			@PageableDefault Pageable pageable)
focal_class.return: Resources<?>
focal_class.signature: Resources<?> find(
  			@RequestParam(required = false) MultiValueMap<String, Object> parameters, 
  			@PageableDefault Pageable pageable)
focal_class.class_method_signature: IdmNotificationAttachmentController.findQuick(
  			@RequestParam(required = false) MultiValueMap<String, Object> parameters,
  			@PageableDefault Pageable pageable)
focal_class.full_signature: @ResponseBody @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @RequestMapping(value = "/search/quick", method = RequestMethod.GET) @ApiOperation( value = "Search notification attachments", nickname = "searchQuickNotificationAttachments", tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public Resources<?> findQuick(
  			@RequestParam(required = false) MultiValueMap<String, Object> parameters,
  			@PageableDefault Pageable pageable)
focal_class.identifier: findQuick
focal_class.modifiers: @ResponseBody @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @RequestMapping(value = "/search/quick", method = RequestMethod.GET) @ApiOperation( value = "Search notification attachments", nickname = "searchQuickNotificationAttachments", tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public
focal_class.parameters: (
  			@RequestParam(required = false) MultiValueMap<String, Object> parameters,
  			@PageableDefault Pageable pageable)
focal_class.return: Resources<?>
focal_class.signature: Resources<?> findQuick(
  			@RequestParam(required = false) MultiValueMap<String, Object> parameters,
  			@PageableDefault Pageable pageable)
focal_class.class_method_signature: IdmNotificationAttachmentController.count(@RequestParam(required = false) MultiValueMap<String, Object> parameters)
focal_class.full_signature: @Override @ResponseBody @RequestMapping(value = "/search/count", method = RequestMethod.GET) @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_COUNT + "')") @ApiOperation( value = "The number of entities that match the filter", nickname = "countNotificationAttachments", tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_COUNT, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_COUNT, description = "") }) }) public long count(@RequestParam(required = false) MultiValueMap<String, Object> parameters)
focal_class.identifier: count
focal_class.modifiers: @Override @ResponseBody @RequestMapping(value = "/search/count", method = RequestMethod.GET) @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_COUNT + "')") @ApiOperation( value = "The number of entities that match the filter", nickname = "countNotificationAttachments", tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_COUNT, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_COUNT, description = "") }) }) public
focal_class.parameters: (@RequestParam(required = false) MultiValueMap<String, Object> parameters)
focal_class.return: long
focal_class.signature: long count(@RequestParam(required = false) MultiValueMap<String, Object> parameters)
focal_class.class_method_signature: IdmNotificationAttachmentController.get(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable @NotNull String backendId)
focal_class.full_signature: @Override @ResponseBody @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @RequestMapping(value = "/{backendId}", method = RequestMethod.GET) @ApiOperation( value = "Notification attachment detail", nickname = "getNotificationAttachment", response = IdmNotificationAttachmentDto.class, tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public ResponseEntity<?> get(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable @NotNull String backendId)
focal_class.identifier: get
focal_class.modifiers: @Override @ResponseBody @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @RequestMapping(value = "/{backendId}", method = RequestMethod.GET) @ApiOperation( value = "Notification attachment detail", nickname = "getNotificationAttachment", response = IdmNotificationAttachmentDto.class, tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public
focal_class.parameters: (
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable @NotNull String backendId)
focal_class.return: ResponseEntity<?>
focal_class.signature: ResponseEntity<?> get(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable @NotNull String backendId)
focal_class.class_method_signature: IdmNotificationAttachmentController.getPermissions(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable @NotNull String backendId)
focal_class.full_signature: @Override @ResponseBody @RequestMapping(value = "/{backendId}/permissions", method = RequestMethod.GET) @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @ApiOperation( value = "What logged identity can do with given record", nickname = "getPermissionsOnNotificationAttachment", tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "")}), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "")}) }) public Set<String> getPermissions(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable @NotNull String backendId)
focal_class.identifier: getPermissions
focal_class.modifiers: @Override @ResponseBody @RequestMapping(value = "/{backendId}/permissions", method = RequestMethod.GET) @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @ApiOperation( value = "What logged identity can do with given record", nickname = "getPermissionsOnNotificationAttachment", tags = { IdmNotificationAttachmentController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "")}), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "")}) }) public
focal_class.parameters: (
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable @NotNull String backendId)
focal_class.return: Set<String>
focal_class.signature: Set<String> getPermissions(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable @NotNull String backendId)
focal_class.class_method_signature: IdmNotificationAttachmentController.download(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId)
focal_class.full_signature: @RequestMapping(value = "/{backendId}/download", method = RequestMethod.GET) @ResponseBody @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @ApiOperation( value = "Download notification attachment", nickname = "downloadNotificationAttachment", tags = { IdmNotificationAttachmentController.TAG }, notes = "Returns input stream to notification attachment.", authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public ResponseEntity<InputStreamResource> download(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId)
focal_class.identifier: download
focal_class.modifiers: @RequestMapping(value = "/{backendId}/download", method = RequestMethod.GET) @ResponseBody @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @ApiOperation( value = "Download notification attachment", nickname = "downloadNotificationAttachment", tags = { IdmNotificationAttachmentController.TAG }, notes = "Returns input stream to notification attachment.", authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public
focal_class.parameters: (
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId)
focal_class.return: ResponseEntity<InputStreamResource>
focal_class.signature: ResponseEntity<InputStreamResource> download(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId)
focal_class.class_method_signature: IdmNotificationAttachmentController.toFilter(MultiValueMap<String, Object> parameters)
focal_class.full_signature: @Override protected IdmNotificationAttachmentFilter toFilter(MultiValueMap<String, Object> parameters)
focal_class.identifier: toFilter
focal_class.modifiers: @Override protected
focal_class.parameters: (MultiValueMap<String, Object> parameters)
focal_class.return: IdmNotificationAttachmentFilter
focal_class.signature: IdmNotificationAttachmentFilter toFilter(MultiValueMap<String, Object> parameters)
focal_class.superclass: extends AbstractReadWriteDtoController<IdmNotificationAttachmentDto, IdmNotificationAttachmentFilter>
focal_method.body: @RequestMapping(value = "/{backendId}/download", method = RequestMethod.GET)
  	@ResponseBody
  	@PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')")
  	@ApiOperation(
  			value = "Download notification attachment", 
  			nickname = "downloadNotificationAttachment",
  			tags = { IdmNotificationAttachmentController.TAG },
  			notes = "Returns input stream to notification attachment.",
  			authorizations = {
  					@Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { 
  							@AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }),
  					@Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { 
  							@AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") })
  					})
  	public ResponseEntity<InputStreamResource> download(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId) {
  		IdmNotificationAttachmentDto dto = getDto(backendId);
  		if (dto == null) {
  			throw new EntityNotFoundException(getService().getEntityClass(), backendId);
  		}
  		//
  		UUID attachmentId = dto.getAttachment();
  		IdmAttachmentDto attachment = attachmentManager.get(attachmentId);
  		if (attachment == null) {
  			throw new EntityNotFoundException(attachmentManager.getEntityClass(), attachmentId);
  		}
  		//
  		InputStream is = attachmentManager.getAttachmentData(attachment.getId());
  		//
  		try {
  			BodyBuilder response = ResponseEntity
  					.ok()
  					.contentLength(is.available())
  					.header(HttpHeaders.CONTENT_DISPOSITION, String.format("attachment; filename=\"%s\"", attachment.getName()));
  			// append media type, if it's filled
  			String mimetype = attachment.getMimetype();
  			if (StringUtils.isNotBlank(mimetype)) {
  				response = response.contentType(MediaType.valueOf(attachment.getMimetype()));
  			}
  			//
  			return response.body(new InputStreamResource(is));
  		} catch (IOException e) {
  			throw new ResultCodeException(CoreResultCode.INTERNAL_SERVER_ERROR, e);
  		}
  	}
focal_method.class_method_signature: IdmNotificationAttachmentController.download(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId)
focal_method.full_signature: @RequestMapping(value = "/{backendId}/download", method = RequestMethod.GET) @ResponseBody @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @ApiOperation( value = "Download notification attachment", nickname = "downloadNotificationAttachment", tags = { IdmNotificationAttachmentController.TAG }, notes = "Returns input stream to notification attachment.", authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public ResponseEntity<InputStreamResource> download(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId)
focal_method.identifier: download
focal_method.invocations: getDto getEntityClass getService getAttachment get getEntityClass getAttachmentData getId header contentLength ok available format getName getMimetype isNotBlank contentType valueOf getMimetype body
focal_method.modifiers: @RequestMapping(value = "/{backendId}/download", method = RequestMethod.GET) @ResponseBody @PreAuthorize("hasAuthority('" + NotificationGroupPermission.NOTIFICATION_READ + "')") @ApiOperation( value = "Download notification attachment", nickname = "downloadNotificationAttachment", tags = { IdmNotificationAttachmentController.TAG }, notes = "Returns input stream to notification attachment.", authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = NotificationGroupPermission.NOTIFICATION_READ, description = "") }) }) public
focal_method.parameters: (
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId)
focal_method.return: ResponseEntity<InputStreamResource>
focal_method.signature: ResponseEntity<InputStreamResource> download(
  			@ApiParam(value = "Notification attachment uuid identifier.", required = true)
  			@PathVariable String backendId)