/** * Creates an BaseFileTransferMappedRecord from a ByteArrayOutputStream * * Checksum is calculated automatically by the DefaultPayload class * * @param uri * @param output * @return BaseFileTransferMappedRecord */ public static BaseFileTransferMappedRecord createBaseFileTransferMappedRecord(URI uri, ByteArrayOutputStream output) { File srcFile = new File((uri).getPath()); String fileName = srcFile.getName(); BaseFileTransferMappedRecord record = new BaseFileTransferMappedRecord(); record.setRecordName(uri.toString()); record.setRecordShortDescription(""); record.setContent(output.toByteArray()); record.setName(fileName); record.setCreatedDayTime(new Date()); record.setSize(output.toByteArray().length); return record; }
/** * Complete constructor * * @param name * @param size * @param checksum * @param checksumAlgorithmName * @param createdDayTime * @param payload * */ public BaseFileTransferMappedRecord(String name, long size, String checksum, String checksumAlgorithmName, Date createdDayTime, byte[] payload) { logger.debug("Constructor called with checksum = [" + checksum + "]"); //$NON-NLS-1$ //$NON-NLS-2$ this.mappedRecord = new HashMap<String, Object>(7); this.setName(name); this.setSize(size); this.setChecksum(checksum, checksumAlgorithmName); this.setCreatedDayTime(createdDayTime); this.setContent(payload); }
/** * Deliver the mapped record * * @param mappedRecord * @throws ResourceException */ private void deliverMappedRecord(BaseFileTransferMappedRecord mappedRecord) throws ResourceException { this.fileName = mappedRecord.getName(); if (this.tempFileName == null || this.tempFileName.trim().length() == 0) { this.tempFileName = this.fileName + this.renameExtension; } mappedRecord.setName(this.tempFileName); if(!this.overwriteExisting) { if(fileExists(this.fileName)) { throw new ResourceException("Cannot deliver file [" + this.fileName + "] as a file of that name already exists"); } } this.putAttempted = true; putFile(mappedRecord); }
/** * Method used to map an <code>Payload</code> object to a * <code>BaseFileTransferMappedRecord</code> object. * * @param payload The payload to transform * @return A BaseFileTransferMappedRecord constructed from the payload. */ public static BaseFileTransferMappedRecord payloadToMappedRecord(Payload payload) { BaseFileTransferMappedRecord record = new BaseFileTransferMappedRecord(); record.setContent(payload.getContent()); //record.setChecksum(payload.getChecksum(), payload.getChecksumAlg()); record.setName(payload.getAttribute(FilePayloadAttributeNames.FILE_NAME)); record.setSize(payload.getSize()); //record.setCreatedDayTime(new Date(payload.getTimestamp())); record.setRecordName(payload.getAttribute(FilePayloadAttributeNames.FILE_NAME)); record.setRecordShortDescription(null); return record; } }