@ApiOperation(value = "Save the content item data", tags = { "Content item" }, notes = "Save the content item data with an attached file. " + "The request should be of type multipart/form-data. There should be a single file-part included with the binary value of the content item.") @ApiImplicitParams({ @ApiImplicitParam(name = "file", dataType = "file", paramType = "form", required = true) }) @ApiResponses(value = { @ApiResponse(code = 201, message = "Indicates the content item data was saved and the result is returned."), @ApiResponse(code = 400, message = "Indicates required content item data is missing from the request.") }) @PostMapping(value = "/content-service/content-items/{contentItemId}/data", produces = "application/json", consumes = "multipart/form-data") public ContentItemResponse saveContentItemData(@ApiParam(name = "contentItemId") @PathVariable("contentItemId") String contentItemId, HttpServletRequest request, HttpServletResponse response) { if (!(request instanceof MultipartHttpServletRequest)) { throw new FlowableException("Multipart request required to save content item data"); } ContentItem contentItem = getContentItemFromRequest(contentItemId); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = multipartRequest.getFileMap().values().iterator().next(); if (file == null) { throw new FlowableIllegalArgumentException("Content item file is required."); } try { contentService.saveContentItem(contentItem, file.getInputStream()); response.setStatus(HttpStatus.CREATED.value()); return contentRestResponseFactory.createContentItemResponse(contentItem); } catch (Exception e) { throw new FlowableException("Error creating content item response", e); } }
contentService.saveContentItem(contentItem, file.getInputStream());
contentItem.setField(formField.getId()); contentItem.setTenantId(tenantId); contentService.saveContentItem(contentItem);
contentItem.setField(formField.getId()); contentItem.setTenantId(tenantId); contentService.saveContentItem(contentItem);
protected ContentItemRepresentation uploadFile(User user, MultipartFile file, String taskId, String processInstanceId, String caseId) { if (file != null && file.getName() != null) { try { String contentType = file.getContentType(); // temp additional content type check for IE9 flash uploads if (StringUtils.equals(file.getContentType(), "application/octet-stream")) { contentType = getContentTypeForFileExtension(file); } ContentItem contentItem = contentService.newContentItem(); contentItem.setName(getFileName(file)); contentItem.setProcessInstanceId(processInstanceId); contentItem.setTaskId(taskId); if (StringUtils.isNotEmpty(caseId)) { contentItem.setScopeType("cmmn"); contentItem.setScopeId(caseId); } contentItem.setMimeType(contentType); contentItem.setCreatedBy(user.getId()); contentItem.setLastModifiedBy(user.getId()); contentService.saveContentItem(contentItem, file.getInputStream()); return createContentItemResponse(contentItem); } catch (IOException e) { throw new BadRequestException("Error while reading file data", e); } } else { throw new BadRequestException("File to upload is missing"); } }
contentService.saveContentItem(contentItem);
protected ContentItemRepresentation addContentItem(ContentItemRepresentation contentItemBody, String taskId, String processInstanceId, boolean isRelatedContent) { if (contentItemBody.getContentStoreId() == null || contentItemBody.getContentStoreName() == null || contentItemBody.getName() == null) { throw new BadRequestException("Name, source and sourceId are required parameters"); } User user = SecurityUtils.getCurrentUserObject(); ContentItem contentItem = contentService.newContentItem(); contentItem.setName(contentItemBody.getName()); contentItem.setProcessInstanceId(processInstanceId); contentItem.setTaskId(taskId); contentItem.setContentStoreId(contentItemBody.getContentStoreId()); contentItem.setContentStoreName(contentItemBody.getContentStoreName()); contentItem.setMimeType(contentItemBody.getMimeType()); contentItem.setCreatedBy(user.getId()); contentItem.setLastModifiedBy(user.getId()); contentService.saveContentItem(contentItem); return createContentItemResponse(contentItem); }
protected ContentItemResponse createSimpleContentItem(ContentItemRequest contentItemRequest) { if (contentItemRequest.getName() == null) { throw new FlowableIllegalArgumentException("Content item name is required."); } ContentItem contentItem = contentService.newContentItem(); contentItem.setName(contentItemRequest.getName()); contentItem.setMimeType(contentItemRequest.getMimeType()); contentItem.setTaskId(contentItemRequest.getTaskId()); contentItem.setProcessInstanceId(contentItemRequest.getProcessInstanceId()); contentItem.setContentStoreId(contentItemRequest.getContentStoreId()); contentItem.setContentStoreName(contentItemRequest.getContentStoreName()); contentItem.setField(contentItemRequest.getField()); contentItem.setCreatedBy(contentItemRequest.getCreatedBy()); contentItem.setLastModifiedBy(contentItemRequest.getLastModifiedBy()); contentItem.setTenantId(contentItemRequest.getTenantId()); if (restApiInterceptor != null) { restApiInterceptor.createNewContentItem(contentItem); } contentService.saveContentItem(contentItem); return contentRestResponseFactory.createContentItemResponse(contentItem); }