/** * refreshes a given Collection of attachment's references that can change. * * @param attachments the attachments. */ private void refreshAttachmentReferences(List<SubAwardAttachments> attachments) { assert attachments != null : "the attachments was null"; for (final SubAwardAttachments attachment : attachments) { attachment.refreshReferenceObject("typeAttachment"); } }
/** * assigns a document id to all attachments in the passed in collection based on the passed in * type to doc number map. * * @param <T> the type of attachments * @param attachments the collection of attachments that require doc number assignment * @param typeToDocNumber the map that contains all the highest doc numbers of existing * attachments based on type code */ private void assignDocumentId( List<SubAwardAttachments> attachments, final Map<String, Integer> typeToDocNumber) { for (SubAwardAttachments attachment : attachments) { if (attachment.isNew()) { final Integer nextDocNumber = SubAwardAttachmentFormBean.createNextDocNumber( typeToDocNumber.get(attachment.getSubAwardAttachmentTypeCode())); attachment.setDocumentId(nextDocNumber); } } }
/** * Creates a map containing the highest doc number from a collection of attachments for each type * code. * * @param <T> the type * @param attachments the collection of attachments * @return the map */ private Map<String, Integer> createTypeToMaxDocNumber(List<SubAwardAttachments> attachments) { final Map<String, Integer> typeToDocNumber = new HashMap<String, Integer>(); for (SubAwardAttachments attachment : attachments) { final Integer curMax = typeToDocNumber.get(attachment.getSubAwardAttachmentTypeCode()); if (curMax == null || curMax.intValue() < attachment.getDocumentId().intValue()) { typeToDocNumber.put(attachment.getSubAwardAttachmentTypeCode(), attachment.getDocumentId()); } } return typeToDocNumber; }
private void syncNewFiles(List<SubAwardAttachments> attachments) { assert attachments != null : "the attachments was null"; for (SubAwardAttachments attachment : attachments) { if (SubAwardAttachmentFormBean.doesNewFileExist(attachment)) { final AttachmentFile newFile = AttachmentFile.createFromFormFile(attachment.getNewFile()); // setting the sequence number to the old file sequence number if (attachment.getFile() != null) { newFile.setSequenceNumber(attachment.getFile().getSequenceNumber()); } attachment.setFile(newFile); } } }
/** * Checks if a new file exists on an attachment * * @param attachment the attachment * @return true if new false if not */ private static boolean doesNewFileExist(SubAwardAttachments attachment) { return attachment.getNewFile() != null && StringUtils.isNotBlank(attachment.getNewFile().getFileName()); }