/** * Return a list of ClientListEntry objects * * @param directory The directory we are listing on * @return A list of ClientListEntry * @throws ResourceException - */ protected List<ClientListEntry> listDirectory(String directory) throws ResourceException { if(logger.isDebugEnabled()) { logger.debug("Listing directory [" + directory + "]"); //$NON-NLS-1$ //$NON-NLS-2$ } try { return getClient().ls(directory); } catch (ClientCommandLsException e) { logger.warn("Underlying File Transfer operation failed [LS]!", e); //$NON-NLS-1$ throw new ResourceException(e); } catch (URISyntaxException e) { logger.warn("An URI Syntax exception occurred!", e); //$NON-NLS-1$ throw new ResourceException(e); } }
public long getFileSize(String remoteDir, String fileName) throws ChunkableDataSourceException { List<ClientListEntry> entries = null; try { entries = getClient().ls(remoteDir + fileName); if (entries.size() != 1) { // We have failed to uniquely identify the file throw new ChunkableDataSourceException("Could not uniquely find file: [" //$NON-NLS-1$ + fileName + "], in remote dir: [" + remoteDir + "]"); //$NON-NLS-1$ //$NON-NLS-2$ } } catch (ClientCommandLsException e) { throw new ChunkableDataSourceException("Could not perform ls over file transfer for file: [" //$NON-NLS-1$ + fileName + "], in remote dir: [" + remoteDir + "]", e); //$NON-NLS-1$ //$NON-NLS-2$ } catch (URISyntaxException e) { throw new ChunkableDataSourceException("Could not perform ls over file transfer for file: [" //$NON-NLS-1$ + fileName + "], in remote dir:" + remoteDir + "]", e); //$NON-NLS-1$ //$NON-NLS-2$ } ClientListEntry lsEntry = entries.get(0); return lsEntry.getSize(); }