Class RetrieveFileCommand
- java.lang.Object
-
- org.ikasan.connector.base.command.AbstractTransactionalResourceCommand
-
- org.ikasan.connector.basefiletransfer.outbound.command.AbstractBaseFileTransferTransactionalResourceCommand
-
- org.ikasan.connector.basefiletransfer.outbound.command.RetrieveFileCommand
-
- All Implemented Interfaces:
org.ikasan.connector.base.command.TransactionalResourceCommand,org.ikasan.connector.listener.TransactionCommitFailureObserverable
- Direct Known Subclasses:
ChunkingRetrieveFileCommand
public class RetrieveFileCommand extends AbstractBaseFileTransferTransactionalResourceCommand
Retrieves a specified file from a remote directory- Author:
- Ikasan Development Team
-
-
Field Summary
Fields Modifier and Type Field Description protected BaseFileTransferDaodaoData Access Object for Base File Transferprotected booleandestructiveWhether or not to destroy the file after we pick it upprotected java.lang.StringrenameExtensionExtension with which to rename successfully retrieved files As optional timestamp can be specified by using a pattern of /[dateFormat]/ in the renameExtension e.g.protected booleanrenameOnSuccessRename the file on successful retrievalprotected java.util.regex.PatternrenameTimestampExtensionPatternPattern used in replacing a timestamp in a rename extension, for instance, captures /[dateFormat]/protected java.lang.StringsourcePathThe original source path of the file we are retrieving-
Fields inherited from class org.ikasan.connector.basefiletransfer.outbound.command.AbstractBaseFileTransferTransactionalResourceCommand
CURRENT_DIRECTORY, EOL, fileSeparator, listeners
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedRetrieveFileCommand()No args constructor required by Hibernate and unit testsRetrieveFileCommand(BaseFileTransferDao dao, boolean renameOnSuccess, java.lang.String renameExtension, boolean moveOnSuccess, java.lang.String moveOnSuccessNewPath, boolean destructive)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoCommit()(non-Javadoc)protected voiddoRollback()(non-Javadoc)protected java.lang.StringexpandRenameExtension()java.lang.StringgetMoveNewPath()Get the new path a file is being moved to.java.lang.StringgetRenameExtension()Get the extension that we'rerenaming the file withjava.lang.StringgetSourcePath()Accessor method for source pathbooleanisDestructive()Do we delete the file on successful delivery?booleanisMoveOnSuccess()Do we move the file on successful delivery?booleanisRenameOnSuccess()Do we rename the file on successful delivery?protected voidparseTimestampFormat()protected org.ikasan.connector.base.command.ExecutionOutputperformExecute()(non-Javadoc)protected voidsetRenameExtension(java.lang.String renameExtension)Private setter used by Hibernatejava.lang.StringtoString()-
Methods inherited from class org.ikasan.connector.basefiletransfer.outbound.command.AbstractBaseFileTransferTransactionalResourceCommand
addListener, changeDirectory, deleteDir, deleteFile, doExecute, findFile, getClient, getContentAsStream, getFile, getFile, listDirectory, logFileList, notifyListeners, printWorkingDirectoryName, putFile, putWithOutputStream, renameFile
-
-
-
-
Field Detail
-
dao
protected BaseFileTransferDao dao
Data Access Object for Base File Transfer
-
sourcePath
protected java.lang.String sourcePath
The original source path of the file we are retrieving
-
renameOnSuccess
protected boolean renameOnSuccess
Rename the file on successful retrieval
-
renameExtension
protected java.lang.String renameExtension
Extension with which to rename successfully retrieved files As optional timestamp can be specified by using a pattern of /[dateFormat]/ in the renameExtension e.g. "/yyyyMMddHHmmss/.complete"
-
destructive
protected boolean destructive
Whether or not to destroy the file after we pick it up
-
renameTimestampExtensionPattern
protected java.util.regex.Pattern renameTimestampExtensionPattern
Pattern used in replacing a timestamp in a rename extension, for instance, captures /[dateFormat]/
-
-
Constructor Detail
-
RetrieveFileCommand
protected RetrieveFileCommand()
No args constructor required by Hibernate and unit tests
-
RetrieveFileCommand
public RetrieveFileCommand(BaseFileTransferDao dao, boolean renameOnSuccess, java.lang.String renameExtension, boolean moveOnSuccess, java.lang.String moveOnSuccessNewPath, boolean destructive)
Constructor- Parameters:
dao- hibernateDAOrenameOnSuccess- flagrenameExtension- to rename filemoveOnSuccess- flagmoveOnSuccessNewPath- to move filedestructive- flag
-
-
Method Detail
-
performExecute
protected org.ikasan.connector.base.command.ExecutionOutput performExecute() throws javax.resource.ResourceException(non-Javadoc)- Specified by:
performExecutein classAbstractBaseFileTransferTransactionalResourceCommand- Returns:
- ExecutionOutput
- Throws:
javax.resource.ResourceException- -- See Also:
AbstractBaseFileTransferTransactionalResourceCommand.performExecute()
-
doCommit
protected void doCommit() throws javax.resource.ResourceException(non-Javadoc)- Specified by:
doCommitin classorg.ikasan.connector.base.command.AbstractTransactionalResourceCommand- Throws:
javax.resource.ResourceException- See Also:
AbstractTransactionalResourceCommand.doCommit()
-
doRollback
protected void doRollback()
(non-Javadoc)- Specified by:
doRollbackin classorg.ikasan.connector.base.command.AbstractTransactionalResourceCommand- See Also:
AbstractTransactionalResourceCommand.doRollback()
-
expandRenameExtension
protected java.lang.String expandRenameExtension()
-
parseTimestampFormat
protected void parseTimestampFormat()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
getSourcePath
public java.lang.String getSourcePath()
Accessor method for source path- Returns:
- sourcePath
-
isRenameOnSuccess
public boolean isRenameOnSuccess()
Do we rename the file on successful delivery?- Returns:
- true if we rename, else false
-
getRenameExtension
public java.lang.String getRenameExtension()
Get the extension that we'rerenaming the file with- Returns:
- file extension for the renamed file
-
setRenameExtension
protected void setRenameExtension(java.lang.String renameExtension)
Private setter used by Hibernate- Parameters:
renameExtension- when renaming file
-
isDestructive
public boolean isDestructive()
Do we delete the file on successful delivery?- Returns:
- true if we delete, else false
-
isMoveOnSuccess
public boolean isMoveOnSuccess()
Do we move the file on successful delivery?- Returns:
- moveOnSuccess
-
getMoveNewPath
public java.lang.String getMoveNewPath()
Get the new path a file is being moved to.- Returns:
- moveNewPath
-
-